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返回查詢到...