文件搜索命令
find
根据文件名搜索
语法:
find [搜素范围] [匹配条件]
-name 根据文件名查找 //*:匹配多个字符 ?:匹配单个字符
-iname 根据文件名查找(不区分大小写)
示例:
find /test -name *init* //根据文件名搜素 test文件夹下所有文件名包含init的文件
根据文件大小搜素
linux系统中最小的数据单位是数据块
1k = 2个数据块
1个数据块 = 512 字节
语法:
find 路径 -size [+/-] 数据块数量
+:大于 -:小于 没有表示等于
根据所有者查找
语法:
find 路径 -user 用户名
根据操作时间查找
语法:
find 路径 -选项 [+/-]时间
-amin:访问时间(access)
-cmin:修改文件属性(change)
-mmin:修改文件内容(modify)
示例:
find /test -mmin -5 //在test文件下查找5分钟内被修改过内容的文件和目录
根据文件类型查找
语法:
find 路径 -type [f/d/l]
//f:文件 d: 目录 l: 软链接
查询条件连接符
-a and/与
-o or/或
示例:
find /test -size +2 -a -type d //查询test文件夹下大于1k的文件目录
对查询到的结果进行处理
语法:
查询命令 -exec/ok 对结果执行的命令 {}\
-exec 直接执行
-ok 会询问是否执行
示例:
find /test -mmin -5 -exec ls -l {}\ //查询最近5分钟内修改过内容得到文件并展示
locate
功能:快速查找文件
语法:locate 关键词
- 需要经常更新文件库:
updatedb
- 放在暂存区/tmp目录下的文件无法用该命令查找
which
功能:搜素命令所在目录及别名信息
语法:which 命令
grep(最常用)
功能:搜素文件内容
语法:
grep [-iv] 关键字 文件
-i 不区分大小写
-v 忽略指定字符串
示例:
grep -i mysql instasl.log //查看当前目录下文件可以不加路径
grep -v ^# /etc/inittab //查看文件信息,同时忽略段首#开头的行