做linux运维的小伙伴,日常工作绕不开文件、目录删除操作。
很多新手入门后只会一招rm -rf,不管删文件、删文件夹、清缓存统统乱用。看似万能,实则隐患极大,稍有不慎就会误删系统文件、清空项目目录,引发线上事故。
其实linux没有单独的delete专属命令,日常所有删除操作,都是靠rm、rmdir、find -delete这三套命令实现。
rm是linux删除的核心命令,绝大多数删除场景都靠它
1、基础用法:删除单个/多个文件
默认直接删除文件,部分系统会弹出确认提示,适合普通文件清理:
#删除单个普通文件rm a.log#一次性删除多个不同后缀文件rm app.log 2.sh ceshi.txt
2、强制删除:无需确认,静默删除
日常运维批量操作时,频繁确认太繁琐,-f参数可以强制删除、跳过所有确认,且文件不存在也不会报错:
#强制删除单个文件rm -f 3.sh#批量删除所有后缀为tmp的临时文件rm -f *.tmp
3、递归删除:删除文件夹及所有内容
-r 参数支持递归遍历目录,删除文件夹内所有文件、子目录,解决rmdir只能删空文件夹的局限:
#递归删除文件夹(会弹出确认提示)rm -r 123/#最常用组合:递归+强制删除(无任何提示,直接清空)rm -rf 234/
备注:rm -rf是运维标配命令,但严禁直接执行rm -rf /,绝对不要在根目录、系统关键目录乱用,会直接清空系统核心文件!
二、rmdir---安全删除空目录
很多场景下,我们只想清理多余的空文件夹,不想误删内部文件,rmdir有内容直接报错拦截的安全特性,安全性比较高,这时候用rmdir安全性远高于rm。
1、基础用法:删除单个空文件夹
#仅文件夹为空时删除成功,有内容直接报错rmdir ceshi
2、批量删除多层空目录
-p 参数可以递归删除多层嵌套空目录,不用逐层手动删除,效率更高:
#递归删除 a/b/c 多层空目录,逐层清空rmdir -p a/b/crmdir -p 234/345/456/
适用场景:项目部署后残留的空目录、编译后的空缓存文件夹,追求安全不踩坑优先用rmdir。
三、find + delete---精准批量删除
日常工作中,批量清理过期日志、超大垃圾文件、指定时间缓存文件,单纯用rm很难精准匹配,这时候 find + -delete 就是最优解,精准可控、不会误删其他文件。
1、按后缀删除:清理指定类型文件
#删除当前目录下所有.log日志文件find . -name "*.log" -delete#删除指定目录下所有 .tmp 临时文件find /home/ceshi -name "*.tmp" -delete
2、按时间删除:清理过期文件
服务器磁盘爆满,优先清理过期日志、缓存,按时间筛选删除最安全:
#删除当前目录下7天前的所有文件find . -type f -mtime +7 -delete#删除/var/log 目录下30天前的日志文件find /var/log -type f -mtime +30 -delete#-type f只匹配普通文件,不会误删目录
3、按大小删除:清理超大垃圾文件
磁盘容量告警时,精准删除无用大文件,不影响正常业务文件:
#删除当前目录下大于100M的文件find . -type f -size +100M -delete
四、日常注意事项
很多人删除报错、误删文件,都是踩了这几个通用坑,整理日常最高频的注意事项。
注意1:文件名含空格、特殊字符,删除失败
linux默认以空格分隔命令参数,带空格的文件名直接删会报错,识别不到完整文件:错误写法:rm -rf my file.txt(会识别成my、file.txt两个文件,删除失败)
正确解决方案
#方法1:双引号包裹文件名rm -rf "my file.txt"#方法2:反斜杠转义空格rm -rf my\ file.txt
注意2:误删无法恢复
linux终端删除属于彻底清除,不存在回收站机制,rm删除后数据很难找回。
实战建议:批量删除前,先把 -delete 换成 -ls 预览文件,确认无误再执行删除:
#先预览7天前的文件,确认删除范围find . -type f -mtime +7 -ls#预览无误后,再执行删除find . -type f -mtime +7 -delete
注意3:通配符乱用导致误删
rm -rf * 是高危操作,一旦在错误目录执行,会清空当前所有文件。
安全习惯:执行 rm -rf * 前,先执行 ls 查看当前目录文件,确认路径无误再操作。
五、总结
linux删除操作,核心从来不是“会不会命令”,而是能不能精准、安全操作。
不要过度依赖rm -rf万能公式,简单空目录用rmdir,批量精准清理用find-delete,高危操作先预览再执行。
养成规范的删除习惯,能避开99%的线上误删事故,也是运维、开发的必备基本功。
如果你觉得文章对你的运维工作有帮助,欢迎点赞收藏。
#运维#linux运维#linux实战#linux文件安全删除