雙目測(cè)試
file1 -ef file2 是否指向同一個(gè)inode
file1 -nt file2 file1是否新于file2
file1 -ot file2 file1是否舊于file2
例子:
[ -z "$a" -o "$a"=="localhost.localdomain" ] 等價(jià)于[ -z "$a" ] || [ "$a"=="localhost.localdomain" ]
bash中自定義退出狀態(tài)碼
exit [n] 自定義退出狀態(tài)碼
腳本中一旦遇到exit命令,腳本會(huì)立即終止,終止退出的狀態(tài)取決于exit命令后面的數(shù)字,如果
未指定退出狀態(tài)碼,整個(gè)腳本的退出狀態(tài)碼取決于腳本中最后一個(gè)命令執(zhí)行的狀態(tài)碼。
文件查找
命令 locate ,find
locate 依賴于事先構(gòu)建好的索引庫(kù),系統(tǒng)自動(dòng)實(shí)現(xiàn)(周期性任務(wù)),手動(dòng)更新索引庫(kù)updatedb
特性:查找速度快,模糊查找,非實(shí)時(shí)查找
locate [option] ....pattern
-b:匹配基名
-c 統(tǒng)計(jì)符合條件文件
-r bre,基本正則
注意:索引構(gòu)建過(guò)程需要遍歷整個(gè)文件系統(tǒng),極其消耗資源
find
實(shí)時(shí)查找,遍歷指定起始路徑下文件系統(tǒng)層級(jí)結(jié)構(gòu)完成文件查找
工作特性:查找速度稍慢,精確查找,實(shí)時(shí)查找
用法:
find [option] [查找起始路徑] [查找條件] [處理動(dòng)作]
查找起始路徑:指定具體搜索目標(biāo)起始路徑,默認(rèn)當(dāng)前路徑
查找條件:指定查找標(biāo)準(zhǔn),可以根據(jù)文件名、大小、類型、從屬關(guān)系、權(quán)限
處理動(dòng)作:對(duì)符合條件的文件做出操作,默認(rèn)是標(biāo)準(zhǔn)輸出到屏幕
根據(jù)文件名
-name "pattern"
-iname "pattern" 忽略大小寫
支持gloab風(fēng)格通配符 * ? [] [^] [[:space:]] 等
-regex pattern 正則表達(dá)式,但只匹配路徑,而不是文件名
根據(jù)文件從屬關(guān)系
-user username
-group groupname
-uid uid
-gid gid
-nouser 查找沒(méi)有屬主的文件
-nogroup
根據(jù)文件類型
-type TYPE
f 普通文件 d 目錄 l 符號(hào)鏈接 b 塊設(shè)備 c 字符設(shè)備 p 管道 s 套接字
組合測(cè)試
與 -a (默認(rèn)) 或 -o 非 -not ,!
練習(xí)
1,、找出/tmp目錄下屬主為非root的所有文件
find /tmp -not -user root -type f
2、找出/tmp目錄下文件名中不包含fstab字符串的文件
find /tmp -not -iname "*fstab*" -type f -ls
3、找出/tmp目錄下屬主為非root,而且文件名不包含tstab字符串的文件
find /tmp -not -user root -not -iname "*tstab*" -type f -ls
比如空格要轉(zhuǎn)義成"%20",其中20是空格的ascii符。括號(hào)里面的內(nèi)容,是起補(bǔ)充說(shuō)明或解釋說(shuō)明的內(nèi)容,它不是正文的一部分,括號(hào)里面的內(nèi)容和前括號(hào)應(yīng)該緊接被解說(shuō)的內(nèi)容,中間不能有其他標(biāo)點(diǎn)符號(hào),在括號(hào)內(nèi)容完了后,不應(yīng)該有句末符號(hào),而在后括號(hào)外面添加括號(hào)內(nèi)容前那個(gè)句子應(yīng)該有的標(biāo)點(diǎn)符號(hào),也就是說(shuō),在文章中括號(hào)里面的內(nèi)容是不應(yīng)該作為一個(gè)單獨(dú)的句子出現(xiàn)的,它只能作為被解說(shuō)內(nèi)容的粘著部分出現(xiàn),它就不應(yīng)該有自己?jiǎn)为?dú)的句末符號(hào)。英式括號(hào)與中式括號(hào)容易交叉,英式括號(hào)占半格、括號(hào)圓弧小沉,緊貼括號(hào)內(nèi)文字。
!A -a !B 等價(jià)于 !(A -o B)