收藏|常用linux命令大全

1. 目錄和文件管理

1.1目錄相關

1.1.1 mkdir

功能說明:建立目錄

語 法:mkdir [-p]

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

Example :mkdirtestdir

mkdir -p newdir/childdir

1.1.2 rmdir

功能說明:刪除(空)目錄

補充說明:該命令只能刪除空目錄,若要刪除非空目錄,請使用rm –r dirname

語 法:rmdir [-p]

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

Example :rmdirtestdir

rmdir -p childdir

1.1.3 ls

功能說明:列出目錄內容

語 法:ls [-alhtr]

參 數:-a 顯示目錄下所有文件和目錄(顯示隱藏文件和目錄)。

-l 顯示文件/目錄詳細信息,每行顯示一個文件/目錄。

-h 文件大小按’K’,’M’,’G’,來顯示(需要加 -l 參數)。

-t 用文件和目錄的更改時間排序。

-r 反向排序

Example :ls -a dirname

ls -lh dirname

ls -ltr dirname

補充說明:ll 並不是linux 下的基本命令,實際上是ls–l 的一個別名(縮寫),別名可在~/.bashrc中使用alias定義,

如alias ll=’ls –l’

1.1.4 cd

功能說明:切換目錄

語 法:cd

Example :cd /path/dirname/

特殊例子:cd / 轉換到根目錄

cd ~ 轉換到家目錄(即/home/yourname/)

cd ../ 轉換到上一級目錄

cd - 轉換到上一次cd前所在的目錄

1.1.5 pwd

功能說明:顯示工作目錄絕對路徑

語 法:pwd

Example :pwd

特殊目錄的表示:

/ 根目錄

~ 家目錄

./ 當前目錄

../ 上一級目錄

特殊說明:linux 下以”.”開頭的文件名為隱藏文件,使用ls -a時才會顯示

1.2 文件處理

1.2.1 touch

功能說明:創建一個空文件或者更改文件修改時間

語 法:touch

Example :touchnewfile 創建一個名為newfile的空文件

1.2.2 cp

功能說明:複製文件或目錄

語 法:cp [-r] < destination file/dirname>

參 數:-r/-R 將一個目錄及目錄內所有文件複製到另一個目錄

Example :cp file1file2 將file1複製並重命名為file2

cp file1 file2 dirname/ 將file1,file2複製到一個目錄下

cp -r dir1 dir2 若dir2已存在,dir1複製到dir2下,若不存在,dir1複製並重命名為dir2

1.2.3 mv

功能說明:移動或更名現有的文件或目錄。

語 法:mv < destinationfile/dirname>

Example :mv file1file2 將file1重命名為file2

mv file1 file2 dirname/ 將file1,file2移動到dirname/目錄下

mv dir1 dir2 若目錄dir2已存在,dir1移動到dir2下,若dir2不存在,dir1移動並重命名為dir2

1.2.4 rm

功能說明:刪除目錄或文件

語 法:rm [-r]

參 數:-r/-R 刪除目錄和該目錄下的所有文件

Example :rm file1 [file2 …] 刪除file1[file2 …]

rm -r dir1 [dir2 …] 刪除dir1 [dir2 …] 目錄及目錄下所有文件

1.2.5 less

功能說明:查看文件內容

語 法:less [-SN]

參 數:-S 每行不顯示長於屏幕寬度的字符(默認顯示在下一行)

-N 顯示行號

Example :less -S file

less -SN file

補充說明:使用less 打開文件後,使用ctrl+u向上翻頁,ctrl+d向下翻頁,/pattern可以進行向下匹配查找,?pattern

可以進行向上匹配查找。使用“q”退出。

1.2.6 more

功能說明:顯示文件內容

語 法:more

Example :more file

補充說明:使用more 顯示文件內容後,使用空格鍵“space”向下翻頁,使用“q”退出

1.2.7 head

功能說明:顯示文件開頭部分

語 法:head [-n]

參 數:-n 顯示文件頭number行的內容(默認顯示頭10行)

Example :headfile 顯示file文件的頭10行的內容

head -n 100 file 顯示file文件頭100行的內容

1.2.8 tail

