Linux知識三:高效查找文件

如何查找文件:find 目錄/. -name 文件:查找文件在指定目錄/當前目錄下指定的文件名(eg:find / -name httpd -ctime 0[多少天內])。
find最強大,什麼都能查,find 是直接在硬盤上搜尋,功能強大,但耗硬盤,一般不要用。
locate能查所以,但跟whereis一樣都是查數據庫裏的內容,locate 同上,不過文件名是部分匹配。
which只能查可執行文件,which 只能尋找執行文件 ,並在PATH變量裏面尋找。
whereis只能查二進制文件、說明文檔,源文件等,whereis 從linux文件數據庫(/var/lib/slocate/slocate.db)尋找,所以有可能找到剛剛刪除,或者沒有發現新建的文件。
find [PATH] [option] [action],參數:
 1. 與時間有關的參數:
    -atime n :n 爲數字,意義爲在 n 天之前的『一天之內』被 access 過的檔案;
    -ctime n :n 爲數字,意義爲在 n 天之前的『一天之內』被 change 過狀態的檔案;
    -mtime n :n 爲數字,意義爲在 n 天之前的『一天之內』被 modification 過的檔案;
    -newer file :file 爲一個存在的檔案,意思是說,只要檔案比 file 還要新,
                  就會被列出來~
 2. 與使用者或羣組名稱有關的參數:
    -uid n :n 爲數字,這個數字是使用者的賬號 ID,亦即 UID ,這個 UID 是記錄在
             /etc/passwd 裏面與賬號名稱對應的數字。這方面我們會在第四篇介紹。
    -gid n :n 爲數字,這個數字是羣組名稱的 ID,亦即 GID,這個 GID 記錄在
             /etc/group,相關的介紹我們會第四篇說明~
    -user name :name 爲使用者賬號名稱喔!例如 dmtsai
    -group name:name 爲羣組名稱喔,例如 users ;
    -nouser    :尋找檔案的擁有者不存在 /etc/passwd 的人!
    -nogroup   :尋找檔案的擁有羣組不存在於 /etc/group 的檔案!
                 當您自行安裝軟件時,很可能該軟件的屬性當中並沒有檔案擁有者,
                 這是可能的!在這個時候,就可以使用 -nouser 與 -nogroup 搜尋。
 3. 與檔案權限及名稱有關的參數:
    -name filename:搜尋文件名稱爲 filename 的檔案;
    -size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
                    c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
                    還要大的檔案,就是『 -size +50k 』
    -type TYPE    :搜尋檔案的類型爲 TYPE 的,類型主要有:一般正規檔案 (f),
                    裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s),
                    及 FIFO (p) 等屬性。
    -perm mode  :搜尋檔案屬性『剛好等於』 mode 的檔案,這個 mode 爲類似 chmod
                  的屬性值,舉例來說, -rwsr-xr-x 的屬性爲 4755 !
    -perm -mode :搜尋檔案屬性『必須要全部囊括 mode 的屬性』的檔案,舉例來說,
                  我們要搜尋 -rwxr--r-- ,亦即 0744 的檔案,使用 -perm -0744,
                  當一個檔案的屬性爲 -rwsr-xr-x ,亦即 4755 時,也會被列出來,
                  因爲 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
    -perm +mode :搜尋檔案屬性『包含任一 mode 的屬性』的檔案,舉例來說,我們搜尋
                  -rwxr-xr-x ,亦即 -perm +755 時,但一個檔案屬性爲 -rw-------
                  也會被列出來,因爲他有 -rw.... 的屬性存在!
 4. 額外可進行的動作:
    -exec command :command 爲其它指令,-exec 後面可再接額外的指令來處理搜尋到
                    的結果。
    -print        :將結果打印到屏幕上,這個動作是預設動作!

發佈了53 篇原創文章 · 獲贊 0 · 訪問量 2635
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章