我如何才能让rm停止征求我的许可?


15

在我的服务器上,当我运行rm时,rm总是询问我(即使我是root)的许可,而在我的台式机上则不会。像这样:

$ rm mod_wsgi-3.3.tar.gz
rm: remove regular file `mod_wsgi-3.3.tar.gz'?

我如何使其停止提示我?


也许这是一个别名。用列出别名,用alias删除别名unalias rm
H Marcelo Morales

1
只要记住,如果破坏系统,就可以保留这两部分。您可能需要切换到类似“ trash-cli给自己一个撤消”按钮进行删除的操作。
瑞安·汤普森

Answers:


15

我会检查您rm是否是别名。alias在命令行中键入,您将看到所有定义的别名。我希望有类似的东西

alias rm='rm -i'

如果是这样,则别名可能是在中定义的~/.bashrc,因此您可以完全删除别名或根据需要对其进行更改。

或者,您可以使用删除当前终端会话的别名unalias rm


3
我认为最好还是保留rm(由于别名使用-i),并在出现提示时键入yes或ctrl -c而不是rm -f。安全第一:我使用rm破坏了一个完整的系统,其中没有-i cuz,其他人将其从别名中删除(否则,我会发现我的错误:D)。
Rinzwind

@Rinzwind-您可能是正确的,但是在这种情况下,我不必担心让服务器系统崩溃。它是无状态的,我有安装脚本可以还原它。但是,我确实曾经通过类型错误的rm从系统中删除了一半的PHP库,但是我发现每次进行一次大的清理比每次进行小事都更麻烦。
Kit Sunde

2
不好意思地说,但是如果您还没有足够的经验来了解自己rm是别名,那么您可能应该保留安全措施。
MPi

11

rm -f mod_wsgi-3.3.tar.gz

警告:请谨慎使用。

手册页

-f, --force ignore nonexistent files, never prompt

2

我发现的最大的是

\rm file

这将运行原始的unalias版本,并保持别名完整。

我们也可以使用shell内置command例如

command rm file

但我肯定会喜欢第一个中较少的冗长


1
我使用引号来避免别名,例如,'rm' file但您的别名更短!
joeytwiddle

0

绕过定义的另一种方法alias是在不想被提示时给出完整路径:

/bin/rm mod_wsgi-3.3.tar.gz

rm -i为了安全起见,我喜欢留一个别名,因为当我在深夜里四处乱逛并打字时rm ...。但是,当我足够警觉以至于我不想被提示时,请输入/bin/rm ...


1
您也可以command rm /dead/filecommand执行它而无需搜索功能或别名。
kiri
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.