解压了一个45G的文件至你的/home下了 你打算怎么做删除他们?

解压了一个45G的文件至你的/home下了 你打算怎么做删除他们?

有一天晚上,你也许很懵逼的会把 一个很大的文件
错,tar到你的/home下 我也是很绝望 不知道 当时 为什么没有指定文件夹
结果 ls 列了 5分钟 …
还好 从CSDN上得知 find命令可以查找某时间段内的所有文件
当然 在配合一下函数 就可以 解决了
mnp 我还是觉得 我很愚蠢…

sudo find /home/hacker -type f -mmin +645 -exec rm {} \;
这条命令意思就是rm掉你645分钟前文件.....

相应的命令也拓展了解一下
比如

有大量文件夹 想批量删除他们怎么办?

find . -maxdepth 1  -regex ".*ws.*"
注:maxdepth值为1表示只在当前目录查找,不递归查找其子目录
find . -maxdepth 1  -regex ".*ws.*" -exec rm -rf {} \; 
注:批量删除它们,这个世界瞬间清爽了很多 后面的分号,不要省略啊
find . -maxdepth 1  -regex ".*ws.*" | xargs rm -rf
注:xargs是把前面的输出作为后面的参数,如果多行输出,就多次执行后面的命令
find . -maxdepth 1 -name "*ws*" | xargs rm -rf
注:有的linux系统支持的regex正则表达式不一样,可以使用上面的方式替换
find . -regex ".*\.\(txt\|sh\)"
注: 参数“-regextype type”可以指定“type”类型的正则语法,find支持的正则语法有:valid types are `findutils-default', `awk', `egrep', `ed', `emacs', `gnu-awk', `grep', `posix-awk', `posix-basic', `posix-egrep', `posix-extended', `posix-minimal-basic', `sed'.

find对文件或目录指定时间操作

find /home/ -type f -mmin +N -exec ls -l {} \;
注:显示N分钟前的文件
find /home/ -type d -mtime +N -exec ls -l {} \;
注:显示N天前的目录
find /home/ -type d -mtime +N -exec rm {} \;
注:删除N天前的目录

提醒大家一句:回车之前一定要三思。。。。。。

2 个赞

服务器资源由ZeptoVM赞助

Partners Wiki Discord