Linux 下的查找命令有好幾個,我比較常用的就 whereis 和 find,這裡和大家分享一下。
whereis
其中 whereis 主要用來查找命令文件、源代碼和 man 幫助文件,使用也很簡單,比如
//查找幫助文件
[wyg@server]# whereis -m php php: /usr/share/man/man1/php.1
//查找二進制文件,除了幫助文件外全列出來了
[wyg@server]# whereis -b php php: /usr/bin/php /etc/php.d /etc/php.ini /usr/include/php
//查找源代碼,啥都找不到~~
[wyg@server]# whereis -s php
php:
就這些就夠多了,夠用了。
find
find 命令功能比他更強,主要是他定制性強,可以配合其他命令執行就無敵了,在服務器管理方面主要還是來針對特定的日志文件操作特別爽。
用法:
find 要查找的目錄 限定條件 -exec 要執行的命令 {} \;
限定條件挺多的,可以組合使用,下面是一些常用的
mtime +90 表示 90 天前修改過的(數字前面的+表示那天之前,-表示那天之後,沒有符號表示正好那一天當天)
atime +90 表示 90 天前讀過的
type f 表示是普通文件
type d 表示是目錄
perm 744 表示文件權限為 744
size +512k 表示文件大於512k
要執行的命令就看你的了,比如列出這個目錄常用 ls -l -h 那就直接用上,這個和平時是一樣,注意那個{}會被替換成找到的文件名,因此如果你要執行的命令對文件名的位置有講究的話,調整下位置。
另外,那個-exec替換成-ok之後的話,要進行的操作需要確認,這對刪除文件比較好,刪錯了問題就大了,你說對吧。
不多說了,後面附上幾個例子,供大家參考聯系。遇到問題,直接在命令行調用”男人(man)”就可以了。Linux真有意義,連男人命苦,必須啥都知道這件事情都規定好了啊。真苦,運行個命令:
[wyg@server]# man woman
No manual entry for woman
示例:
1、查找修改時間超過90天的文件
# find /data/data/users -mtime +90
2、查找90天以前的文件,並用LS列出全名
# find /data/data/users -mtime +90 -type f -exec ls -l -h {} \;
3、查找修改時間超過90天,並且不包含click_15和click_16目錄的文件
# find /data/data/users -mtime +90 ( -path /data/data/users/click_15 -o -path /data/data/users/click_16 ) -prune -o -print
4、查找修改時間超過90天,並需確認刪除
# find /data/data/users -mtime +90 -ok rm -R {} \。