Linux常用的查找命令
- which
- whereis
- find
- locate
which命令:可以快速返回命令指定命令的位置信息
- 查找类型-二进制文件
- 检索范围-PATH环境变量里面指定的路径
[root@localhost /]# which mkdir
/usr/bin/mkdir
[root@localhost /]# which touch
/usr/bin/touch
whereis命令:可以快速返回指定命令的位置信息,以及man信息以及源代码
- 查找类型-二进制文件,man帮助文件以及源代码文件
- 检索范围-/usr目录
[root@localhost /]# whereis mkdir
mkdir: /usr/bin/mkdir /usr/share/man/man1/mkdir.1.gz
[root@localhost /]# whereis -b mkdir
mkdir: /usr/bin/mkdir
[root@localhost /]# whereis -m mkdir
find命令:可以指定完整的文件名称,也可以使用通配符进行模糊查找
- 查找类型:所有文件
- 检索范围:指定路径 参数
- -type d :查找目录
- -type f:查找普通文件
- -type l:查找软链接文件
[root@localhost /]# find ./ -name profile
./etc/lvm/profile
./etc/profile
[root@localhost /]# find ./ -name profile -type f
./etc/profile
[root@localhost /]# find ./ -name profile -type d
./etc/lvm/profile
[root@localhost /]# find ./ -name profile -type l
组合命令:
- find xargs grep:检索返回的文件是否包含字符串
[root@localhost jiepi]# find ./ -name 'test*' -type f
./xw/test/test.txt.gz
./xw/wuyi/test.txt
./test.zip
./test/test.txt
./test.txt
[root@localhost jiepi]# find ./ -name 'test*' -type f | xargs grep -i hello
./xw/wuyi/test.txt:hello
./test.txt:hello
- find xargs cp:返回结果拷贝到指定目录下
[root@localhost jiepi]# find ./ -name 'test*' -type f
./test.zip
./test/test.txt
./test.txt
[root@localhost jiepi]# find ./ -name 'test*' -type f | xargs -i cp {} /jiepi/xw/
[root@localhost jiepi]# ls /jiepi/xw/
test.txt test.zip
locate命令:locate是Linux系统提供的一种快速检索全局文件的系统命令,它并不是真的去检索所以系统目录,而是检索一个数据库文件locatedb(Ubuntu系统位置/var/cache/locate/locatedb),该数据库文件包含了系统所有文件的路径索引信息,所以查找速度很快
查找类型:所有文件;
检索范围:locatedb数据库;
代码语言:javascript复制[root@localhost jiepi]# locate mkdir
/usr/bin/mkdir
/usr/share/man/man1/mkdir.1.gz