为什么Linux的命令rm没有回收站呢?
命令行程序是工具,旨在实现核心功能。在Linux中,命令rm没有回收站。在Windows中,命令del也没有回收站。
图形化应用是产品,旨在考虑用户需求。在Windows中,文件管理器支持回收站功能。在Linux中,文件管理器(比如PCManFM、Nautilus等等)同样具有回收站,由XDG规范定义。
回到问题「为什么Linux的命令rm没有回收站呢?」,因为回收站不是rm的核心功能,而是产品功能,况且rm已经支持「确认删除"功能,以防止用户误删,找不出支持回收站功能的任何理由。
开弓没有回头箭,这就是linux要告诉你的道理。
所以要什么回收站呢?让你能不断的出错、修改?在正式的工作中,有多少时间能给你试错的机会呢?
所以linux从使用上就帮助你养成一步到位的习惯,不需要试错,只要最终结果。因为你是程序员,你不能马虎,不能不负责任。
当你按下 Enter 的一刻,你就应该对这条指令负责任。
回收站能帮你挽救误删的文件,万一将来你要执行的是一个重要指令(例如部署测试代码),如果你平时养成了无脑按 Enter 习惯的话,结果很有可能会是灾难性(例如把测试代码部署到真实环境下)。
所以不是 Linux 不能做回收站,而是相反,能有无数种做回收站的方法。大神们都深谙这个道理,所以才要迫使初学者养成对执行指令负责的习惯。习惯养成了,当然回收站也就不需要了。
其实你可以用 alias !配置好 rm 等于mv 到垃圾桶!
Make a simple script called for example
move_to_trash.sh
:
#!/bin/sh
mv "$@" ~/.trash
and then, add to your shell configuration file (for example,
~/.bashrc
) :
alias rm &
/move_to_trash.sh
ps:
如果你要删除文件特别多的话,还是会出问题!上次删除几万个文件就报错了,说是变数太长! 如果有这种操作这个文件还要修改下! 水平有限就不献丑了!有大神在可以写个完整脚本,保证任何情况都能用!
alias大法可以保命
Linux就是这样。
你需要很清楚的明白,你的每个操作在干什么。因为linux总是相信用户的决定
linux是让用户做决定,而不是windows那样替用户做决定
其次,你可以做回收站,将mv别名成rm,再用一个独立的分区就行了
Windows的del也没有回收站
windows的回收站只是一个文件管理器而已,不清空的话,还会占用硬碟空间的。
系统设计者认为这个没有必要,只要你执行这个,就认为你不需要这个了。如果你想建立回收站,可以改一下这个命令行,使用alias。可以百度一下
mv 替换rm
如果你想变相弄个回收站你就别用rm了 改用mv不就完了吗?这是思路的事
有个软体可以删除到回收站, 可以去百度下。。。
如果需要的话
按以下方法可能会好一点
vim ~/.bashrc
在末尾加入
alias rm=rm -i
这样的话每次删除会让你确认,会保险一点
因为他默然用户很聪明,知道自己在干什么
rm 是基础命令
回收站对应的基础命令是mv 或者cp然后rm,本质上是把文件移到一个固定的不显眼的地方,是比rm更高一级的封装。
使用命令行系统认为你是高级用户知道自己在做什么 只有在许可权范围内你可以随意进行操作
个人观点:
Terminal ,翻译过来,终端.
键盘上敲击的命令,有点像无线电发出的信号,没有回头之路,所以慎重.
怎么硕呢…
rm -i会提示你是否真的要删除,都已经提示了,意思也很明显了,总不能晃你两次吧
诶~没有删~