grep
按照文件内容查找文件
grep -R "struct task_struct {" /usr/src/ # 在/usr/src/中查找 包含 "文本" 的文件
grep -R "xxxx" /usr/src/ -n # 显示行号
find
-name
find / -name *.mp3
-type
find / -type f(普通文件) | c(字符设备) | d(目录) | p(管道) | b(块设备) | s(socket) | l(符号链接)
-size
默认单位512B --> 0.5k --> 一个扇区的大小
-M: 不能'm' -- find / -size +3M -size -7M #查找 3~7M的文件
-k: 不能'K' -- find / -size +47k -size -89k #查找47k~89k的文件
-maxdepth
列出当前目录下有多少目录
find ./ -maxdepth 1 -type d #默认递归找, -maxdepth指定递归层级
find ./ -maxdepth 1 -type d | wc l #输出数量
-exec
find ./ -maxdepth 1 -name "*.sh" -exec ls -lh {}\;
find ./ -maxdepth 1 -name "*.sh" 表示查询文件
-exec 表示执行
ls -lh 要执行的语句
{} 要执行的结果在大括号里, 含义: find命令的结果放到{}中
\; ';'结束标记, 需要用转义字符转义
###############################
-exec代表后面紧接着要执行的命令
exp: find ./ -maxdepth 1 -name "*.sh" -ok rm {} \; # 查找并删除, -ok给出删除提示
xargs
xargs 是分批将数据放入缓冲区进行输出, 而不是一次性将结果放入缓冲区
xargs 是以NULL '\0' 为依据进行分割
搜索后使用 ls -lh输出, xargs配合管道'|'使用
find ./ -maxdepth 1 -name "*.sh" | xargs ls -lh
-print0
touch test\ test.mp3
find ./ -maxdepth 1 -type f -print0 | xargs -0 ls -lh
-atime
访问时间: 天
系统的日志文件路径: /var/log/
当前系统的日志文件: /var/log/syslog
-amin
访问时间: 分钟
-mtime
文件内容修改时间: 天为级别
find ./ -mtime +5 -exec ls -lh {} \; # 列出5天以前修改过内容的文件
-mtime -5: 5天以内
-mmin
文件内容修改时间: 分钟为级别
-ctime
文件属性修改时间: 天
cmin
文件属性修改时间: 分钟