一.locate(搜索檔案)
1.命令格式
locate 檔案名
說明:locate命令不在系統中搜索檔案(即不遍歷整個系統),而是在/var/lib/mlocate(centos7中為此目錄,可使用locate locate命令查看此目錄路徑)資料庫中搜索,/var/lib/mlocate資料庫默認每天更新一次,要查找新創建的檔案就要去更新(通過updatedb命令)此資料庫后再進行搜索
2.優點
在后臺資料庫中按檔案名進行搜索,所以搜索速度快
3.缺點
只能按檔案名搜索
4.注意
locate按照組態檔/etc/updatedb.conf進行搜索,組態檔的內容如下圖

PRUNE_BIND_MOUNTS = "yes" 表示開啟搜索限制
PRUNE_BIND_MOUNTS = "no" 表示關閉搜索限制
PRUNEFS 表示搜索時不搜索的檔案系統
PRUNENAMES 表示搜索時不搜索的檔案型別
PRUNEPATHS 表示搜索時不搜索的路徑
二.whereis(搜索命令)
1.命令格式
whereis 命令名
說明:搜索外部命令所在路徑及幫助檔案所在位置(Linux的shell內置命令不能通過whereis找到命令路徑,只能看到幫助檔案的路徑,如pwd、cd)
-b 只查看命令所在位置(即命令的可執行檔案)
-m 只查找幫助檔案所在位置

三.which(搜索命令)
1.命令格式
which 命令名
說明:搜索外部命令所在路徑及別名(不是所有命令都有別名,Linux的shell內置命令無法用此命令)

注意:
在Linux中要想執行一個命令需要用絕對路徑,由于系統定義了環境變數PATH(即系統搜索命令的路徑),當執行一個命令時,會在PATH指定的路徑中搜索是否有這樣一個執行檔案或者腳本存在(因為環境變數的存在,所以系統命令可以不打絕對路徑),若自己定義了一個執行檔案需要執行時就要打上絕對路徑,或者把執行檔案的路徑放在PATH環境變數下,linux下查看環境變數:

四.find(搜索*檔案*)
1.命令格式
find [搜索范圍] [搜索條件]
說明:find命令對檔案進行搜索的時候完全匹配檔案名,若想進行模糊搜索則使用通配符匹配
? Linux中通配符有 :* 匹配任意內容
? ? 匹配一個任意字符
? [] 匹配中括號內任一字符
2.示例
在根目錄下搜索名為initial-setup-ks.cfg的檔案,注根目錄下搜索相當于遍歷根目錄,會耗費資源

在/root目錄下利用通配符分別搜索檔案名為以a、b開頭以任意字符結尾的檔案

-name 按照檔案名完全匹配搜索
-iname 按照檔案名不區分大小寫搜索
-user 按照所有者進行搜索,后面為Linux的登錄賬戶名
-nouser 查找沒有所有者的檔案(不是所有的沒有所有者的檔案都是垃圾檔案,內核產生的根目錄proc、sys路徑下的,或者外來檔案即外接盤內的檔案會沒有所有者,但不是垃圾檔案)
-mtime 按照修改的時間范圍搜索檔案



-atime 根據檔案的訪問時間搜索
-ctime 根據檔案屬性改變的時間搜索
-size 根據檔案大小搜索
-inum 根據檔案的i節點搜索

查找root目錄下大于10k小于30k的檔案(-a 表示與and,-o表示或or)

查找root目錄下大于10k小于30k的檔案并顯示檔案詳細資訊(-exec 命令 {} ; 對搜索結果進行操作)

五.grep(搜索字串)
1.命令格式
grep [選項] 字串 檔案名
說明:grep命令是在檔案中搜索符合條件的字串,如需匹配使用正則運算式進行包含匹配
2.選項
-i 忽略大小寫
-v 排除指定的字串

本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/251314.html
標籤:Linux
上一篇:linux 查看檔案命令
下一篇:linux搜索命令
