2018--Linux命令总结整理复习版
一、ls命令:
用來顯示目標(biāo)列表,在Linux中是使用率較高的命令。ls命令的輸出信息可以進(jìn)行彩色加亮顯示,以分區(qū)不同類型的文件。
-a:顯示所有檔案及目錄(ls內(nèi)定將檔案名或目錄名稱為“.”的視為影藏,不會(huì)列出);
-A:顯示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列顯示輸出結(jié)果。這是默認(rèn)選項(xiàng);
-l:與“-C”選項(xiàng)功能相反,所有輸出信息用單列格式輸出,不輸出為多列;
-F:在每個(gè)輸出項(xiàng)后追加文件的類型標(biāo)識符,具體含義:“*”表示具有可執(zhí)行權(quán)限的普通文件,“/”表示目錄,“@”表示符號鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當(dāng)文件為普通文件時(shí),不輸出任何標(biāo)識符;
-b:將文件中的不可輸出的字符以反斜線“”加字符編碼的方式輸出;
-c:與“-lt”選項(xiàng)連用時(shí),按照文件狀態(tài)時(shí)間排序輸出目錄內(nèi)容,排序的依據(jù)是文件的索引節(jié)點(diǎn)中的ctime字段。與“-l”選項(xiàng)連用時(shí),則排序的一句是文件的狀態(tài)改變時(shí)間;
-d:僅顯示目錄名,而不顯示目錄下的內(nèi)容列表。顯示符號鏈接文件本身,而不顯示其所指向的目錄列表;
-f:此參數(shù)的效果和同時(shí)指定“aU”參數(shù)相同,并關(guān)閉“l(fā)st”參數(shù)的效果;
-i:顯示文件索引節(jié)點(diǎn)號(inode)。一個(gè)索引節(jié)點(diǎn)代表一個(gè)文件;
--file-type:與“-F”選項(xiàng)的功能相同,但是不顯示“*”;
-k:以KB(千字節(jié))為單位顯示文件大小;
-l:以長格式顯示目錄下的內(nèi)容列表。輸出的信息從左到右依次包括文件名,文件類型、權(quán)限模式、硬連接數(shù)、所有者、組、文件大小和文件的最后修改時(shí)間等;
-m:用“,”號區(qū)隔每個(gè)文件和目錄的名稱;
-n:以用戶識別碼和群組識別碼替代其名稱;
-r:以文件名反序排列并輸出目錄內(nèi)容列表;
-s:顯示文件和目錄的大小,以區(qū)塊為單位;
-t:用文件和目錄的更改時(shí)間排序;
-L:如果遇到性質(zhì)為符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄;
-R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
--full-time:列出完整的日期與時(shí)間;
--color[=WHEN]:使用不同的顏色高亮顯示不同類型的。
生產(chǎn)案例:查找最近更新的文件
方法一:ls -lrt
方法二:ll -rt
?
二、cp命令:
用來將一個(gè)或多個(gè)源文件或者目錄復(fù)制到指定的目的文件或目錄。它可以將單個(gè)源文件復(fù)制成一個(gè)指定文件名的具體的文件或一個(gè)已經(jīng)存在的目錄下。cp命令還支持同時(shí)復(fù)制多個(gè)文件,當(dāng)一次復(fù)制多個(gè)文件時(shí),目標(biāo)文件參數(shù)必須是一個(gè)已經(jīng)存在的目錄,否則將出現(xiàn)錯(cuò)誤。
-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;(用來復(fù)制目錄)。
-d:當(dāng)復(fù)制符號連接時(shí),把目標(biāo)文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復(fù)制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接,而非復(fù)制文件;
-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互對應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;
-S:在備份文件時(shí),用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細(xì)顯示命令執(zhí)行的操作。
案例:備份
方法一:[root@localhost /]# cp /etc/ssh/sshd_config{,.ori}
方法二:[root@localhost /]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori
(這個(gè)方法太復(fù)雜用上面那個(gè))。
原理:{}bash:A{B,C}==>bash==>AB AC
但是需要倆個(gè)路徑在同一個(gè)目錄下
[root@localhost /]# cp /etc/{ssh/sshd_config,dhcp/}
(這個(gè)是把/etc下的文件cp到同是/etc目錄下的目錄里)
?
?
三、mv命令:MoVe(rename)files
1 用來對文件或目錄重新命名
2 或者將文件從一個(gè)目錄移到另一個(gè)目錄中。
source表示源文件或目錄,target表示目標(biāo)文件或目錄。如果將一個(gè)文件移到一個(gè)已經(jīng)存在的目標(biāo)文件中,則目標(biāo)文件的內(nèi)容將被覆蓋。
mv命令可以用來將源文件移至一個(gè)目標(biāo)文件中,或?qū)⒁唤M文件移至一個(gè)目標(biāo)目錄中。源文件被移至目標(biāo)文件有兩種不同的結(jié)果:
如果目標(biāo)文件是到某一目錄文件的路徑,源文件會(huì)被移到此目錄下,且文件名不變。
如果目標(biāo)文件不是目錄文件,則源文件名(只能有一個(gè))會(huì)變?yōu)榇四繕?biāo)文件名,并覆蓋己存在的同名文件。如果源文件和目標(biāo)文件在同一個(gè)目錄下,mv的作用就是改文件名。當(dāng)目標(biāo)文件是目錄文件時(shí),源文件或目錄參數(shù)可以有多個(gè),則所有的源文件都會(huì)被移至目標(biāo)文件中。所有移到該目錄下的文件都將保留以前的文件名。
注意事項(xiàng):mv與cp的結(jié)果不同,mv好像文件“搬家”,文件個(gè)數(shù)并未增加。而cp對文件進(jìn)行復(fù)制,文件個(gè)數(shù)增加了。
--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)文件;輸入”n”,表示取消對源文件的移動(dòng)。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“/”;
-S<后綴>:為備份文件指定后綴,而不使用默認(rèn)的后綴;
--target-directory=<目錄>:指定源文件要移動(dòng)到目標(biāo)目錄;
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作。
***PS:養(yǎng)成一個(gè)好習(xí)慣:
不要直接刪除文件,而是mv到/tmp目錄里,/tmp目錄系統(tǒng)每周會(huì)清理。
案例:
改名功能:把file4文件改名為file6。
[root@localhost /]# mv file{4,6}.txt
移動(dòng)多個(gè)文件:file1.txt file2.txt file3到、tmp目錄:
[root@localhost /]# mv file1.txt file2.txt file3.txt tmp/
[root@localhost /]# mv file{1..3}.txt tmp/? (這個(gè)更簡潔)
?
?
四、rm命令:
可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個(gè)鏈接文件,而原有文件保持不變。
注意:
1、使用rm命令要格外小心。因?yàn)橐坏﹦h除了一個(gè)文件,就無法再恢復(fù)它。所以,在刪除文件之前,最好再看一下文件的內(nèi)容,確定是否真要?jiǎng)h除。rm命令可以用-i選項(xiàng),這個(gè)選項(xiàng)在使用文件擴(kuò)展名字符刪除多個(gè)文件時(shí)特別有用。使用這個(gè)選項(xiàng),系統(tǒng)會(huì)要求你逐一確定是否要?jiǎng)h除。這時(shí),必須輸入y并按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會(huì)被刪除。
2、指定被刪除的文件列表,如果參數(shù)中含有目錄,則必須加上-r或者-R選項(xiàng)。
-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過程。
刪除普通文件,不能加-r(遞歸刪除)
刪除目錄則需要加-r
正確刪除文件的姿勢:
① 使用mv命令移動(dòng)到/tmp(回收站)替代刪除動(dòng)作。
② cd目的目錄;find .-type f(文件)或d(目錄) -name""|xargss rm
? (這里rm就不用-i了,因?yàn)閯e名是在直接使用命令時(shí)生效,當(dāng)命令在管道后別名就不生效)
?
?
五、find命令:
用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。
如果使用該命令時(shí),不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進(jìn)行顯示。
-amin<分鐘>:查找在指定時(shí)間曾被存取過的文件或目錄,單位以分鐘計(jì)算;
-anewer<參考文件或目錄>:查找其存取時(shí)間較指定文件或目錄的存取時(shí)間更接近現(xiàn)在的文件或目錄;
-atime<24小時(shí)數(shù)>:查找在指定時(shí)間曾被存取過的文件或目錄,單位以24小時(shí)計(jì)算;
-cmin<分鐘>:查找在指定時(shí)間之時(shí)被更改過的文件或目錄;
-cnewer<參考文件或目錄>查找其更改時(shí)間較指定文件或目錄的更改時(shí)間更接近現(xiàn)在的文件或目錄;
-ctime<24小時(shí)數(shù)>:查找在指定時(shí)間之時(shí)被更改的文件或目錄,單位以24小時(shí)計(jì)算;
-daystart:從本日開始計(jì)算時(shí)間;
-depth:從指定目錄下最深層的子目錄開始查找;
-expty:尋找文件大小為0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄;
-exec<執(zhí)行指令>:假設(shè)find指令的回傳值為True,就執(zhí)行該指令;
-false:將find指令的回傳值皆設(shè)為False;
-fls<列表文件>:此參數(shù)的效果和指定“-ls”參數(shù)類似,但會(huì)把結(jié)果保存為指定的列表文件;
-follow:排除符號連接;
-fprint<列表文件>:此參數(shù)的效果和指定“-print”參數(shù)類似,但會(huì)把結(jié)果保存成指定的列表文件;
-fprint0<列表文件>:此參數(shù)的效果和指定“-print0”參數(shù)類似,但會(huì)把結(jié)果保存成指定的列表文件;
-fprintf<列表文件><輸出格式>:此參數(shù)的效果和指定“-printf”參數(shù)類似,但會(huì)把結(jié)果保存成指定的列表文件;
-fstype<文件系統(tǒng)類型>:只尋找該文件系統(tǒng)類型下的文件或目錄;
-gid<群組識別碼>:查找符合指定之群組識別碼的文件或目錄;
-group<群組名稱>:查找符合指定之群組名稱的文件或目錄;
-help或——help:在線幫助;
-ilname<范本樣式>:此參數(shù)的效果和指定“-lname”參數(shù)類似,但忽略字符大小寫的差別;
-iname<范本樣式>:此參數(shù)的效果和指定“-name”參數(shù)類似,但忽略字符大小寫的差別;
-inum<inode編號>:查找符合指定的inode編號的文件或目錄;
-ipath<范本樣式>:此參數(shù)的效果和指定“-path”參數(shù)類似,但忽略字符大小寫的差別;
-iregex<范本樣式>:此參數(shù)的效果和指定“-regexe”參數(shù)類似,但忽略字符大小寫的差別;
-links<連接數(shù)目>:查找符合指定的硬連接數(shù)目的文件或目錄;
-iname<范本樣式>:指定字符串作為尋找符號連接的范本樣式;
-ls:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出;
-maxdepth<目錄層級>:設(shè)置最大目錄層級;
-mindepth<目錄層級>:設(shè)置最小目錄層級;
-mmin<分鐘>:查找在指定時(shí)間曾被更改過的文件或目錄,單位以分鐘計(jì)算;
-mount:此參數(shù)的效果和指定“-xdev”相同;
-mtime<24小時(shí)數(shù)>:查找在指定時(shí)間曾被更改過的文件或目錄,單位以24小時(shí)計(jì)算;
-name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
-newer<參考文件或目錄>:查找其更改時(shí)間較指定文件或目錄的更改時(shí)間更接近現(xiàn)在的文件或目錄;
-nogroup:找出不屬于本地主機(jī)群組識別碼的文件或目錄;
-noleaf:不去考慮目錄至少需擁有兩個(gè)硬連接存在;
-nouser:找出不屬于本地主機(jī)用戶識別碼的文件或目錄;
-ok<執(zhí)行指令>:此參數(shù)的效果和指定“-exec”類似,但在執(zhí)行指令之前會(huì)先詢問用戶,若回答“y”或“Y”,則放棄執(zhí)行命令;
-path<范本樣式>:指定字符串作為尋找目錄的范本樣式;
-perm<權(quán)限數(shù)值>:查找符合指定的權(quán)限數(shù)值的文件或目錄;
-print:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式為每列一個(gè)名稱,每個(gè)名稱前皆有“./”字符串;
-print0:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式為全部的名稱皆在同一行;
-printf<輸出格式>:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式可以自行指定;
-prune:不尋找字符串作為尋找文件或目錄的范本樣式;
-regex<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:將find指令的回傳值皆設(shè)為True;
-typ<文件類型>:只尋找符合指定的文件類型的文件;
-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;
-used<日數(shù)>:查找文件或目錄被更改之后在指定時(shí)間曾被存取過的文件或目錄,單位以日計(jì)算;
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;
-version或——version:顯示版本信息;
-xdev:將范圍局限在先行的文件系統(tǒng)中;
-xtype<文件類型>:此參數(shù)的效果和指定“-type”參數(shù)類似,差別在于它針對符號連接檢查。
-name?? 按照文件名查找文件。
-perm?? 按照文件權(quán)限來查找文件。
-prune? 使用這一選項(xiàng)可以使find命令不在當(dāng)前指定的目錄中查找,如果同時(shí)使用-depth選項(xiàng),那么-prune將被find命令忽略。
-user?? 按照文件屬主來查找文件。
-group? 按照文件所屬的組來查找文件。
-mtime -n +n? 按照文件的更改時(shí)間來查找文件, - n表示文件更改時(shí)間距現(xiàn)在n天以內(nèi),+ n表示文件更改時(shí)間距現(xiàn)在n天以前。find命令還有-atime和-ctime 選項(xiàng),但它們都和-m time選項(xiàng)。
-nogroup? 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
-nouser?? 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
-newer file1 ! file2? 查找更改時(shí)間比文件file1新但比文件file2舊的文件。
-type? 查找某一類型的文件,諸如:
b - 塊設(shè)備文件。
d - 目錄。
c - 字符設(shè)備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
-size n:[c] 查找文件長度為n塊的文件,帶有c時(shí)表示文件長度以字節(jié)計(jì)。-depth:在查找文件時(shí),首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找。
-fstype:查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統(tǒng)中有關(guān)文件系統(tǒng)的信息。
-mount:在查找文件時(shí)不跨越文件系統(tǒng)mount點(diǎn)。
-follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
-cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設(shè)備中。
另外,下面三個(gè)的區(qū)別:
-amin n?? 查找系統(tǒng)中最后N分鐘訪問的文件
-atime n? 查找系統(tǒng)中最后n*24小時(shí)訪問的文件
-cmin n?? 查找系統(tǒng)中最后N分鐘被改變文件狀態(tài)的文件
-ctime n? 查找系統(tǒng)中最后n*24小時(shí)被改變文件狀態(tài)的文件
-mmin n?? 查找系統(tǒng)中最后N分鐘被改變文件數(shù)據(jù)的文件
-mtime n? 查找系統(tǒng)中最后n*24小時(shí)被改變文件數(shù)據(jù)的文件
?
?
?
六、xargs命令:
(從標(biāo)準(zhǔn)輸入,(管道或stdin,輸入重定向)獲取數(shù)據(jù)。并將數(shù)據(jù)轉(zhuǎn)換成命令行的參數(shù))。
給其他命令傳遞參數(shù)的一個(gè)過濾器,也是組合多個(gè)命令的一個(gè)工具。
擅長將標(biāo)準(zhǔn)輸入數(shù)據(jù)轉(zhuǎn)換成命令行參數(shù),xargs能處理管道或者stdin并將其轉(zhuǎn)換成特定命令的命令參數(shù)。
xargs也可以將單行或多行文本輸入轉(zhuǎn)換為其他格式,例如多行變單行,單行變多行。
xargs的默認(rèn)命令是echo,空格是默認(rèn)定界符。這意味著通過管道傳遞給xargs的輸入將會(huì)包含換行和空白,不過通過xargs的處理,換行和空白將被空格取代。xargs是構(gòu)建單行命令的重要組件之一。
-n? 指定一行最多顯示的參數(shù)
-i? #和{}對應(yīng)的格式。eg: find . -type f -name "*.txt"|xargs -i mv {} /tmp
-I? #讓后面能接指定括號(),[]
?
?
七、ln命令: make LINks between files.
無參數(shù)?? #創(chuàng)建硬鏈接。
-s?????? #創(chuàng)建軟鏈接。
?
八、readlink命令:
查看軟鏈接指向的源文件的內(nèi)容。不適用于硬鏈接。
?
?
九、rename:專業(yè)重命名工具。
rename? from?? to?? file
from #代表需要替換或要處理的字符,文件的一部分,文件的擴(kuò)展名。
to?? #把前面from代表的內(nèi)容替換為to代表的內(nèi)容,即重命名處理后的內(nèi)容。
file #文件
?
?
?
十、basename命令:
?
?
?
十一、dirname命令:
?
?
?
?
?
十三、md5sum命令:計(jì)算和校驗(yàn)文件的md5值,每個(gè)文件有它唯一的md5值。
?
轉(zhuǎn)載于:https://www.cnblogs.com/sinsenliu/p/9009518.html
總結(jié)
以上是生活随笔為你收集整理的2018--Linux命令总结整理复习版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0507css3基础:弹性盒子、媒体查询
- 下一篇: Linux SSH和SFTP服务分离