溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

linux下命令與文件的查詢(xún)

發(fā)布時(shí)間:2020-08-11 07:16:40 來(lái)源:網(wǎng)絡(luò) 閱讀:488 作者:性感的玉米 欄目:數(shù)據(jù)庫(kù)

            

                                          Linux命令與文件的查詢(xún)


1  腳本文件名的查詢(xún)

  • which(尋找“執(zhí)行文件“)

             參數(shù)-a  :將所有由path目錄中可以找到的命令均列出,而不止第一個(gè)被找到的目錄名稱(chēng)

  • 以 ifconfig為例

linux下命令與文件的查詢(xún)   可以找到正確的文件執(zhí)行名

  • 以which 本身為例


    linux下命令與文件的查詢(xún)

    alias--->命令別名,輸入which會(huì)等于后面接的那串命令

  • 以常用的cd指令為例

linux下命令與文件的查詢(xún)

為什么會(huì)找不到呢?


原因在于which的查找機(jī)制,which是默認(rèn)查找PATH內(nèi)所規(guī)范的目錄,cd是bash內(nèi)置的命令當(dāng)然找不到啦,這里我們使用type指令

linux下命令與文件的查詢(xún)

   

可以看出cd是一個(gè)shell builtin 即就內(nèi)置命令

2  文件名的查找

         通常而言我們不常使用find指令,由于find指令需要在內(nèi)存中查找,速度會(huì)很慢,所以我們會(huì)先使用whereislocate來(lái)檢查,如果找不到再使用findwhereislocate都是使用數(shù)據(jù)庫(kù)來(lái)查找,所以速度很快。


  • whereis(尋找特定文件)

參數(shù):-b  :只查找二進(jìn)制格式文件

          -m :只找在說(shuō)明文件manual路徑下的文件

          -s   :只找source源文件

          -u   :查找不再上述三個(gè)選項(xiàng)中的其他文件

  • 以ifconfig指令為例

linux下命令與文件的查詢(xún)


    只找出跟passwd有關(guān)的是”說(shuō)明文件“

linux下命令與文件的查詢(xún)


  • locate

locate指令使用非常簡(jiǎn)單,直接后面輸入”文件部分名稱(chēng)“即可

參數(shù):-i    忽略大小寫(xiě)的差異

          -r   后面可接正則表達(dá)式的顯示方式

  • 以passwd為例

   linux下命令與文件的查詢(xún)

只要含有 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í)間軸為:

linux下命令與文件的查詢(xún)


與用戶(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的文件:

linux下命令與文件的查詢(xún)

   查找根目錄中不屬于任何人的文件

linux下命令與文件的查詢(xún)

 -name filename 查找文件名為 1 的文件

linux下命令與文件的查詢(xún)


-name [+ -]size  查找比size還要大的文件  size規(guī)格:c:代表byte,k代表1024bytes 要找

以找比50kb小的文件為例

linux下命令與文件的查詢(xún)

-type type:查找類(lèi)型為type的文件

以查找正規(guī)文件為例(f)

linux下命令與文件的查詢(xún)

 文件權(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的文件

linux下命令與文件的查詢(xún)


權(quán)限為包含任意一個(gè)777以?xún)?nèi)權(quán)限的文件

linux下命令與文件的查詢(xún)

權(quán)限為 必須包含777所有權(quán)限的文件

linux下命令與文件的查詢(xún)


其他操作:


-exec command:commad 為其他命令,-exec后面可接其他命令來(lái)處理查找的結(jié)果


如 將權(quán)限包含7000其中之一的文件 使用ls -l列出來(lái)

linux下命令與文件的查詢(xún)

以find  / perm +7000 -exec  ls -l  {}  \;  指令為例

linux下命令與文件的查詢(xún)




向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI