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