文件搜索命令

Posted alohana

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件搜索命令相关的知识,希望对你有一定的参考价值。

1. find 搜索文件

! 文件搜索会占用大量资源, 尽量不要使用

  • 语法: find [搜索范围] [匹配条件]
匹配条件 参数
-name 名称(区分大小写, *匹配任意数量的字符, ?匹配单个字符)
-iname 不区分的名称, 其他同上
-size [+-=(大于、小于、等于)]大小(单位为数据块——0.5)
-user 所有者
-group 所属组
-uid UID,用户账号ID
-gid GID,用户组ID
-nouser 寻找所有者不在/etc/passwd中的文件
-nogroup 寻找所属组不在/etc/passwd中的文件
-amin [+-=(大于、小于、等于)]访问时间
-cmin [+-=(大于、小于、等于)]文件属性改变时间
-mmin [+-=(大于、小于、等于)]文件内容改变时间
-a 连接两个选项, 与
-o 连接两个选项, 或
-type 文件类型 f常规文件,d目录,l软链接,bc设备文件,s socket,pFIFO(pipe)
-inum i节点, 常用于删除一些名称很奇怪的文件或目录
-perm [-+]<mode>,权限属性刚好为(无符号)、至少全部包括(-)或至少包括一项(+)的文件.mode用数字表示,权限比较最小单位为r,w,x等

0 代表当前时间

技术图片

  • 处理find的搜索结果
    • 语法: <find语句> -exec/-ok <command> {} ;
    • 说明
      • {} 表示引用find结果
      • ; 表示结束
      • -ok: 与-exec类似,但会出现确认信息

2. locate 在文件资料库中查找文件

  • 语法: locate [-ir] [文件名]
    • -i: 不区分大小写
    • -r: 后可接正则表达式
  • 描述: Linux中有一个定期更新的数据库/var/lib/mlocate/mlocate.db, locate命令根据此数据库搜索文件。
  • 注意
    • 有时数据库可能没有更新,此时可以用命令updatedb更新数据库
    • /tmp目录中的文件不会被记录在mlocate.db中

3. which 搜索命令所在路径并显示别名信息

which只在PATH目录中寻找

  • 语法: which [-a] [命令名称]
    • -a: 将所有PATH目录中的匹配的命令均列出

4. whereis 搜索命令并显示帮助文档所在路径

  • 语法: whereis [-bmsu] [命令名称]
选项 功能
-b 只找二进制格式的文件
-m 只找在说明文件manual路径下的文件
-s 只找source源文件
-u 查找不在上述三个选项中的其他特殊文件

5. grep 搜索文件内容中的相应行

  • 语法: grep [-iv] [字符串] [文件]
    • -i: 不区分大小写
    • -v: 排除含有指定字符串的行

以上是关于文件搜索命令的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

代码片段 PHP,预期文件结尾,我错在哪里?

Xcode 4.6 的备份代码片段

全文搜索用于提取文本片段(返回预期文本及其周围)