LINUX檔案查詢 Find Locate

2021-10-19 18:15:32 字數 2622 閱讀 6737

語法格式:

find [path] [-expression] [file] [-actions]

actions:對找到符合條件的檔案做之後的處理操作。

比如刪除、修改等,預設是輸出到標準輸出。

-ls:類似於對查詢到的檔案執行「ls -l」命令,輸出檔案的詳細資訊;

-delete:刪除查詢到的檔案;

-fls /path/to/somefile:把查詢到的所有檔案的長格式資訊儲存至指定檔案中

-ok command {} ; :對查詢到的每個檔案執行由command表示的命令;每次操作都由使用者進行確認

-exec command {} ; :對查詢到的每個檔案執行由command表示的命令

注意:

find傳遞查詢到的檔案路徑到後面的命令時,是查詢出所有符合的檔案路徑並一次給後面;

有些命令不能接受過長的引數,用另外一種方式避免此問題: find | xargs command

expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

-mount, -xdev : 只檢查和指定目錄在同乙個檔案系統下的檔案,避免列出其它檔案系統中的檔案

-amin n : 在過去 n 分鐘內被讀取過

注:+n表示n以前,-n 表示n以內

-anewer file : 比檔案 file 更晚被讀取過的檔案

-atime n : 在過去n天內被讀取過的檔案

-cmin n : 在過去 n 分鐘內被修改過

-cnewer file :比檔案 file 更新的檔案

-ctime n : 在過去n天內被修改過的檔案

-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name

-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫

-name name, -iname name : 檔名稱符合 name 的檔案。iname 會忽略大小寫

-pid n : process id 是 n 的檔案

-size n : 檔案大小 是 n 單位

n單位如下:

-type [c] : 檔案型別是 c 的檔案。

c型別如下:

語法格式:

locate [-d ][–help][–version][範本樣式…]

一般情況我們只需要輸入 locate [your_file_name] 即可查詢指定檔案。

引數

-b, --basename -- 僅匹配路徑名的基本名稱

-c, --count -- 只輸出找到的數量

-d, --database dbpath -- 使用 dbpath 指定的資料庫,而不是預設資料庫 /var/lib/mlocate/mlocate.db

-e, --existing -- 僅列印當前現有檔案的條目

-1 -- 如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到許可權無法看到 的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的 許可權資料。

-0, --null -- 在輸出上帶有nul的單獨條目

-s, --statistics -- 不搜尋條目,列印有關每個資料庫的統計資訊

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

-p, --nofollow, -h -- 檢查檔案存在時不要遵循尾隨的符號鏈結

-l, --limit, -n limit -- 將輸出(或計數)限制為limit個條目

-n -- 至多顯示 n個輸出。

-m, --mmap -- 被忽略,為了向後相容

-r, --regexp regexp -- 使用基本正規表示式

--regex -- 使用擴充套件正規表示式

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

-s, --stdio -- 被忽略,為了向後相容

-o -- 指定資料庫存的名稱。

-h, --help -- 顯示幫助

-i, --ignore-case -- 忽略大小寫

-v, --version -- 顯示版本資訊

locate 與 find 不同: find 是去硬碟找,locate 只在 /var/lib/slocate 資料庫中找。

locate 的速度比 find 快,它(locate)並不是真的查詢,而是查資料庫,一般檔案資料庫在 /var/lib/slocate/slocate.db 中,所以 locate 的查詢並不是實時的,而是以資料庫的更新為準,一般是系統自己維護,也可以手工公升級資料庫 。

命令為:updatedb

預設情況下 updatedb 每天執行一次。

linux檔案查詢

命令與檔案的查詢 which 尋找執行檔案 which a command a 將所有由path目錄中可以找到的命令均列出來,而不只是第乙個被找到的命令名稱 eg which a ifconfig 檔案的查詢 whereis 尋找特定的檔案 bmsu 檔案或者目錄 引數 b 只尋找二進位制檔案 m ...

linux 檔案查詢

文字查詢 grep egrep fgrep 檔案查詢 locate find locate和find的區別 locate有自維護的資料庫 linux自建,與所有檔案關聯 每天linux會定時對其進行更新,而locate就在此資料庫中查詢,所以查詢速度非常快,但是缺點也很明顯,不能實時查詢 比如剛裝l...

Linux 檔案查詢

檔案查詢 簡介which 命令查詢 find 檔案查詢,針對檔名 locate 檔案查詢,依賴資料庫 一 命令檔案查詢 一 查詢ls 命令的位置 which ls 從path環境變數或者 whereis vim二 任意檔案 find 語法find path options expression ac...