linux命令大全

2017.03,入門開始

linux下文件的顏色含義:

綠色:可執行文件

紅色:壓縮文件

深藍色:目錄

淺藍色:鏈接文件

灰色:其他的一些文件


命令介紹部分參考來自: http://man.linuxde.net/grep

分類參考:http://www.cnblogs.com/xlmeng1988/archive/2013/01/08/linux_command.html


重要的事情說在前頭,命令多,選項更多,是無法全部記住了,所以要學會查詢幫助文檔--man。

man <命令>:就可以查看命令的相關說明文檔。從命令的介紹到命令的參數、用法都非常詳細。


1、目錄/路徑相關

pwd(print work directory):顯示當前目錄所在的路徑(顯示的是連接路徑)

pwd -P 顯示當前目錄的物理路徑。(如當前目錄是軟鏈,則顯示原文件路徑。否則pwd -P將等於pwd)

pwd -L顯示當前目錄的鏈接路徑。(-L選項,是默認選項)

ls(List):列出當前目錄下的文件和目錄(沒有詳細信息)。ls (選項) (參數)

ls -l:(單列格式)列出了文件夾大小、讀寫權限、文件屬主、大小、修改日期、時間、文件/目錄的名字

total 10,標示當前目錄下文件大小的總和爲10k。

drwx------ 2 root root 4096 Sep  8  2016 temp

drwx------,權限信息:

第一個字符:‘-’表示普通文件,‘d’代表目錄,‘l’代表鏈接,‘b’代表設備文件。

後面9個字符每3個爲一組,分別代表文件所有者、文件所有者所在用戶組、其他用戶對文件擁有的權限:rwx分別代表讀、寫、執行的權限,‘-’表示沒有該權限

數字2,代表該目錄下的目錄文件數目(包括隱藏文件)

root,代表這個文件(目錄)的屬主爲用戶root

root,代表這個文件(目錄)所屬的用戶組爲 組root

4096,代表文件的大小(字節數)

Sep 8 2016,文件(目錄)的修改時間

temp,文件(目錄)名。

ls -a:列出所有文件,包含隱藏文件。ls -al可查看所有文件及詳情。(以‘.’開頭的是隱藏文件,以‘..’代表存在着父目錄)

ls -A:顯示除‘.’和“..”以外的所有文件列表。

ls -F:在每個輸出項後追加文件的類型標識符。“*”具有可執行權限的文件目錄,“/”目錄,“@”符號鏈接,“|”命令管道FIFO,“=”sockets套接字。

ls -ltc:按照文件狀態時間排序輸出目錄內容。-t是用文件和目錄的更改時間排序。

ls -kl:以kb(千字節)爲單位顯示文件大小。

ls -hl:易讀性,大小顯示單位。

cd(change directory):用來切換當前目錄。

cd ~:等同於cd。進入用戶主目錄,~表示home directory。cd /:切換到根目錄。

cd -:返回進入此目錄之前所在的目錄

cd ..:返回上級目錄,若沒有上級目錄,則不變。cd ../..:返回上兩級目錄。

cd -P:如果要切換到的目標是一個符號鏈接,直接切換到符號鏈接指向的目標目錄。

mkdir:用來創建目錄。若要創建多個目錄,用空格隔開。

mkdir -m<目標屬性>:或--mode<目標屬性>,代表在目錄的同時設置目錄的權限。mkdir -m 700 /usr/test    建test文件目錄,且只有文件主有rwx權限,其他人無權訪問

mkdir -p:或--parents,若所要建立目錄的上層目錄目前尚未建立,則會一併建立上層目錄。

mv:(對文件或目錄)重命名,或移動文件或文件組到另一個目錄。 mv source target

1.如果target是目錄,則source會被移動到該目錄下,且文件名不變。

2.如果target不是目錄,則source(只能有一個)的名稱會變爲該target名稱(若有同名文件,會覆蓋)。如果source和target是同一個目錄下,mv就是重命名。

mv -b:當文件存在時,覆蓋前,爲其創建一個備份。

mv -i:交互式操作。

mv -f:若目標文件或目錄與現有的文件或目錄重複,則直接覆蓋現有的文件或目錄。

rm:刪除一個目錄中的一個或多個文件/目錄。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。注意:rm命令不可恢復。多個目錄,用空格隔開。

