提到删除文件,首先想到的就是rm命令,但并不是所有的文件删除都需要通过rm命令,本文重点来普及下,在Linux命令行中如何正确的删除文件。
1、删除单一文件
unlink命令:用于删除指定的单一文件,只能同时删除一个文件或链接,不能删除目录,不能批量删除,适合删除单一的文件。
例:unlink wlnmp.sql
2、删除一个或多个文件
rm命令:也是我们最常用的删除命令,它可以删除一个、多个文件或目录,
注意:因为rm命令格外强大,在使用删除时需要格外小心,尤其要注意-rf和-f参数,在删除一个或多个文件时,请不要使用-rf,不要附加-r目录选项(养成一个良好的习惯),一旦误操作是毁灭性的。
例:删除whsir目录下的wh.log文件,并二次确认
rm whsir/wh.log
例:删除whsir目录及目录下所有文件
rm -rf whsir/
3、删除正在有日志写入的文件
>:通过标准输出方式删除,>等同于echo >。
例:当前有个MySQL日志文件whsir.log,不断有新的日志文件产生。
> whsir.log
4、通过查找删除文件
find:使用过Linux的都知道他是一个很强大的搜索命令,但是少数人知道,它本身也具有删除文件功能。
例:删除whsir目录下所有以.txt结尾的文件
find /whsir -type f -name "*.txt" -delete
总结:
1、删除文件需要结合当前场景,什么场景适用什么命令,不要一味的使用rm命令。
2、使用rm命令 时,应当养成一个良好的习惯,不要一味的使用-rf参数 ,一旦哪天手抖了(不要抱有侥幸心里)......
3、删除一个指定的文件可以选择unlink或rm FILE。
4、当删除有日志不断产生的文件时,首选>标准输出方式清除文件内容,应避免直接删除,直接删除可能会导致空间无法释放,造成服务必须重启才能释放空间,这非常重要。
5、建议单独的创建一个回收站目录,使用mv将需要删除的文件放入这个回收站,定期的去清空它,这样可以更大限度的保障误删文件后的找回。