是否有更安全的命令删除rm -rf以外的文件和目录?

时间:2017-01-24 23:12:52

标签: linux

我一直在阅读如何运行rm -rf删除文件和目录并不是一个好主意,因为它有多么危险,但似乎无法就如何安全删除文件找到共识通过终端的目录。 Linux中是否有另一个内置命令可以安全地执行此操作?

2 个答案:

答案 0 :(得分:1)

为已删除的对象创建一个垃圾桶。

    mkdir ~/trash
    mv xyz ~/trash

您可以恢复,只需注意文件上的某些权限可能会发生变化。

答案 1 :(得分:1)

考虑使用-i-I选项,即

$ rm -i foo
$ rm -I foo

告诉rm 交互式,提示您确认删除文件。

来自rm(1)联机帮助页:

       -i     prompt before every removal

       -I     prompt once before removing  more  than  three  files,  or  when
              removing recursively; less intrusive than -i, while still giving
              protection against most mistakes

例如:

$ mkdir -p ~/foo/{bar,baz}        # make some dirs
$ touch ~/foo/{bar,baz}/{1,2,3}   # add some empty files
$ rm -ir ~/ foo                   # note the "accidental" space between `~/` and `foo`
rm: descend into directory '/home/uz0r/'? y      # haven't noticed yet...
rm: remove regular file '/home/uz0r/.bashrc'?    # ...wait, what?

"坚持......我告诉你删除$HOME/foo,而不是$HOME!或者我......?"

所以你写了一个错字,但-i让你免于意外。现在您可以告诉rm停止,然后在纠正错字后再试一次。

  

小心使用-f它通过告诉rm"永远不会提示"

来抵消上述安全网
       -f, --force
              ignore nonexistent files and arguments, never prompt