相关疑难解决方法(0)

将 `rm` 移至垃圾箱

是否有一个 Linux 脚本/应用程序,而不是删除文件,而是将它们移动到一个特殊的“垃圾”位置?我想用它来代替rm(甚至可能是后者的别名;这样做有利有弊)。

“垃圾”是指一个特殊的文件夹。单个mv $* ~/.trash是第一步,但理想情况下,这还应该处理多个同名文件的垃圾处理,而不会覆盖旧的垃圾文件,并允许使用简单的命令(一种“撤消”)将文件恢复到其原始位置。此外,如果在重新启动时自动清空垃圾(或防止无休止增长的类似机制),那就太好了。

存在针对此问题的部分解决方案,但“恢复”操作尤其重要。是否有任何现有的解决方案不依赖图形外壳中的垃圾系统?

(顺便说一句,这种方法是否合理,而不是使用频繁的备份和 VCS 是否合理,一直存在无休止的讨论。虽然这些讨论有一定的意义,但我相信我的要求仍然存在。)

shell rm

61
推荐指数
5
解决办法
4万
查看次数

为什么不建议在标准命令上使用别名?

例如,我在~/.bashrc文件(或等价物)中看到的一个常见别名是

alias rm='rm -i'
Run Code Online (Sandbox Code Playgroud)

但是,我看到人们建议不要这样做,因为

  1. 别名可能不存在于另一个系统上,并且由于您对 粗心大意rm,您无意中删除了一些重要的内容。[1]
  2. 通过使用此别名,您实际上可以训练自己在每个命令之后键入y或执行,这与整个目的背道而驰。yesrm

还有其他理由不建议这样做吗?可能有些程序只是简单地调用rm而不是\rm,并且对它进行别名可能会给他们带来问题?

rm仅将其用作示例,但我也看到过类似别名cp或被mv别名覆盖的其他命令。就个人而言,我正在慢慢训练自己使用这样的别名来代替rm -i

alias trash=`mv -v -t $HOME/.Trash`
Run Code Online (Sandbox Code Playgroud)

command-line shell alias

20
推荐指数
4
解决办法
5867
查看次数

标签 统计

shell ×2

alias ×1

command-line ×1

rm ×1