linux学习日记(3)文件搜索命令
文件搜索命令
find搜索
find搜索是遍历指定目录的文件进行搜索
find搜索语法
find path -option [ -print ] [ -exec -ok command ] {} \;
选项名称 | 选项说明 | 注意事项 |
---|---|---|
-name | 区分大小写文件名称查找 | |
-iname | 不区分大小写文件名称查找 | |
-type | 根据类型查找 | -d(文件夹)、-l((软链接)、-f(文件) |
-size | 根据大小查找 | +10、-10、=10(以字节为单位) |
-amin | 根据文件被读取时间查找 | +10、-10、=10(以天数为单位) |
-cmin | 根据文件属性被修改的时间查找 | +10、-10、=10(以天数为单位) |
-min | +10、-10、=10(以天数为单位) | |
-user | 根据所有者查找 | |
-group | 根据所有组查找 | |
-inum | 根据iNode查找 | |
-perm | 根据权限查找 | |
-a | 连接符(即and) | |
-o | 连接符(即or) |
在find中,可以在查询语句后面使用[-exec/-ok command ] {} ;执行command语句,后面的格式都是固定的
locate搜索
locate搜索命令是将定时扫描系统里的所有文件的属性且全部存放至一个数据库中,搜索的时候,只需要遍历数据库就可以
优点:
速度快且高效
缺点:
1.无法搜索最新创建的文件(需要手动调用updatedb更新这个数据库)
2.无法搜索tmp等临时目录下的文件,因为locate不保存临时目录的文件属性
使用方法:
locate path 搜索名称
which搜索
可以搜索命令所在目录及别名信息
- 文件搜索命令:which
- 命令名称:which
- 命令所在路径:/usr/bin/which
- 执行权限:所有用户 语法:which 命令
- 功能描述:搜索命令所在目录及别名信息 范例:$ which ls
whereis搜索
- 文件搜索命令:whereis
- 命令名称:whereis
- 命令所在路径:/usr/bin/whereis
- 执行权限:所有用户 语法:whereis [命令名称]
- 功能描述:搜索命令所在目录及帮助文档路径 范例:$ whereis ls
grep搜索
可以根据文件里的数据搜索
- 文件搜索命令:grep
- 命令名称:grep
- 命令所在路径:/bin/grep
- 执行权限:所有用户
- 语法:grep -iv [指定字串] [文件]
- 功能描述:在文件中搜寻字串匹配的行并输出
- -i 不区分大小写
- -v 排除指定字串
- 范例:# grep mysql /root/install.log