rm -f:強制刪除 文件或目錄

rm -i:刪除已有文件或目錄之前先詢問用戶(交互式刪除)

rm -r:或-R,遞歸處理,將指定目錄下的所有文件與子目錄一併處理。(刪除目錄,一定要帶上-r或-R)

rm -v:顯示指令的詳細執行過程。

rmdir:刪除空目錄。可以從一個目錄中刪除一個或多個空的子目錄。刪除目錄時,必須具有對其父目錄的寫權限。

當目錄不再被使用時,或者磁盤空間已到達使用限定值,就需要刪除失去使用價值的目錄。

rmdir -p:刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除

chmod:更改文件或目錄的權限。

u=user,文件或目錄的擁有者。g=group,文件或目錄的所屬羣組。o=other,出擁有者和所屬羣組之外的其他用戶。a=all,全部用戶。

r,讀取權限,數字‘4’。w寫入權限,數字代號爲‘2’。x執行或切換權限,數字‘1’。-無任何權限,代號‘0’。chmod 777 name,即全部用戶授權rwx。

chmod u=rw,g=rwx,o=--- test2,給test2修改權限(效果同:chmod 570 test2)。chmod u+rw,g+rwx test2,給test2添加權限。

file:探測給定文件的類型。file命令對文件的檢查分爲文件系統、魔法幻術檢查和語言檢查3個過程(此處不明白)。

tree:以樹狀圖列出目錄的內容(包括子目錄)。

需先安裝tree,否則會提示找不到命令。-bash: tree: command not found。安裝:yum install tree -y。

2、文件

cp:複製一個或多個 源文件或目錄到目標文件或目錄。

cp -d:若複製符號連接,則目標文件或目錄也建立爲符號連接。

cp -i:交互性,覆蓋之前先詢問用戶。

cp -s:對源文件建立符號連接,而非複製文件。

cp -b:覆蓋已存在的文件目標前將目標文件備份。

cp -r/R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理。 cp  -r  /usr/test  /usr/zh複製文件及子目錄

touch:若文件已存在,則把該文件的時間標籤更新爲系統當前時間;文件不存在則創建新的空文件。

touch -d <時間日期>:使用指定的日期時間,而非現在的時間。

find:在指定目錄下查找文件。

find -name:指定字符串作爲尋找文件或目錄的範本樣式。-iname忽略大小寫。-lname,指定字符串是查找符號連接的範本樣式。

find /home -name "*.txt",在/home目錄下查找以.txt結尾的文件名。find /home ! -name "*.txt",找出/home下不是以.txt結尾的文件。

find -regex:基於正則表達式匹配文件路徑。find . -regex ".*\(\.txt\|\.pdf\)$"     當前目錄及子目錄下,查找所有以.txt和.pdf結尾的文件。

find . -name "*.txt" -o -name "*.pdf"     或    find . \( -name "*.txt" -o -name "*.pdf" \)

locate:用來查找文件或目錄。是find -name的另一種寫法,但比後者快,因locate不搜索具體目錄,而是搜索一個數據庫/var/lib/locatedb。

linux系統自動創建這個數據庫/var/lib/locatedb,每天自動更新一次,所以locate命令查不到最新變動過的文件。(可以手動更新,用updatedb命令)

若在執行locate是出現錯誤提示:locate: can not stat (),需要先執行updatedb,再執行locate即可。

locate /etc/sh:搜索etc目錄下所有以sh開頭的文件。locate -i ~/m:搜索主目錄下,(忽略大小寫)所有以m開頭的文件。

ln:爲文件創建連接。連接類型分硬連接(默認類型)和符號連接(需使用-s選項)兩種。

ln -s source filename:創建source文件的軟連接target。

硬連接:連接文件與源文件沒有主次之分,文件系統中他們都和同一個inode相關聯,即一個文件就等級在多個目錄中。(不能對文件做硬連接,且硬連接必須在相同的文件系統中)。

軟連接(符號連接):類似於windows中的快捷方式,內部保存的是源文件的路徑。(沒有硬連接的以上限制)

which:用於查找並顯示給定命令的絕對路徑。which會在環境變量$PATH設置的目錄裏查找符合條件的文件。

