命令行程序是工具,旨在實現核心功能。在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會提示你是否真的要刪除,都已經提示了,意思也很明顯了,總不能晃你兩次吧

誒~沒有刪~

好了不抖機靈了

這個命令的就是刪除的意思,它的本意也是從你的系統中抹去這個文件,而桌面系統的回收站的實質只不過是另一個文件夾罷了,你在命令行執行rm就相當於直接刪除並清空回收站了。


windows的del也沒有回收站機制哦.

需要fd.o的那個回收站實現的話, 可以使用trash-cli.


推薦閱讀:
相关文章