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 {} \。
(出处:http://www.sheup.com/)