您好,登錄后才能下訂單哦!
Linux命令與文件的查詢(xún)
1 腳本文件名的查詢(xún)
which(尋找“執(zhí)行文件“)
參數(shù)-a :將所有由path目錄中可以找到的命令均列出,而不止第一個(gè)被找到的目錄名稱(chēng)
以 ifconfig為例
可以找到正確的文件執(zhí)行名
以which 本身為例
alias--->命令別名,輸入which會(huì)等于后面接的那串命令
以常用的cd指令為例
為什么會(huì)找不到呢?
原因在于which的查找機(jī)制,which是默認(rèn)查找PATH內(nèi)所規(guī)范的目錄,cd是bash內(nèi)置的命令當(dāng)然找不到啦,這里我們使用type指令
可以看出cd是一個(gè)shell builtin 即就內(nèi)置命令
2 文件名的查找
通常而言我們不常使用find指令,由于find指令需要在內(nèi)存中查找,速度會(huì)很慢,所以我們會(huì)先使用whereis和locate來(lái)檢查,如果找不到再使用find,whereis和locate都是使用數(shù)據(jù)庫(kù)來(lái)查找,所以速度很快。
whereis(尋找特定文件)
參數(shù):-b :只查找二進(jìn)制格式文件
-m :只找在說(shuō)明文件manual路徑下的文件
-s :只找source源文件
-u :查找不再上述三個(gè)選項(xiàng)中的其他文件
以ifconfig指令為例
只找出跟passwd有關(guān)的是”說(shuō)明文件“
locate
locate指令使用非常簡(jiǎn)單,直接后面輸入”文件部分名稱(chēng)“即可
參數(shù):-i 忽略大小寫(xiě)的差異
-r 后面可接正則表達(dá)式的顯示方式
以passwd為例
只要含有 passwd在其中,就會(huì)被顯示出來(lái)。
使用限制:由于locate查找數(shù)據(jù)是由 已創(chuàng)建的數(shù)據(jù)庫(kù)庫(kù)/var/lib/mlocata/所查到的,數(shù)據(jù)庫(kù)信息需要更新,所以當(dāng)我們新建一個(gè)文件夾后查找這個(gè)文件
由于數(shù)據(jù)庫(kù)并未更新,所以會(huì)查不到,我們可以采用手動(dòng)更新數(shù)據(jù)庫(kù)的方式。---->直接輸入updatesb
find指令
這是一個(gè)很重要的指令,直接在內(nèi)存中查找。
時(shí)間參數(shù):以-mtime為例
-mtime n :n為數(shù)字,意義為在n天之前的”一天之內(nèi)“被更改過(guò)的文件
-mtime +n :列出在n天之前(不含n天本身)被更改的文件名
-mtime -n :列出在n天之內(nèi)(含n天本身)被更改過(guò)的文件名
-newer file :file為一個(gè)存在的文件,列出比f(wàn)ile還要新的文件名
圖示為:
以find /var -mtime4 為例時(shí)間軸為:
與用戶(hù)或用戶(hù)組有關(guān)的參數(shù)
-uid n:這個(gè)數(shù)字是用戶(hù)的賬號(hào)ID,記錄在/etc/passwd中與賬號(hào)名稱(chēng)對(duì)應(yīng)的數(shù)字
-gid n:n為用戶(hù)組名的ID
-username :name為用戶(hù)賬號(hào)名稱(chēng) 如root
-groupname:name為用戶(hù)組名
-nouser :尋找文件所有者不存在/etc/passwd的人
-nogroup:尋找文件的所用戶(hù)組不存在于etc/group中的文件
查找 /home下屬于dz的文件:
查找根目錄中不屬于任何人的文件
-name filename 查找文件名為 1 的文件
-name [+ -]size 查找比size還要大的文件 size規(guī)格:c:代表byte,k代表1024bytes 要找
以找比50kb小的文件為例
-type type:查找類(lèi)型為type的文件
以查找正規(guī)文件為例(f)
文件權(quán)限參數(shù)
-pern mode :查找文件類(lèi)型剛好等于 mode的文件
-pern -mode:查找文件權(quán)限 必須要全部包含mode權(quán)限的文件
-pern +mode 查找文件權(quán)限 包含任意mode權(quán)限的文件
比如說(shuō)我們查找-rwx r-x r-x 即 -pern+755時(shí)候也會(huì)包括一個(gè)-rw- --- ---文件存在,因?yàn)樗? 包含了-rw屬性
查找權(quán)限為777的文件
權(quán)限為包含任意一個(gè)777以?xún)?nèi)權(quán)限的文件
權(quán)限為 必須包含777所有權(quán)限的文件
其他操作:
-exec command:commad 為其他命令,-exec后面可接其他命令來(lái)處理查找的結(jié)果
如 將權(quán)限包含7000其中之一的文件 使用ls -l列出來(lái)
以find / perm +7000 -exec ls -l {} \; 指令為例
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。