避免意外的“ rm”灾难


1

今天,sudo -s我想使用rm -R ./lib/,但实际上rm -R /lib/

我必须重新安装操作系统(薄荷15),然后重新下载并重新配置所有软件包。不好玩。

将来如何避免类似的错误?


1
在执行命令之前,请仔细阅读命令,并且不要在不喝至少半杯咖啡的情况下进行管理工作。
Mr_Spock

有什么方法可以让rm显示/(根)路径的确认对话框?
罗密欧

Answers:


6

首先,停止以root用户身份执行所有操作。您根本不需要这样做。仅在sudo需要时运行单个命令。如果没有sudo正常命令不起作用,只需调用sudo !!以再次执行它即可。

如果您对以root身份运行时的其他操作抱有偏执rmmv则可以将以下别名添加到shell的配置文件中:

[ $UID = 0 ] && \
  alias rm='rm -i' && \
  alias mv='mv -i' && \
  alias cp='cp -i'

这些都将分别提示您确认(-i),然后再删除文件或覆盖现有文件,但前提是您是root(ID为0的用户)。

不过不要太习惯了。如果您发现自己在无法提示您所有操作的系统上工作,则最终可能会在不注意的情况下删除内容。避免错误的最佳方法是永远不要以root用户身份运行,并仔细考虑使用时在做什么sudo


谢谢回复。我知道我应该尽可能少地使用sudo,但是我不断发现自己必须删除/移动/复制,构建/编译内容或运行bash脚本。大多数时候,我需要使用sudo-这正常吗?还是有办法给普通用户更多权限?
罗密欧

这实际上取决于您在做什么。如果是系统范围的维护,那么您真的不能避免以特权用户身份运行大多数命令。另一方面,编译不应要求提升的权限。* nix哲学的一部分是用户应该知道他们在做什么-除非您一直希望得到提示,否则无法真正避免这种情况。
slhck
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.