which
在PATH变量echo $PATH
指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
命令格式:
which [-a] command
-a:将所有由PATH目录中可以找到的命令均列出来,而不是只列出第一个被找到的命令。
例如:
n3verl4nd@ubuntu:~$ which pwd /bin/pwd n3verl4nd@ubuntu:~$ which whoami /usr/bin/whoami n3verl4nd@ubuntu:~$
whereis
用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。
命令格式:
whereis [-bmsu] 文件或目录名
-b 只查找二进制格式的文件
-m 只查找在说明文件manual路径下的文件
-s 只招source源文件
-u 查找不在上述三个选项当中的其他特殊文件
例如:
n3verl4nd@ubuntu:~$ whereis java java: /usr/local/java /usr/share/java n3verl4nd@ubuntu:~$ whereis gcc gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/man/man1/gcc.1.gz n3verl4nd@ubuntu:~$
locate
在数据库中查找文件。
要手动更新数据库的方法也很简单,直接输入updatedb
即可。
命令格式:
Locate [选择参数] [样式]
例如:
n3verl4nd@ubuntu:~$ locate nginx.conf /usr/local/nginx/archieve/nginx-1.12.1/conf/nginx.conf /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.default n3verl4nd@ubuntu:~$ locate /etc/sh /etc/shadow /etc/shadow- /etc/shells n3verl4nd@ubuntu:~$
find
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
命令格式:
find pathname -options [-print -exec -ok …]
例如:
root@ubuntu:/home/n3verl4nd# find / -name nginx.conf find: `/run/user/1000/gvfs': 权限不够 /usr/local/nginx/conf/nginx.conf /usr/local/nginx/archieve/nginx-1.12.1/conf/nginx.conf