鸟哥Linux学习之——查找

来源:互联网 发布:宽带网络套餐 编辑:程序博客网 时间:2024/05/23 23:20

Linux查找方式有很多,功能各有不同。

一、脚本文件查询

1、寻找执行文件:which
命令:which [-a] command
参数:-a表示将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令

2、bash内置命令:type
命令:type [-tpa] name
说明:不加参数时,type会显示出name是外置命令还是bash内置命令,并显示其来源
参数:
-t:当加入-t参数时,会根据一下参数区别显示
file:表示为外部命令
alias:表示该命令时alias所设置的名称
builtin:表示该命令为bash内置命令
-p:如果查找的命令为外部命令,显示其完整文件名
-a:将由PATH定义的路径中的所有的要查找的name列出来,包括alias

二、文件查找

1、寻找特定文件:whereis
命令:whereis [-bmsu] filename
-b:只找二进制格式的文件
-m:只找在说明文件manual路径下的文件
-s:只找source源文件
-u:查找不在上述三个命令中的其他文件

2、locate
命令:locate keyword
描述:locate命令需要预先建立数据库,数据库默认每天更新一次,因此,locate查找方式非常快速,但由于新增的文件可能不被数据库收录,此时用locate查找会没有结果,因此,需要使用updatedb命令手动更新数据库。
参数:
keyword:搜索关键字

3、find
命令:find 目标目录 查找方式 目标文件关键字
参数:
目标目录:在该目录下查找文件
查找方式:
1. name:按文件名进行查找
2. perm:按文件权限进行查找
3. type:按文件类型进行查找[如:d表示要查找目录]
4. user:按文件所属用户进行查找
5. ctime:按文件创建时间进行查找
6. size:按文件大小进行查找
描述:find与locate不同,它会在指定目录下遍历要查找的文件,所以查找速度比不上locate,但find也有它的强大之处

  1. find可以根据参数以不同的方式进行查找
  2. 查找关键字支持正则
  3. find命令后加上-exec shell {} \;可以将查询结果作为参数去执行另一个命令(shell为另一个命令)如:find . -name “*a*” exec ls -l {} \;