搜尋指令的指令:whereis
用法: whereis 指令名 用于搜尋指令所在路徑及幫助文檔的所在位置
-b :查找指定指令的存放位置
-m :查找指定指令的幫助檔案所在位置
which指令
和whereis基本一樣,差別在于which指令可以顯示所查指令是否有别名并顯示别名的所在路徑,例如ls指令的别名為ll
PATH環境變量:定義系統搜尋指令的路徑
*find指令
用法: find [搜尋範圍][搜尋條件] 搜尋檔案
例如搜尋abc這個檔案,其指令為 find / -name abc
find指令要盡量避免大範圍搜尋,其會非常消耗系統資源,find是在系統中索索符合條件的檔案名
如果需要比對,則使用通配符比對,通配符為完全比對(即搜的檔案跟原始檔案一模一樣才可以)
Linux中的通配符:
* 比對任意内容
? 比對任意一個字元
[] 比對任意一個中括号内的字元
find /root -iname abc 不區分大小寫,即abc ABC都會被搜到
find /root -userroot 按照所有者搜尋
find /root -nouser 查找沒有所有者的檔案(即垃圾檔案,但有兩個例外可能不是,即核心産生的檔案和外來檔案,如U盤考進來的檔案)
find /var/log/ -mtime +7 查找7天前修改的檔案
-7 :7天内修改過的檔案
7 :第7天當天修改過的檔案
+7 :7天前修改過的檔案
其他參數:atime :檔案通路時間
ctime :改變過的檔案屬性
mtime :修改檔案内容
find /root -size 25k 查找檔案大小為25KB的檔案
-25k 小于25KB的檔案
25k 等于25KB的檔案
+25k 大于25KB的檔案
find /root -inum 22222 查找i節點是22222的檔案名 例如:
find /etc -size +20k -a -size -40k 查找/etc/目錄下,大于20 KB并且小于40KB的檔案
-a and 兩個條件都滿足
-o or 兩個條件滿足一個即可 例如:
find /etc -size +20k -a -size -50k -exec ls -lh{}\;
#查找/etc/目錄下,大于20KB并且小于50KB的檔案,并且顯示詳細資訊 例如:
grep指令:用于搜尋檔案内指定的字元串
-v 取反
-i 不區分大小寫
*find指令和grep指令的差別:在系統中用于搜尋符合條件的檔案名,grep用于搜尋檔案當中符合搜尋條件的字元串