rm带有-i
和-I
标志,以便在每次删除之前进行确认。过去,某些发行版默认情况下将其打开。这是一个可怕的主意。给用户太多的确认对话框以进行正常操作,他们将开始习惯性地进行确认。这只是将“小心”(总是带有红色标记)的要求转移到了一个新的,更烦人的对话框上。“是的。是的。是的。是的!是的!老天,该死的愚蠢的计算机只删除了文件。是的是的是的-抓拍我的意思是不!不!这是“是,但我不是”对话框问题。 该答案以直观的方式说明了为什么在错误的时间出现确认对话框。
您描述的那种错误是一种错误,即“执行某项操作而不是预期的操作”。用户通常会立即发现错误并确切知道如何解决。不幸的是,Unix没有给用户机会,rm会立即删除文件。每个其他操作系统都通过使用垃圾箱允许删除删除操作,至少有一小段时间来解决此问题。
Unix有各种各样的垃圾系统,这个答案充满了建议。
问题是给rm别名还是不给rm别名。别名rm的优点...
- 您不会忘记使用rm选项。
别名rm的缺点...
- 您可能会依赖于没有它的系统。
- 磁盘快满时可能会引起问题。
- 需要基础架构来定期清空垃圾。
- 必须确保不干扰程序中rm的预期行为。
- 可能无法完全模拟rm。
如果您太过遵循第一个参数,则最终会使用vi(不是vim,vi),csh(不是tcsh,csh)和其他过时的实用程序,因为它们普遍可用。尽管如此,仍然存在过度定制环境的危险。我更喜欢随身携带公用程序,并使其尽可能简单。YMMV。
第二和第三是技术问题。可以通过巧妙的收割工作来解决这些问题,该工作可以检查垃圾箱的大小并定期清理东西,类似于tmpreaper。这可能是一项艰巨的任务,或更聪明的版本可以利用许多桌面Linux发行版上可用的各种文件系统事件基础结构。这并不简单,甚至更难有效地执行。找到一个现有系统比尝试创建自己的系统要好。
可以通过将新rm设置为shell别名来解决第四个问题alias rm='trash'
,这不会影响程序。
第五是我留给读者解决的问题。rm没有太多的开关。
zsh
或bash
),我宁愿养成在按回车键之前先按Tab键(触发自动完成)的习惯