如何給 “rm” 命令添加個(gè)“垃圾桶”
人類犯錯(cuò)誤是因?yàn)槲覀儾皇且粋€(gè)可編程設(shè)備,所以,在使用 rm 命令時(shí)要額外注意,不要在任何時(shí)候使用 rm -rf *。當(dāng)你使用 rm 命令時(shí),它會(huì)永久刪除文件,不會(huì)像文件管理器那樣將這些文件移動(dòng)到 “垃圾箱”。
有時(shí)我們會(huì)將不應(yīng)該刪除的文件刪除掉,所以當(dāng)錯(cuò)誤地刪除了文件時(shí)該怎么辦? 你必須看看恢復(fù)工具(Linux 中有很多數(shù)據(jù)恢復(fù)工具),但我們不知道是否能將它百分之百恢復(fù),所以要如何解決這個(gè)問題?
我們最近發(fā)表了一篇關(guān)于 Trash-Cli 的文章,在評(píng)論部分,我們從用戶 Eemil Lgz 那里獲得了一個(gè)關(guān)于 saferm.sh 腳本的更新,它可以幫助我們將文件移動(dòng)到“垃圾箱”而不是永久刪除它們。
將文件移動(dòng)到“垃圾桶”是一個(gè)好主意,當(dāng)你無意中運(yùn)行 rm 命令時(shí),可以拯救你;但是很少有人會(huì)說這是一個(gè)壞習(xí)慣,如果你不注意“垃圾桶”,它可能會(huì)在一定的時(shí)間內(nèi)被文件和文件夾堆積起來。在這種情況下,我建議你按照你的意愿去做一個(gè)定時(shí)任務(wù)。
這適用于服務(wù)器和桌面兩種環(huán)境。 如果腳本檢測(cè)到 GNOME 、KDE、Unity 或 LXDE 桌面環(huán)境(DE),則它將文件或文件夾安全地移動(dòng)到默認(rèn)垃圾箱 $HOME/.local/share/Trash/files,否則會(huì)在您的主目錄中創(chuàng)建垃圾箱文件夾 $HOME/Trash。
saferm.sh 腳本托管在 Github 中,可以從倉庫中克隆,也可以創(chuàng)建一個(gè)名為 saferm.sh 的文件并復(fù)制其上的代碼。
$ git clone https://github.com/lagerspetz/linux-stuff$ sudo mv linux-stuff/scripts/saferm.sh /bin$ rm -Rf linux-stuff
在 .bashrc 文件中設(shè)置別名,
alias rm=saferm.sh
執(zhí)行下面的命令使其生效,
$ source ~/.bashrc
一切就緒,現(xiàn)在你可以執(zhí)行 rm 命令,自動(dòng)將文件移動(dòng)到”垃圾桶”,而不是永久刪除它們。
測(cè)試一下,我們將刪除一個(gè)名為 magi.txt 的文件,命令行明確的提醒了 Moving magi.txt to $HOME/.local/share/Trash/file。
$ rm -rf magi.txtMoving magi.txt to /home/magi/.local/share/Trash/files
也可以通過 ls 命令或 trash-cli 進(jìn)行驗(yàn)證。
$ ls -lh /home/magi/.local/share/Trash/filesPermissions Size User Date Modified Name.rw-r--r-- 32 magi 11 Oct 16:24 magi.txt
或者我們可以通過文件管理器界面中查看相同的內(nèi)容。
![![][3]](https://s3.51cto.com/oss/201803/12/ee80a9699b10d4af80dc4b0833038995.png)
![][3]
(LCTT 譯注:原文此處混淆了部分 trash-cli 的內(nèi)容,考慮到文章銜接和邏輯,此處略。)
要了解 saferm.sh 的其他選項(xiàng),請(qǐng)查看幫助。
$ saferm.sh -hThis is saferm.sh 1.16. LXDE and Gnome3 detection.Will ask to unsafe-delete instead of cross-fs move. Allows unsafe (regular rm) delete (ignores trashinfo).Creates trash and trashinfo directories if they do not exist. Handles symbolic link deletion.Does not complain about different user any more.Usage: /path/to/saferm.sh [OPTIONS] [--] files and dirs to safely removeOPTIONS:-r allows recursively removing directories.-f Allow deleting special files (devices, ...).-u Unsafe mode, bypass trash and delete files permanently.-v Verbose, prints more messages. Default in this version.-q Quiet mode. Opposite of verbose.
















 
 
 







 
 
 
 