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]
參 數:-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
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
Example :headfile 顯示file文件的頭10行的內容
head -n 100 file 顯示file文件頭100行的內容
1.2.8 tail
功能說明:顯示文件末尾部分
語 法:tail [-n]
參 數:-n
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]
參 數:-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]
參 數:-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
-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]
參 數:-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
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=
Example :du -sh ./ 顯示當前目錄的大小
du -ah --max-depth=1 dir 顯示dir目錄下所有文件大小,不包括下一級目錄
2 進程管理
2.1進程查看
2.1.1ps
功能說明:顯示用戶進程
語 法:ps x [-u
參 數:-u
Example :ps x
2.1.2top
功能說明:顯示用戶進程(實時)
語 法:top [-bcdu]
參 數:-b 批處理模式,可以將top內容重定向到文件中
-c 顯示詳細信息
-d
-u
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]
參 數:-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
閱讀更多 IT布丁老師 的文章