Find指令初識

來源:互聯網
上載者:User

標籤:linux

一,檔案尋找命令    

    在linux下有相當優異的尋找命令。尋找一個檔案的存放路徑通常我們會用到下面這三個命令:

    which  查看可執行檔的位置。

    whereis  查看檔案的位置。

    locate  配合資料庫查看檔案位置。

    find  實際搜尋硬碟查詢檔案名稱。

    通常我們先使用前面三個命令來進行尋找,如果真的找不到。再使用find命令來尋找。因為whereis和locata是利用資料庫來尋找資料的,而且並沒有實際尋找硬碟,所以速度相當的快。

二、find命令

1.命令格式:

     find pathname -options [-print -exec -ok ...]

2.命令功能:

     於在件樹種尋找件,並作出相應的處理(可能訪問磁碟)

3.命令參數:

    pathname: find命令所尋找的錄路徑。例如.來表目前的目錄,/來表系統根錄。 

    -print: find命令將匹配的件輸出到標準輸出。 

    -exec: find命令對匹配的件執該參數所給出的shell命 令。相應命令的形式為‘command‘ {  } \;,注意{   }和\; 之間的空格。 

    -ok: 和-exec的作相同,只不過以種更為安全的模式來執 該參數所給出的shell命令,在執每個命令之前,都會給出提 ,讓戶來確定是否執。

    4.命令選項:

    -name   按照件名尋找件。

    -perm   按照件許可權來尋找件。

    -prune  使這選項可以使find命令不在當前指定的目錄中查 找,如果同時使-depth選項,那麼-prune將被find命令忽略。

    -user   按照件屬主來尋找件。

    -group  按照件所屬的組來尋找件。

    -mtime -n +n  按照件的更改時間來尋找件, - n表 件更改時間距現在n天以內,+ n表件更改時間距現在n天以 前。find命令還有-atime和-ctime 選項,但它們都和-m time 選項相同。

    與時間有關的選項:-atime , -ctime ,-mtime

    -mtime  -n +n 按檔案更改時間來尋找檔案,-n指n天以內,+n指n 天以前

    -atime  -n +n 按檔案訪問時間來尋找檔案,-n指n天以內,+n指n 天以前

    -ctime  -n +n  按檔案建立時間來尋找檔案,-n指n天以內,+n指n 天以前 

例如:

    -newer file :file 為一個存在的檔案,列出比 file 還要新的檔案檔名

    -amin -n   尋找系統中最後N分鐘訪問的檔案

    -atime -n  尋找系統中最後n*24小時訪問的檔案

    -cmin -n   尋找系統中最後N分鐘被改變檔案狀態的檔案

    -ctime -n  尋找系統中最後n*24小時被改變檔案狀態的檔案

    -mmin -n   尋找系統中最後N分鐘被改變檔案資料的檔案

    -mtime -n  尋找系尋找系統中最後n*24小時被改變檔案資料的檔案

總結:min是分鐘,time是小時,a訪問,c改變狀態,m改變資料。

    -nogroup  尋找有效所屬組的件,即該件所屬的組在/ etc/groups中不存在。

    -nouser   尋找有效屬主的件,即該件的屬主在/etc/ passwd中不存在。

    -newer file1 ! file2  尋找更改時間件file1新但 件file2舊的件。

    -type  尋找某類型的件,諸如:

        b - 塊裝置件。

        d - 目錄。

        c - 字元裝置件。

        p - 管道件。

        l - 符號連結件。

        f - 普通件。

    -size n:[c] 尋找件度為n塊的件,帶有c時表件 度以位元組計。

    -depth:在尋找件時,先尋找目前的目錄中的件,然後再在其 目錄中尋找。

    -fstype:尋找位於某類型件系統中的件,這些件系統類別 型通常可以在配置件/etc/fstab中找到,該配置件中包含了 本系統中有關件系統的資訊。

    -mount:在尋找件時不跨越件系統mount點。

    -follow:如果find命令遇到符號連結件,就跟蹤連結所指向的檔案。

    -cpio:對匹配的件使cpio命令,將這些件備份到磁帶裝置 中。

另外,下三個的區別:

- 建時間來尋找件,-n指n天以內,+n指n天以前 


例:

1. 在/ l o g s目錄中尋找更改時間在5以前的件並刪除它們:

    $ find logs -type f -mtime +5 -exec    -ok    rm {} \

2.Linux find命令尋找件為XX的件的辦法

    例如:個件5556位元組,可以這樣寫

    find /root -size -5557c -size +5555c -exec ls -ld {} \;

   即尋找於5555位元組於5557位元組的件,以上尋找的是/root錄

    find /root -size -500K -size +50K -exec ls -ld {} \;

    尋找 於500K,於50K的件  


本文出自 “無以倫比的暖陽” 部落格,請務必保留此出處http://10797127.blog.51cto.com/10787127/1775452

Find指令初識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.