Linux常用命令
登入系統
登入後的提示符:
~代表「用戶家目錄」的意思。 root的家目錄在/root, kif的家目錄在/home/kif 。 默認root 的提示字元為# ,而一般身份用戶的提示字元為$。 n
Linux Terminal --> ssh ssh username@192.168.4.101
用戶
Linux 是一個多用戶多任務操作系統。n可以根據用戶劃分許可權。n使用者標識符: UID和GID
一般不建議直接使用root 用戶
Linux文件系統 n
- 目錄用「/」表示分級
- 單獨的「/」表示根目錄
- .** 為隱藏文件或目錄
- . 表示當前目錄,一般可省略
- .. 表示上一級目錄
- 文件不一定需要擴展名
- 基本文件類型有七種
- 第一個字元代表這個檔案是『目錄、檔案或鏈接文件等等』
- 當為[ d ]則是目錄
- 當為[ - ]則是檔案n當
- 為[ l ]則表示為鏈接檔(link file)
- 當為[ b ]則表示為塊設備文件,例如硬碟,光碟
- 當為[ c ]則表示為字元設備文件,例如鍵盤、滑鼠
- 當為[ p ]則表示為命令管道文件
- 當為[ s ]則表示為是sock文件
Linux文件許可權
文件屬主、屬組及文件許可權位
- 文件與路徑
- 絕對路徑與相對路徑
- 絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱, 例如 「/home/dmtsai/.bashrc 」
- 相對路徑:相對於當前路徑的文件名寫法。 例如 「./home/dmtsai」 或「../../home/dmtsai/」 等
- 如果是寫程序(shell scripts) ,一般推薦使用絕對路徑的寫n法n
個人空間
- /home/username
- 每個用戶的個人空間擁有最高許可權 ,只能在家目錄下創建和刪除文件
Linux命令行
Linux命令行的基本格式包括三部分:n 命令名 命令選項 命令參數
ls
- 作用:列出文件或目錄
- ls -a:列出所有文件,包括隱藏文件
- ls -l :列出文件的詳細信息
- -rw-r--r-- 1 liug liug 124 Apr 5 10:27 .bashrc
- -F:在文件後加上類型標識
- 「/」 :目錄
- 「@」:鏈接
- 「*」 :可執行文件
文件移動
- cp (copy)n
- cp file pathn
- cp file1 file2n
- cp file1 path/file2
- cp –r filedir path/newfiledir
- mv (move)n
- mv path1/file path2/filen
- mv file1 file2
- rm (remove)n
- rm [options] file1 file2n
- 常用參數:n
- -i 刪除前詢問是否真的刪除n
- -f 刪除前不返回任何警告信息,直接刪除n
- -r 遞歸式刪除,可以刪掉整個目錄
- 注意: rm刪除的文件不能恢復,一定要慎用,尤其是-f參數。例如「 rm -rf * 」這樣很容易造成誤刪的命令應該盡量避免使用。
目錄操作
mkdir 創建目錄pwd 顯示當前路徑
cd 前往其他路徑n
- . 當前目錄n
- .. 上一級目錄n
- / 根目錄n
- ~ 家目錄
文件查看
- cat :顯示文檔的所有內容,往往與重定向配合使用,將多個文檔串聯起來。
- more:分屏顯示文件內容。顯示過程中按「enter」顯示下一行;按「space」顯示下一頁;按「b」鍵顯示上一頁;按「/」鍵可以執行查找功能;按「q」鍵退出。
- less -S:分列顯示,通過左右鍵移屏。
- head -n file:顯示頭幾行,n默認為10。
- tail -n file: 顯示文件末尾幾行,n默認為10。
- grep 「keyword」 file:顯示帶有關鍵字的行。
統計命令
wc 統計文件的位元組數、字數、行數
du 文件大小統計
- du -sh dir
df 磁碟空間統計
- df -h
cut
cut:按指定條件從文件的每一行提取字元、欄位
- -b: 選擇的位元組
- d:自定義分隔符
- -f:與-d一起使用,指定顯示區域 n
sort
sort:將文本文件內容進行排序
- n:按照數值大小進行排序
- -r:相反的順序排序
- -t:指定分隔符
- -k:指定區域 n
uniq
uniq:處理重複行,n不加任何參數,去除重複行
- -c:顯示每行連續出現的次數
- -d:僅顯示連續重複出現的行
- -u:僅顯示沒有連續出現的行 n
awk
AWK是一種用於處理文本的編程語言工具
awk默認域分隔符:
- 空格或Tab;$0則表示所有域,$1表示第一個域,$n表示第n個域
-F:指定分隔符
簡單的if判斷 n進程式控制制 n
topn
- top -u user 只顯示某一帳號的進程
psn ps -ef
- 顯示所有帳號的進程詳細列表nkilln
kill -9
- pid(kill -KILL pid)
bg/fgn
- 將正在運行的命令轉後台或者前台
qdel jobIDn----刪除某個任務
qdel -u usernamen------刪除某個用戶的所有任務
qmod -s jobID ----------掛起某個任務 qmod -us jobID--------n繼續運行某個掛起的任務n更改文件屬性
chmod
- chmod nnn file(s) n從0到7,用戶、組成員、其他
- 0 :無任何許可權
- 1 :可執行
- 2 :可寫
- 4 :可讀
- chmod aob file(s)
- a :u g o
- o :+ - =
- b :r w x
eg:
- chmod 700 file 將文件的許可權改成用戶有所有許可權,其他人沒有許可權
- chmod g+rw file 增加文件組內可讀寫的許可權
- chmod o=rx file 更改文件的許可權,使其他用戶可讀可執行
chown
- chown UID:GID files
壓縮和解壓縮 n
gzip (gunzip) ->.gz
tar
- -f 必加參數
- -c 創建備份文件
- -x 從備份文件中還原文件
- -z 調用 gzip/gunzip 來壓縮/解壓縮文件
- -j 調用 bzip2/bunzip2 來壓縮/解壓縮文件
- -v 顯示命令執行過程n
- tar -zcvf file.tar.gz file 壓縮為file.tar.gz
- tar -jcvf file.tar.bz2 file 壓縮為file.tar.bz2n
- tar -zxvf file.tar.gz 解壓file.tar.gzn
- tar -jxvf file.tar.bz2 解壓file.tar.bz2
特殊符號---流處理
流處理
- 從鍵盤輸入給 Shell 或命令的字元串,命令返回的輸出,都可以認為是由字元組成的字元流(streams of characters)
- 程序是按行(line)來處理這些字元流的,在字元流中,用字元 n 分割成行
<:將文件內容作為標準屏幕輸入反饋給命令行。
|:管道符,將左邊命令的標準輸出傳遞給右邊命令作為其標準輸入。
>:重定向。可以將字元流進行重定向,要麼重定向到指定文件,要麼重定向到程序輸入 (使用 > 或 >> 將程序輸出重定向指定文件)
&:後台符,將一個命令直接放到後台運行。 eg: $ blastall -p blastn -i query -d nr -o result & jobs查看運行情況,轉到前台用命令fg %num
nohup:不掛斷的運行命令,與&配合使用,運行的程序可以在終端關閉後繼續運行,所有輸出重定向到nohup.out文件中。 n
其他命令
find dir -name file
- -amin n 查找系統中最後n分鐘訪問的文件
- -atime n 查找系統中最後n天訪問的文件
- -cmin n 查找系統中最後n分鐘被改變的文件
- -ctime n 查找系統中最後n天被改變狀態的文件
- -empty 查找系統中空白的文件或目錄
ln [source] [file or dir]
- -s 對源文件建立符號連接。
- -i 覆蓋既有文件之前先詢問用戶。 n
su user 改變用戶
- su - user
asswd 改變密碼
history 顯示操作歷史記錄
幫助
man ( manual )
- man 就是用來讓使用者在使用時查詢指令、系統呼叫、標準程序庫函數、各種表格等的使用方法的。
man 的用法如下:
- man 命令(想要查詢的命令)
- eg:$man ls
Ctrl+f 後翻一頁
Ctrl+B 前翻一頁
q 離開
最常用的十個
les
less
scp
ssh
cd
cd..
vim
推薦閱讀:
※System V 共享內存 原理 疑惑求解?
※Linux下用戶空間的可執行程序代碼段、數據段以及堆棧空間可否安置在hugepage中?
※學習linux大致分哪些步驟?
※在學習linux下的C編程,想下載一些linux下的程序源碼研究學習,應該去哪獲得?
※自我組建殭屍網路的Linux木馬
TAG:Linux |