linux學習之檔案查詢

2021-07-08 16:47:23 字數 1289 閱讀 7064

linux學習之檔案查詢

1. 可執行性檔案的查詢:which

原理:按照path環境變數的內容去查詢

格式: which [-a] command

注:bash內建的命令找不到,比如cd命令

2. 查詢檔案

2.1 快速查詢檔案(相對於下面find命令):whereis/locate

原理:查詢linux作業系統的資料庫檔案

解析:這裡所說的資料庫:linux作業系統會將系統的所有檔案都存放在/var/lib/mlocate這個資料庫檔案裡,因此使用whereis 或者locate不需要查詢硬碟,執行速度快

限制:linux作業系統資料庫預設每天更新一次,因此使用whereis或者locate的查詢檔案的實時性差(即新建的檔案,使用locate或是whereis命令可能查詢不到)

解決方式:可以對linux資料庫檔案手動更新

格式:locate/whereis 檔名

2.2 通過查詢硬碟查詢檔案,速度慢但功能強大:find

格式:find pathname [option]  [-print -exe -ok...]

path:為find所查詢的目錄

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

-exec: find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為'command' \;,注意和\;之間的空格。 

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

舉例find經典的用法

1.通過檔名查詢檔案

find  / -name 「*.log"  :在/目錄下查詢以log結尾的檔案

注意:以檔名查詢:-name

2. 按照目錄和檔案的許可權查詢

find /opt/soft/test/ -perm 777   :查詢/opt/soft/test/目錄下 許可權為 777的檔案

注意:檔案許可權option為-perm

3.按目錄或檔案的大小進行查詢

find    /home    -size    +512k :                查大於512k的檔案

注意:檔案大小option為-size 大於用+ 小於用-

4.找出/etc目錄下,容量大於50kb且檔案所有者不是root的檔案

find /etc/ -size +50kb-a -user root;

find總結:

若是並列查詢利用-a

若是或查詢利用-o

linux基礎之檔案查詢

特點 非實時,模糊匹配,查詢時根據全系統檔案資料庫進行的,此資料庫會定時更新 取決於系統配置 也可以使用 updatedb 手動生成檔案資料庫,但是這會相當慢。用法 locate filename特點 實時查詢,精確,原理就是遍歷指定目錄中的所有檔案完成查詢,所以速度慢。支援眾多的查詢選項用法 fi...

Linux之檔案查詢命令

linux之檔案查詢本地檔案查詢 實際操作即檢索其資料庫檔案 var lib mlocate mlocate.db 資料庫檔案 updatedb 更新資料庫 locate options files i 忽略大小寫 n 只列舉前 個匹配專案 r 支援基本正規表示式 locate可實現根據使用者許可權...

linux之檔案查詢locate find

locate 根據事先構建的索引庫進行查詢檔案,索引庫會再每天系統空閒時自動構建。特性 模糊匹配,查詢速度快,非實時查詢,有可能返回之前已經刪除的檔案或者新建的檔案無法被查詢到,因為索引還沒有被建立。locate options pattern.命令 作用 b 只匹配 basename c返回查詢到...