-
find
- 所在路徑:/bin/find
- 執行權限:所有用戶
- 功能描述:查找文件
- 語法:find 【查找範圍】【匹配條件】
-
-name 按名字查找
- *:匹配所有字符。test*:匹配所有以test開頭的。
- ?:匹配單個字符。test???:匹配所有以test開頭且之後必須有也僅有三個字符。
如:find /etc -name test.c
-
-iname:與-name一樣按名字查找,但忽略大小寫。
-
-size:按文件大小查找。
- 單位爲一個數據塊=512B=0.5kB。
- +n:大於n數據塊。
- -n:小於n數據塊
- =n:等於n數據塊。(很少用)
-
-user:按照用戶名查找。
-
-group: 按照所屬組查找。
-
-amin:訪問時間access。
-
-cmin:最近多少分鐘內,文件屬性被修改。也就是ls -l中顯示的跟該文件或者目錄相關的屬性。
如find /etc -cmin -5
查找/etc下最近五分鐘內被修改過屬性的文件或者目錄。 -
-mmin:文件內容modify。也就是最近多少分鐘內,文件內容被修改。
-
查找條件有多個時。
- -a :前後兩者都滿足。
- -o: 前後兩者至少有一個滿足。
如:find /etc -size +155 -a -size -300
-
-exec/-ok:
find /etc -name init -exec ls -l {} ;
find /etc -name init執行完後,得到的結果立馬執行ls -l。注意ls -l {} ;之間的空格。{} \;是固定格式。
-ok與-exec只有一個區別,也就是執行操作時,會有個提示信息。 -
-type:按類型查找。
- f:文件。
- d:目錄。
- l:軟鏈接文件。
- 如:find /etc -type f
在/etc下查找所有文件。
-
-inum:根據i節點查找。
i節點也就是通過ls -i 顯示的文件名前的數字。
通過i節點刪除文件的例子
-
-
locate
- 所在路徑:/usr/bin/locate
- 執行權限:所有用戶
- 功能描述:在文件資料庫中查找文件。
- 語法:locate 【-i】文件名。
- -i :不區分大小寫
- 特點:
- 它與windows中的everything很像。也是先建立一個對系統大部分文件建立一個索引庫,然後直接在這個索引庫中查找,纔會這麼快。
- 如果新建一個文件,文件資料庫沒法這麼快更新,需要使用updatedb更新文件資料庫,然後查找。
- 有許多文件,locate不會收錄進它的文件資料庫,比如/tmp中存放的臨時文件。
- locate作爲查找不會特別靠譜,但非常快,查找常用的系統配置文件等,還是很好用的。真要完整的靠譜的查找,還是得find,不過find消耗資源太大,速度慢了點。
-
which
- 所在路徑:/usr/bin/which
- 執行權限:所有用戶。
- 功能描述:搜索命令所在絕對路徑以及別名信息。
- 語法:which 命令名
-
whereis
- 所在路徑:/usr/bin/whereis
- 執行權限:所有用戶
- 功能描述:查找命令所在絕對路徑以及配套的man文檔所在絕對路徑
- 語法:whereis 命令名
-
grep(文件內容搜索命令)
- 所在路徑:/bin/grep
- 執行權限:所有用戶
- 功能描述:在文件中搜索匹配的行,並輸出。
- 語法:grep 【-iv】 文件
- -i :搜索時,不區分大小寫。
- -v:排除包含該字符串的行。
- 例子:grep -v # /etc/init
在/etc/init文件中查找沒有#的行,也就是非註釋行,並輸出。
由於註釋不一定寫在行頭,也可以寫在行位,通過這種方法會過濾掉一些非註釋行。於是可以:grep -v ^# /etc/init
其中^表示行首,整句命令的意義也就是隻排除以#開頭的行。
linux查找命令(find、locate、which、whereis、grep)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.