我们经常要在linux查一个文件或目录,大家可能知道find命令,但find查询慢,有时其它命令就非常适合你,这里介绍一下,也放对你有用: 1、which 这个主要是查命令在哪个目录,只能查放在PATH目录的命令。如不在PATH,你的命令需要指明路径才得执行。 这个命令还有个好处,就是同一个命令可能在不同目录下有不同判本,通过which可以知道用的是哪个,比如ping就有两个: /bin/ping 和 /usr/bin/ping 你自己安装perl,sshd等,会安装到/usr/local/bin/下,而在/usr/bin/会有系统 自带的版本,所以你需要用which确认是使用了哪个,建议备份后,两个目录改为一样的。 华为 2、whereis 这个是通过数据库来查的,比较快,一般情况下比find快多了,当然这要求系统把你文件放入数据库。 这个适合你快速查找文件,不是刚生成的文件。 苹果iphone 3、locate 这个同whereis 一样,查数据库,很快。这个有个优点是,采集匹配模式的,只要文件名或路径里有这查找词,就都显示出来,而且非常快 当然是查数据库的,可能数据库没更新(centOS可能一天更新一次),你可以手工执行updatedb更新数据库,也是很快。 4、find 命令 这个命令非常强大,支持按文件名,日期,类型,大小等查询,举几个例子: find /apache/htdocs/nos/netflow/netflow/View/Report/Day/R-NF-547* -type f -mtime +10 查类型为文件,且以R-NF-547开头的文件名,且时间超过10天的,这个适合查找历史文件,定时删除: find /apache/htdocs/nos/netflow/netflow/View/Report/Day/R-NF-547* -type f -mtime +10 -exec rm {} \; 程序员 例子2: find / -size 1223123c 查全系统文件大小1223123字节的文件,这个很有用,一般被黑后,黑客可能在系统不同目录藏起来,且文件名不一样,但大小一样,这个就可以全查出来,当然前提是你的find命令没被替换。 |
|