使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。which区别于find在于只是查找命令
要查找which命令的位置:which which
要查找supervisord
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
命令参数:
-b:只查找二进制文件; -B<目录>:只在设置的目录下查找二进制文件; -f:不显示文件名前的路径名称; -m:只查找说明文件; -M<目录>:只在设置的目录下查找说明文件; -s:只查找原始代码文件; -S<目录>只在设置的目录下查找原始代码文件; -u:查找不包含指定类型的文件。
只查找二进制文件-b
只查找帮助文件-m
locate命令其实是find -name
的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb
,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
命令参数:
-b:只显示基目录是指定格式的文件; -c:显示符合指定格式的文件个数; -i:忽略大小写; -l:限制文件查询的个数; -w:全路径匹配
显示基目录-b参数
显示指定格式的文件个数
限制文件的查询个数-l