文件搜索命令
Posted alohana
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件搜索命令相关的知识,希望对你有一定的参考价值。
目录
1. find 搜索文件
! 文件搜索会占用大量资源, 尽量不要使用
- 语法: find [搜索范围] [匹配条件]
匹配条件 | 参数 |
---|---|
-name | 名称(区分大小写, *匹配任意数量的字符, ?匹配单个字符) |
-iname | 不区分的名称, 其他同上 |
-size | [+-=(大于、小于、 |
-user | 所有者 |
-group | 所属组 |
-uid | UID,用户账号ID |
-gid | GID,用户组ID |
-nouser | 寻找所有者不在/etc/passwd中的文件 |
-nogroup | 寻找所属组不在/etc/passwd中的文件 |
-amin | [+-=(大于、小于、等于)]访问时间 |
-cmin | [+-=(大于、小于、等于)]文件属性改变时间 |
-mmin | [+-=(大于、小于、等于)]文件内容改变时间 |
-a | 连接两个选项, 与 |
-o | 连接两个选项, 或 |
-type | 文件类型 f 常规文件,d 目录,l 软链接,b 和c 设备文件,s socket,p FIFO(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自定义代码片段15——git命令操作一个完整流程