一.脚本文件的查找
1.which
which [-a] command
例如:
which ifconfig
//这个命令是根据【PATH】这个环境变量所规范的路径,去查找执行文件的文件名。
2.type
在脚本中type可用于检查命令或函数是否存在,例如
如果想要了解命令的查找的顺序,可以通过【type -a 命令】查询到
二.文件的查找
1.where is
where [-bmsu] 文件或目录名
例子:
whereis ifconfig
//whereis主要针对/bin/sbin下面的执行文件,以及/usr/share/man下面的man page文件,
//跟几个比较特定的目录来处理而已,所以速度很快。whereis -l可以列出到底查了多少目录。
2.locate/updatedb
locate [-ir] keyword
//locate寻找的数据是由已建立的数据库/var/bin/mlocate/里面的数据所查找的,所以很快。但是数据库的建立是默认是在每天执行一次,所以当建立起来的文件,数据库中还没有更新,该命令是无法找到的。可以通过【updatedb】命令来更新。该命令会读取/etc/updatedb.conf这个配置文件的设置,然后去硬盘里进行查找文件名的操作,最后更新整个数据库文件。需要注意的是,updatedb命令可能会等待数分钟时间
3.find
find [PATH] [option] [action]
例子:find / -mtime 0 从现在开始24小时前的文件
find /home -user wupengwei 找出用户在/home目录下的所有文件
find / -name '*passwd*' 找出包含了passwd关键字的文件
注意
find速度慢,也影响硬盘性能,一般是先用whereis或者locate来检查,如果真的找不到了,才以find来查找。