例如,我在~/.bashrc文件(或等价物)中看到的一个常见别名是
alias rm='rm -i'
Run Code Online (Sandbox Code Playgroud)
但是,我看到人们建议不要这样做,因为
rm,您无意中删除了一些重要的内容。[1]y或执行,这与整个目的背道而驰。yesrm还有其他理由不建议这样做吗?可能有些程序只是简单地调用rm而不是\rm,并且对它进行别名可能会给他们带来问题?
我rm仅将其用作示例,但我也看到过类似别名cp或被mv别名覆盖的其他命令。就个人而言,我正在慢慢训练自己使用这样的别名来代替rm -i:
alias trash=`mv -v -t $HOME/.Trash`
Run Code Online (Sandbox Code Playgroud) 我只是在执行rm -rf B. 在我意识到我做了什么之前,一切都结束了。现在吸取了教训,我希望让我的一些文件夹白痴,以避免下次我做类似的事情并想自杀。
我能想到的一种方法是编写一个 bash 函数并将其别名为rm. 此函数将在每个子文件夹中查找隐藏文件,例如.dontdelete. 找到后,它会问我是否真的要继续。我不能使写保护,因为有一个进程不断写入此文件夹。有没有更好的方法来做到这一点?