1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| # 查找文件名 find 搜索目录 -name 目标名字 find / -name file名 /代表是全盘搜索,也可以指定目录搜索
find 搜索文件的命令格式: find [搜索范围] [匹配条件] 选项: -name 根据名字查找 -size 根据文件大小查找, +,-:大于设置的大小,直接写大小是等于 -user 查找用户名的所有者的所有文件 -group 根据所属组查找相关文件 -type 根据文件类型查找(f文件,d目录,l软链接文件) -inum 根据i节点查找 -amin 访问时间access -cmin 文件属性change -mmin 文件内容modify
# 查找文件内容------注意和find的放置位置差别 grep aaa *.log
# 删除文件 ---文件名存在空格;时间比较 tmp=`ls /root/sign/tmp/ | tr " " "?"`
for i in $tmp do if [ $i ];then f=${i//'?'/' '} a=`stat -c %Y /root/sign/tmp/"$f"` b=`date +%s` if [ $[ $b - $a ] -gt 500 ];then echo "delete file:$f" rm -rf /root/sign/tmp/"$f" fi fi done
# 删除文件 --- 查找test文件或者目录,并删除 find / -name test | xargs rm -rf
# 可以查找 /home下最近两天修改过的文件: find /home -type f -mtime -2 # 如果要把这些文件也删掉,那么可以: find /home -type f -mtime -2 -exec rm {} \;
-type f 查找文件 -type d 查找目录
-mtime -2 修改时间在2天内 -mtime +3 修改时间在3天前
-exec rm {} \; 将找到的文件 (假定找到文件的名字为 a.txt), 执行 rm a.txt 命令
# find有很多参数,有很强大的搜索功能,具体可以 man find 查看
|