linux rm

Linux rm 命令用于删除一个文件或者目录。

注意:文件删除则无法恢复,慎用。

参数

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

案例

  • 删除指定文件
$ rm xxx.txt
  • 删除一个文件夹及其下面的所有文件
$ rm -rf XXX

mkdir

创建一个文件夹

$ mkdir XXX

创建一个文件

$ vi xxx

linux vi

删除的双刃剑

删除是一个非常强大的功能,操作不当就带来严重的问题。

比如:

rm -rf / home/work/logs/

一个空格,删除整个世界。

再比如:

cd ${log_path}

rm -rf *

目录不存在时,悲剧发生。

如何避免

  • 模拟回收站

使用 mv 命令将文件移动到指定的文件夹。

文件夹本身的内容使用 shell 脚本定时清理。

  • 降低权限

让删除这种操作只有固定的专业的人员才有,其他人不能做这么危险的事情。

  • 使用 &&

可以通过“&&”,将

cd ${log_path}

rm -rf *

合并成一个语句

cd ${log_path} && rm -rf *

当前半句执行失败的时候,后半句不再执行。

参考资料

Linux rm 命令详解

rm -rf * 了咋办,跑路吗?