1. find
按照名稱查詢:
find [搜索範圍] [匹配條件]
find [搜索範圍] -name 關鍵詞
find -name init* ## ※匹配
find -name init??? ## init後面是三個字符的
find -iname 關鍵詞 ## 不區分大小寫
------------------------------------------------------------
按照文件大小查詢:
find [搜索範圍] -size +n(大於) -n(小於) =n(等於)
------------------------------------------------------------
按照所有者查詢:
find [搜索範圍] -user 關鍵詞
-------------------------------------------------------------
根據時間查詢
find [搜索範圍] -cmin 5 ## 文件屬性改變
find [搜索範圍] -amin 5 ## 訪問時間
find [搜索範圍] -mmin 5 ## 文件內容改變
----------------------------------------------------------------
-type 參數 : f 文件 d 目錄 l 軟連接
-a 同時滿足
-o 滿足一個即可
find /etc -name int* -a -type f ## 查找etc目錄下 名稱以int開頭的文件
find /etc -name init -exec ls -l {} \; ## 對搜索結果進行執行操作
--------------------------------------------------------
-inum 根據節點查找
2. locate
類似於windows的everything 工具,可以更加快速的查找,它是在文件資料庫中查找文件,而不是實時的全盤查找。
locate 文件名
locate -i 文件名 # 不區分大小寫
我們可以使用
locate locate # 可以找到locate 維護的文件資料庫位置
即 var/lib/mlocate/mlocate.db就是 文件資料庫。當然如果此時我新建一個文件,那麼在使用 locate 命令是找不到該文件的,因爲文件資料庫並沒有更新。那麼怎麼更新文件資料庫呢?我們可以使用
updateddb # 更新文件資料庫
當然如果我在 tmp目錄下新建文件,即使執行了 updated,仍然找不到,因爲文件資料庫不會收集tmp目錄下的文件
3. which
搜索命令所在地的目錄以及別名信息
which 命令
4. whereis
查找命令所在目錄,以及幫助文檔位置
5. grep (查找文件內容)
grep 關鍵詞 路徑
grep -i 關鍵詞 路徑 # 不區分大小寫
grep -v ^關鍵詞 路徑 # 排除查找