功能說明:顯示文件末尾部分

語 法:tail [-n]

參 數:-n 顯示文件末尾number行的內容(默認顯示末尾10行)

Example :tail file 顯示file文件的末尾10行的內容

tail -n 100 file 顯示file文件末尾100行的內容

1.2.9 cut

功能說明:顯示文件每行指定範圍的字符

語 法:cut [-cdf]

參 數:-c num1-num2,顯示每行從開頭算起第num1到num2的字符

-d 指定域分割符,默認“\t”

-f num1-num2,顯示每行從開頭算起第num1到num2的域

Example :cut -c 1-10 file 顯示文件file每行開頭的10個字符

cut -f 1-10 file 顯示文件file每行開頭10列(以“\t”分割)

cut -d “ ” -f 2 顯示文件file第二列(以空格分割)

1.2.10 cat

功能說明:將文件連接後顯示到標準輸出(或使用“>”重定向到其他文件)

語 法:cat [-n] [> newfile]

參 數:-n 在文件內容前加行號顯示

Example :catfile 將file文件的內容顯示到屏幕。

cat -n file > newfile 將file內容加行號後重定向到newfile中。

cat file1 file2 > newfile 將file1和file2的內容重定向到newfile。

cat file1 file2 >> file 將file1和file2的內容追加到file文件的末尾。

cat > file

new word

生成file文件並將“new word”添加到文件中。

1.2.11 ln

功能說明:鏈接目錄或文件

語 法:ln [-s]

[file/dirname]

參 數:-s 對目標文件進行符號鏈接而非硬鏈接

Example :ln -s file1 file2 將file1鏈接為file2(注:file2必須不存在)

ln -s file1 file2 dirname/ 將file1和file2鏈接到dirname/下

1.3 壓縮解壓縮

1.3.1 tar

功能說明:加入或還原備份文件內的文件

語 法:tar -f[cxzjv]

參 數:-f 必加參數

-c 創建備份文件

-x 從備份文件中還原文件

-z 調用gzip/gunzip來壓縮/解壓縮文件

-j 調用bzip2/bunzip2來壓縮/解壓縮文件

-v 顯示命令執行過程

Example :tar -cf newfile.tar file1 file2 將file1,file2文件打包到newfile.tar

tar -xf newfile.tar 提取newfile.tar中的文件

tar -czvf newfile.tar.gz file1 file2 將file1,file2文件打包並調用gzip程序將文件壓縮為newfile.tar.gz

tar -xzvf newfile.tar.gz 將newfile.tar.gz文件解壓並提取裡邊的文件

1.3.2 zip

功能說明:壓縮並生成“.zip”結尾的文件

語 法:zip [-1..9][-r]

參 數:-r 將子目錄下所有文件和目錄一併處理

-1..9 壓縮效率,數值越大,壓縮效率越高

Example :zipnewfile.zip file1 file2 將file1,file2進行壓縮到newfile.zip內

解壓方式:使用unzip進行解壓,unzip newfile.zip

1.3.3 gzip

功能說明:壓縮並生成“.gz”結尾的文件

語 法:gzip [-1..9][-r]

參 數:-r 對目錄下的文件進行壓縮,但不會對目錄進行壓縮

-1..9 壓縮效率,數值越大,壓縮效率越高(默認6)

Example :gzip file 將file壓縮為file.gz並刪除源文件

解壓方式:使用gunzip進行解壓,gunzip file.gz

1.3.4 bzip2

功能說明:壓縮並生成“.bz2”結尾的文件

語 法:bzip2

Example :bzip2 file 將file壓縮為file.bz2並刪除源文件

解壓方式:使用bunzip2進行解壓,bunzip2file.bz2

1.4數據統計與處理

1.4.1 sort

功能說明:將文本文件內容進行排序

語 法:sort [-nkr]

參 數:-n/-g 將文件按數值大小從小到大排序(默認按ascii碼從小到大排序)

-k 按第num列內容對文件排序(默認按第一列)

-r 反向排序

Example :sort file 對file文件按第一列內容ascii碼值從小到大排序並輸出。

sort -n -k 3 file 對file文件按第3列內容數值大小從小到大排序。