使用which命令,可以看到某個系統命令是否存在,以及執行的是哪個位置的命令。

which pwd:查詢pwd命令的路徑。

whereis:用來定位指令的二進制程序、源代碼文件和man手冊頁等相關文件的路徑。只能用於程序名的搜索。

whereis tomcat,返回tomcat: ,則tomcat未安裝。whereis svn有返回相關文件,即svn已安裝。

stat:用於顯示文件的狀態信息,stat的輸出信息比ls的更詳細。

stat -L:支持符號連接。stat -f:顯示文件系統狀態而非文件狀態。stat -t:以簡潔方式輸出信息。

3、顯示數據和選擇數據

cat:顯示文件的內容。

cat -n:或-number,顯示行號。

cat m1:在屏幕上顯示文件m1的內容。

cat m1 m2:同事顯示文件m1和m2的內容。

cat m1 m2 > file:將文件m1和m2合併後放入文件file中。

echo:在shell中打印shell變量的值,或直接輸出指定的字符串。

echo $PATH:在屏幕上打印出變量PATH的值。

echo "hello":在屏幕上打印“hello”字符串。

head:用於顯示文件的開頭的內容。默認是頭10行內容。

head -n<數字>:指定顯示頭部內容的行數。

head -c<字符字>:指定顯示頭部內容的字符數

tail:用於輸入文件中的尾部內容。默認文件末位10行。如果給定的文件不止一個,則在顯示的每個文件前面加一個文件名標題。

tail -c<數字>:輸出文件尾部的指定字符數的內容。tail -c 10 file:顯示文件file的最後10個字符。

tail -f:顯示文件最新追加的內容。

tail -n<數字>:輸出文件的尾部指定行數的內容。

tail file:顯示文件file的最後10行。效果同:tail -n10 file。

tail +20 file:顯示文件file的內容,從第20行到文件末尾

more:基於vi編輯器的文本過濾器,以全屏幕的方式按頁顯示文本文件的內容,支持vi的關鍵字定位。

快捷鍵:H獲取幫助;enter向下一行;‘空格’向下一屏,B上一屏;Q退出命令。

more -<數字>:指定每屏顯示的行數。

more -c:不進行滾屏操作。每次刷新這個屏幕。

more -d:顯示快捷鍵的提示。(空格和q)

more +<數字>:從指定數字的行開始顯示。

more -c -10 file:每10行顯示一屏,且在顯示之前先清屏。

less:與more相似,用來瀏覽文本文件的內容。但less允許前或後瀏覽,more只能向前瀏覽。

快捷鍵:pageup向上翻頁,pagedown向下翻頁,q退出。

less -N:顯示行號。

4、編輯

sed

vi或vim:vi編輯器支持編輯模式(文本編輯功能)和命令模式(文件操作命令)。

模式切換:編輯-->命令:‘esc’鍵;命令-->編輯:A/O/I的大小寫均可。

三種工作方式:命令方式、輸入方式、ex轉義方式(以冒號“:”進入ex轉義模式)。

(命令模式下)常用內置命令:

翻屏:ctrl+u向後(文件首)翻半屏;ctrl+d向前半屏;ctrl+f向後一屏;ctrl+b向前一屏。

光標跳轉:

:<數字>:光標跳轉到指定行的行首。

:$::光標跳轉到最後一行的行首。

刪除行:

dd:刪除光標行整行的內容。

ndd:刪除當前行及其後n-1行(即從光標行開始,共刪n行)。

查找字符串:

/<字符串>:文本查找操作,從光標行往後查找。

?<字符串>:文本查找操作,從光標行往前查找。

添加文本:

a:在當前字符後添加文本。i:在當前字符前插入文本。o:在當前行後面插入一行空行。

A:在行末添加文本。I:在行首添加文本。O:在當前行前面插入一空行。

ex編輯命令:

:wq:存盤退出。:w:存盤。:w!:強制存盤。

:q:退出vi操作。:q!:強行退出vi操作。

:set number:顯示行號。:set nonumber:不顯示行號



grep:全面搜索正則表達式並把行打印出來,是一種強大的文本搜索工具。

grep "key" file1 file2:在file文件中搜索key關鍵字,返回含有key關鍵字的文本行。支持在多個文件中查找。

