文件查找

  1. which
  • 作用:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
  • 格式:which [文件...]
  • 参数:
    -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
    -w  指定输出时栏位的宽度。
    -V  显示版本信息
  • 案例:
 which bash
 
 输出:
 /bin/bash                   #bash可执行程序的绝对路径 
  1. whereis
  • 作用:
    该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件
    该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令
  • 格式:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
  • 参数:
    -b              ~~~~~~~~~~           只查找二进制文件
    -m              ~~~~~~~~~~           只查找说明文件
    -s               ~~~~~~~~~~~            只查找原始代码文件
    -B<目录>  只在设置的目录下查找二进制文件。
    -f                ~~~~~~~~~~~~             不显示文件名前的路径名称。
    -M<目录>  只在设置的目录下查找说明文件。
    -S<目录>  只在设置的目录下查找原始代码文件。
    -u              ~~~~~~~~~~           查找不包含指定类型的文件。
  1. locate
  • 作用:用于查找符合条件的文档,他会去 保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录;
  • 格式:locate [-d ][--help][--version][范本样式...]
  • 参数:
    -d或–database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定
  • 例子:locate passwd 查找passwd文件
  • 注意:
    locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找;
    locate的速度比find,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为locate -u
  1. find
  • 用于找到某个特定的文件或文件夹
  • 格式:find /path/ [-name] [-type] [filename]
  • -name 选项可以根据文件名称进行检索(区分大小写)。如需要忽略文件名中的大小写,可以使用 -iname 选项
  • ? 可以表示任意一个单一的符号
  • find /usr -name '????' 查找 /usr 目录下所有文件名刚好为 4 个字符的文件
  • 可以表示任意数量(包括 0)的未知符号
    find /usr -name '*.txt' 查找 /usr 目录下所有文件名以 .txt 结尾的文件
  • 你需要在搜索时匹配某个文件或目录的完整路径,而不仅仅是匹配文件名。可以使用 -path-ipath 选项
    find /usr -path '*/src/*.txt' 找到位于usr文件下的所有txt的文件,且其父目录为src
  • -type 选项最常用的参数如下:
    f: 文件
    d: 目录
    l: 符号链接
  • find 命令支持 -empty 选项用来检索为空的文件或目录
    案例:find /usr -type d - empty 找到所有空文件夹
  • find 命令也允许用户对当前的匹配条件进行“反义”
    案例1:find /usr -type f ! -name '*.txt' 找到usr目录下所有为txt的文件
    案例2:find /usr -type d ! -empty 找到usr母驴下所有为空的目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值