rm -I 防止意外 rm

rm -I 防止意外 rm

我只是alias rm="rm -I"为了防止意外rm命令而创建。

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

但它不起作用。当我使用时,我没有收到任何提示rm -rf

答案1

如果你阅读帮助再次你会看到它说以前的 --interactive。这意味着您可以在所有其他参数之后添加一个-I(例如在行尾),它将再次被遵守!

要做到这一点,你需要一个函数而不是别名,但只要把它放在你的.bashrc(et al)的某个地方,你就成功了:

function rm { /bin/rm "$@" -I; }

比这更安全的方法是使用trash-clitrash-put命令。它会将内容放入您帐户的垃圾目录中,可以正常查看/恢复/清空。它还具有虚拟的-r和参数-f-i因此可以实现完美的别名:

alias rm="trash-put"

答案2

这里的问题是,它-f忽略rm任何交互式命令:

`-f'
`--force'
   Ignore nonexistent files and missing operands, and never prompt
   the user.  Ignore any previous `--interactive' (`-i') option.

来源:info coreutils 'rm invocation'

相关内容