grep -v "key" file --color=auto:-v 是輸出除之外的所有行。這裏是出含有關鍵字key的文本行以外的文本。--color=auto是標記匹配顏色。

grep -A<顯示列數>:除了顯示符合範本樣式的那一行之外,顯示改行之後指定行數的內容。-C<顯示列數>:也顯示該列前後指定行的內容。

grep -c:計算符合範本樣式的列數。返回一個數量

grep -E:範本樣式能使用正則表達式匹配。grep -E "[1-9]+"或egrep "[1-9]+"。echo this is a text line | grep -e "is" -e "line" -o

grep -i:忽略字符大小寫。

grep -n:在行首顯示編號。返回帶有行號的文本行。

grep -o:只輸出文件中匹配到的部分。echo the last word is 'HELLO'. | grep -o -E "[A-Z]+\."  返回 HELLO.

grep -r:在多級目錄中對文本進行遞歸搜索。grep “test ” . -r -n,當前目錄下搜索

grep靜默輸出:grep -q "key" file,如果命令成功返回0,失敗返回非0,一般用於條件測試。

常用:1)測試命令grep -q;2)看行數grep -c;3)顯示內容grep -E -n --color=auto,目錄加-r。

5、進程與作業控制

ps:當前系統的進程狀態。

ps -A:顯示所有程序。返回:pid tty time cmd。效果同:ps -e。

ps -f:顯示UID/PPIP/C/STIME。ps -c:顯示CLS/PRI欄位。

還有很多其他選項。常用法:ps -ef | grep tomcat

kill:刪除執行中的程序或工作。先用ps查看進程號,再kill 進程號

kill -p:指定kill命令只打印相關進程的進程號,而不發送任何信號。

jobs:顯示linux的任務列表和任務狀態(包括後臺運行的任務)。任務號、進程號、任務狀態

jobs -l:顯示當前系統的任務列表,顯示進程號。先啓動任務find / -name password &,再jobs -l可看到返回running的任務編號、進程號、運行狀態、啓動任務的命令

jobs -s:僅輸出停止狀態stoped的任務。jobs -r:僅輸出運行狀態running的任務。

常用:jobs -lr

bg:用於將作業放到後臺執行。效果與在指令後面添加符號&的效果一樣。

bg <任務編號>:將任務放到後臺執行,將暫停的後臺任務執行,變成繼續執行。

fg:用於將後臺作業放到前臺終端運行。與bg一樣,若後臺任務只有一個,則可省略任務號。

fg <任務編號>:將任務放到前臺執行。啓動任務find / -name password &,jobs -l查看編號,fb 1放到前臺執行,ctrl+z放到後臺並暫停(stoped狀態),bg 1繼續在後臺執行。

6、其他

df:查看磁盤分區。文件系統、容量、已用、可用、已用%、掛載點

df -h:將容量等顯示單位,增加易讀性。

df -T:增加顯示分區的類型。



---------------待補充--------------




文檔資料

apropos

info

man

whatis

xman


文件系統

df

dumpe2fs

mount

umount


選擇數據

cut

look

strings


top:可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。

實例 

top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92 Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached 

解釋:

 top - 09:44:56[當前系統時間], 

16 days[系統已經運行了16天],

 1 user[個用戶當前登錄],

 load average: 9.59, 4.75, 1.92[系統負載,即任務隊列的平均長度]

 Tasks: 145 total[總進程數], 

2 running[正在運行的進程數], 

143 sleeping[睡眠的進程數], 

0 stopped[停止的進程數], 

0 zombie[凍結進程數], 

Cpu(s): 99.8%us[用戶空間佔用CPU百分比], 0.1%sy[內核空間佔用CPU百分比], 0.0%ni[用戶進程空間內改變過優先級的進程佔用CPU百分比], 0.2%id[空閒CPU百分比], 0.0%wa[等待輸入輸出的CPU時間百分比], 0.0%hi[], 0.0%st[], 

Mem: 4147888k total[物理內存總量], 2493092k used[使用的物理內存總量], 1654796k free[空閒內存總量], 158188k buffers[用作內核緩存的內存量] 

Swap:  5144568k total[交換區總量], 56k used[使用的交換區總量], 5144512k free[空閒交換區總量], 2013180k cached[緩衝的交換區總量]








---------------待補充--------------



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章