sort -nr -k1,2 file 對file文件按數值大小反向排序,優先考慮第一列,再考慮第二列

1.4.2 uniq

功能說明:合併文件中相鄰的相同的行

語 法:uniq [-cd] [outfile]

參 數:-c 在每行第一列顯示該行重複次數

-d 僅顯示有重複的行

Example :uniq -c file 合併相同的行,並統計每行重複次數,輸出到屏幕

uniq -d file outfile 合併相同的行,並顯示file中有重複出現的行,輸出到outfile文件中

1.4.3 wc

功能說明:統計文件中字節數

語 法:wc [-cwl]

參 數:-c 只統計字節數/Bytes數

-w 只統計字數(單詞數)

-l 只統計行數

Example :wcfile 顯示文件file的字節數,字數,行數

wc -l file 顯示文件file的行數

1.4.4 grep

功能說明:查找文件中符合條件的行

語 法:grep [-v]

參 數:-v 不匹配,顯示文件中不匹配string的行

Example :grep world file 查找文件中含有“world”的行

grep -v world file 查找文件中不含有“world”的行

1.4.5 awk

功能說明:對特定的行中特定的列進行操作

語 法:awk [-F] ‘(condition){operate}’

參 數:-F 指定列的分割符,可以使任意字符,默認按空白分割

Example :awk -F “:” ‘{print $1}’ 按“:”來分割並打印出第一列

awk ‘($1 > 100){print $0}’ 對第一列大於100的行整行輸出

awk ‘($1 > 100){print $1”\t”$2}’ 對第一列大於100的行輸出第一列和第二列的結果並以“\t”分割。

awk ‘($3~/world/){ x+= $1}END{print x}’ 對第三列匹配“world”的行的第一列求和,全部處理完之後輸

出結果x的值

1.4.6 sed

功能說明:文本處理並可對文件進行編輯

語 法:sed [-i] '{command}'

參 數:-i 直接在原文件中修改(默認修改後屏幕輸出,原文件不變)

Example :sed -i ‘s/test/new_word/’ file 將file文件中的test字符替換為new_word

sed -i ‘/pattern/ s/ test/new_word/’ file 將file文件中匹配pattern字串的行進行替換操作

sed -i ‘/^$/ d’ file 將文件file中的空白行刪除(d)

1.5.1 md5sum

功能說明:驗證文件傳輸的完整性

語 法:md5sum [-c]

參 數:-c 校驗文件傳輸後是否完整

Example :md5sumfile1 對file1文件生成md5值。

md5sum file1 > newfile 對file1文件生成md5值並重定向到newfile中。

md5sum -c newfile 檢驗newfile中文件的md5值是否和文件一致。

1.5.2 chmod

功能說明:設置文件或目錄權限

語 法:chmod [-R]

參 數:-R 對目錄和目錄下所有文件均設置權限

詳細說明:文件權限分為是否可讀(r)、是否可寫(w)、是否可執行(x)3種,同時對應檔案擁有者(u)、同組成員(g)、其

他成員(o)3種。mode分為符號模式和數值模式。

符號模式:[ugoa] [+-=] [rwx]

數值模式:用1/0表示,則111表示可讀可寫可執行,000表示不可讀不可寫不可執行,可讀可寫可執行

分別對應10進制的4,2,1,則5表示可讀不可寫可執行。

Example :chmod u+xg=rx o-rwx file 對file 文件用戶自身增加可執行權限,同組成員權限設置為可讀可寫,

對其他成員移除rwx權限。

chmod a-w file 對file文件所有成員移除可寫權限。

chmod -R 750 dirname 對dirname目錄及其下所有文件權限設置為用戶自身可讀可寫可執行,同組

成員可讀可執行,其他成員無權限。

1.5.3 find

功能說明:查找文件

語 法:find [path] [expression]

詳細說明:path 在path路徑下進行查找

expression 查找模式,常用的有

-name 按文件名查找(文件名允許通配符)

-perm 按文件權限查找

-user 按文件所有者查找

-group 按文件所在組查找

-mtime 按文件更改時間查找,-n表示更改時間距現在n天以內,+n表示距現

在n天以外

