為什麼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會提示你是否真的要刪除,都已經提示了,意思也很明顯了,總不能晃你兩次吧
誒~沒有刪~