Linux 命令实战(五)

2023-09-02 15:44:56 浏览数 (1)

Linux常用的查找命令

  • which
  • whereis
  • find
  • locate

which命令:可以快速返回命令指定命令的位置信息

  • 查找类型-二进制文件
  • 检索范围-PATH环境变量里面指定的路径
代码语言:javascript复制
[root@localhost /]# which mkdir
/usr/bin/mkdir
[root@localhost /]# which touch
/usr/bin/touch

whereis命令:可以快速返回指定命令的位置信息,以及man信息以及源代码

  • 查找类型-二进制文件,man帮助文件以及源代码文件
  • 检索范围-/usr目录
代码语言:javascript复制
[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:查找软链接文件
代码语言:javascript复制
[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:检索返回的文件是否包含字符串
代码语言:javascript复制
[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:返回结果拷贝到指定目录下
代码语言:javascript复制
[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

0 人点赞