查找命令 find whereis locate

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  find
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 find 命令是一個非常有效的工具,它可以遍歷當前目錄甚至於整個文件系統來查找某些文件或目錄.

主要選項:

-name 按照文件名查找文件

-perm 按照文件權限來查找文件

-prune 不在當前指定的目錄中查找

-user 按照文件屬主來查找文件

-group 按照文件所屬的組來查找文件

-mtime -n +n 按照文件的更改時間來查找文件,-n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前.

-nogroup 查找無有效所屬組的文件,即該文件所屬的組不存在

-nouser 查找無有效屬主的文件

-newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件

-type 查找某一類型的文件

  文件類型:

 b 塊設備文件

 d 目錄

 c 字符設備文件

 p 管道文件

 l 符號鏈接文件

 f 普通文件]

-size n[c] 查找文件長度爲n塊的文件,帶有c時表示文件長度以字節計

-depth 在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找

-mount 在查找文件時不跨越文件系統mount點

-follow 如果find命令遇到符號鏈接文件,就跟蹤到鏈接所指向的文件

-cpio 對匹配的文件使用cpio命令,就將這些文件備份到磁盤設備中

(其餘選項,請man find,進一步查看)

對linux find命令選項的一些例子:

$ find /etc -type d #在/etc 目錄下查找所有的目錄

$ find /etc -user yaoyuan #在/etc目錄下查找文件屬主爲yaoyuan的文件

$ find . -size +1000000c #在當前目錄下查找文件長度大於1 M字節的文件

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  whereis
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一般用於定位二進制文件,源文件(原始代碼文件),和幫助說明文件。

選項:

-b 只查找二進制文件

-B 只在設置的目錄下查找二進制文件

-f 不顯示文件名前的路徑名稱

-m 只查找說明文件

-M 只在設置的目錄下查找說明文件

-s 只查找原始代碼文件

-S 只在設置的目錄下查找原始代碼文件

-u 查找不包含指定類型的文件

舉例:查找/usr/bin中的所有文件,其源文件在/usr/src中,且/usr/man/man1中沒有支持文檔。

$cd /usr/bin
$whereis -u -M /usr/man/man1 -S /usr/src -f *

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  locate
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
locate --通過名字查找文件

locate讀取一個或更多數據庫(由updatedb來更新),當匹配至少一個PATTERN (範本樣式)時,輸出文件的名字到標準輸出,一行一個。

PATTERN (範本樣式) 可以包含通配符,如果範本樣式不包含通配符,locate就把範本樣式當做 *PATTERN* 來處理。

默認情況下,locate命令並不檢查要查找的文件是否在數據庫中,locate命令不會報告在最近更新相關數據庫後創建的文件(一般,updatedb每天會跑一次,可以由修改crontab來更新設定值etc/crontab)。

選項:

-u 建立數據庫,由根目錄開始

-U 建立數據庫,可以指定開始的位置

-e 將排除在尋找的範圍之外

-f 將特定的檔案系統排除在外

-q 安靜模式,不會顯示任何錯誤訊息

-n 至多顯示n個輸出

-r 使用正規運算式 做尋找的條件

-o 指定數據庫存的名稱

-d 指定數據庫的路徑

-h 顯示輔助訊息

-v 顯示更多的訊息

-V 顯示程序的版本訊息
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章