我们经常要在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命令没被替换。
新闻热点
疑难解答