-type 按文件類型查找,l:符號鏈接文件,f:普通文件,d:目錄文件

Example :find./ -name file 在當前目錄及其子目錄下查找文件名為file的文件

find ./ -name ‘*a’ -type d 尋找文件名以a結尾的目錄文件。

1.5.4 du

功能說明:顯示目錄或文件的大小

語 法:du [-ash] [--max-depth=]

參 數:-a 顯示目錄中個別文件大小

-s 只顯示總計

-h 以“K” ,“M” ,“G”為單位顯示

--max-depth= 只顯示n層目錄以內的文件

Example :du -sh ./ 顯示當前目錄的大小

du -ah --max-depth=1 dir 顯示dir目錄下所有文件大小,不包括下一級目錄

2 進程管理

2.1進程查看

2.1.1ps

功能說明:顯示用戶進程

語 法:ps x [-u ]

參 數:-u 顯示usr用戶的進程(默認顯示自身用戶進程)

Example :ps x

2.1.2top

功能說明:顯示用戶進程(實時)

語 法:top [-bcdu]

參 數:-b 批處理模式,可以將top內容重定向到文件中

-c 顯示詳細信息

-d 刷新時間間隔,n秒刷新一次

-u 只顯示usr用戶的進程

Example :top

top -c -u usr

2.1.3jobs

功能說明:顯示後臺任務(當前節點,當前窗口)

語 法:jobs [-l]

參 數:-l 顯示任務進程ID

Example :jobs

jobs -l

2.2進程控制

2.2.1 kill

功能說明:刪除或控制執行中的進程

語 法:kill [-num] [-l]

參 數:-num 通過num傳遞一個信號控制進程(默認15,終止進程),常用值如下

-9 強制刪除進程

-19 暫停一個進程(使之處於T狀態)

-18 繼續暫停的進程

-l 顯示信號列表

Example :kill28004 終止進程號為28004的進程

kill -9 28004 強制刪除進程號為28004的進程

kill -19 28004 暫停進程號為28004的進程

kill -18 28004 繼續進程號為28004的進程

kill -l 顯示信號列表

2.2.2 fg

功能說明:將後臺進程轉換到前臺

語 法:fg [%num]

參 數:%num 將編號為num的後臺任務轉換到前臺,num由jobs 命令得到。

Example :fg 將最近的一個轉後臺的任務轉為前臺

fg %2 將編號為2的後臺任務轉到前臺

2.2.3 bg

功能說明:將前臺任務轉為後臺(需先用ctrl+z暫停任務),或者繼續後臺暫停的任務

語 法:bg [%num]

參 數:%num 將編號為num的後臺暫停任務繼續。

Example :ctrl+z, bg

bg %2 將編號為2的後臺暫停任務繼續。

3.其他

3.1 history

功能說明:查詢該節點上執行過的歷史命令

語 法:history

Example :history

3.2 nohup

功能說明:加到命令前使得該命令在用戶退出登錄後也能繼續執行

特殊說明:一般與轉後臺’&’一起使用,屏幕輸出默認重定向到nohup.out文件中

Example :nohup perl test.pl &

3.3 轉後臺 &

功能說明:加到命令結尾,使該命令在後臺運行

Example :cp file1file2 & 後臺執行拷貝命令

3.4 重定向 >

功能說明:將標準輸出內容重定向到文件中

相關符號:>> 表示將內容追加到文件末尾。

Example :ls dir > dir_list 顯示dir目錄下的文件並將內容輸出到dir_list文件中,若dir_list文件存在,則會被清

空,若不純在,將創建。

ls dir >> dir_list 顯示dir目錄下的文件並將內容追加到dir_list文件中,若dir_list文件存在,內容追

加到文件末尾,若不純在,將創建。

3.5 管道符 |

功能說明:將”|”前一部分的輸出作為”|”後一部分的輸入

語 法:command1 | command2

Example :less file1| grep world | awk ‘{print $1}’ 顯示file1的內容,將帶有world的行輸出,打印該行的第一列

每天會更新論文和視頻,還有如果想學習c++知識在晚上8.00免費觀看這個直播:https://ke.qq.com/course/131973#tuin=b52b9a80


分享到:


相關文章: