怎样在Linux下查找文件

Linux 下的查找命令有好几个,我比较常用的就 whereis 和 find,这里和大家分享一下。

whereis

其中 whereis 主要用来查找命令文件、源代码和 man 帮助文件,使用也很简单,比如

//查找帮助文件
[root@web-node01 ~]# whereis -m php
php: /usr/share/man/man1/php.1
//查找二进制文件,除了帮助文件外全列出来了
[root@web-node01 ~]# whereis -b php
php: /usr/bin/php /etc/php.d /etc/php.ini /usr/include/php
//查找源代码,我用 Yum 安装的,啥都找不到
[root@web-node01 ~]# whereis -s php
php:
[root@web-node01 ~]#

就这些就够多了,够用了。

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真有意义,连男人命苦,必须啥都知道这件事情都规定好了啊。真苦,运行个命令:

[root@web-node01 ~]# man woman
No manual entry for woman
[root@web-node01 ~]#

示例:
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 {} ;

相关文章

发表评论

返回顶部