linux根据⽇期操作⽂件,Linux-find命令应⽤举例-按时间筛选和
删除⽂件
find参数说明:
find有很多参数是以动作⾸字母+时间的⽅式⽤于按访问、改变、更新时间来筛选⽂件。
动作表达:
a(last accessed) 最近⼀次访问时间
c(last changed) 最近⼀次改变时间
m(last modified) 最近⼀次修改时间
注意此上的c和m的区别,c是change,包括⽂件的权限、⽂件名的更改都算,但是m,只有⽂件的本⾝的内容更改才算修改。
时间单位的表达:
-min(minutes) 分钟
-time ⼩时
-newer ⽂件最近⼀次操作(操作类型取决于前⾯的字母)晚于⽂件的修改时间
例⼦:
find /home -atime +10 -name "*.*"
#查home⽬录下10天内未访问的⽂件
这⾥的-name 参数匹配⽂件名,.表⽰匹配所有⽂件,atime的值+10,表⽰10天之前,若是-10表⽰10天之内,10(没有加减号)表⽰10天。
执⾏删除命令
上述操作⽤于查⽂件,查到⽬标⽂件后删除
-exec参数,如果查有返回,可在exec参数后加上需要操作的命令,查结果⽤{}来代替
查10天内未被修改的⽂件并删除命令:
find . -ctime +30 -name "." -exec rm -Rf {} \;
建⽴脚本
在home⽬录下建⽴⽂件夹cshell,建⽴⽂件rm-old.sh
$mkdir ~/cshell
$vi ~/cshell/rm-old.sh
脚本内容:
#!/bin/bash
find . -atime +30 -name "." -exec rm -Rf {} \;
echo "current floder is :";
pwd;
echo "file is deleted."
存⼊环境变量,打开⽂件~/.bashrc,在最后⼀⾏添加:
export PATH=${PATH}:$HOME/cshell 使环境变量修改⽣效:
$source ~/.bashrc
在想删除旧⽂件的地⽅执⾏即可:
$rm-old.sh
更多find命令使⽤举例
1.查没有777权限的⽂件
f ind . -type f ! -perm 777
2.查只读⽂件
f ind . -perm /u=r
3.查空⽬录
f ind . -type d -empty
4.查某⽤户的⽂件
find查命令的使用f ind . -user cgz
END~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论