Linux命令之 rm命令
warning:
这篇文章距离上次修改已过1694天,其中的内容可能已经有所变动。
删除一个目录中的一个或多个文件或目录,如果没有使用-r
选项,则rm
不会删除目录。
Error:注意:删除命令很危险!Linux下没有回收站,删除文件前请三思!慎用
-r
和-f
参数! 永远不要用rm -rf /*
除非你能知道并承受其带来的后果!如果使用
rm
来删除文件,仍可以通过磁盘数据恢复软件来恢复文件。如果想保证该文件的内容无法还原,请考虑使用shred
。命令语法
rm [选项] 文件
附加参数
参数 | 说明 |
---|---|
-f, --force | 不给出提示。(即使原文件属性设为只读,亦直接删除,无需逐一确认。) |
-i, --interactive | 进行交互式删除。 |
-r, -R, --recursive | 指示rm将参数中列出的全部目录和子目录均递归地删除。 |
-v, --verbose | 详细显示进行的步骤。 |
常用范例
删除文件 test ,系统会先询问是否删除。
rm test
强行删除 test ,系统不再提示。
rm -f test
删除任何以 t 开头的文件,删除前逐一确认
rm -i t*
将 test_dir 及其子目录和其中所有文件删除
rm -r test_dir
将 test_dir 及子目录和其中所有文件删除,并且不用一一确认
rm -rf test_dir
自定义回收站功能
myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
info:上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。