紅聯Linux門戶
Linux幫助

給“rm”命令添加個“垃圾桶”

發布時間:2018-03-10 08:41:41來源:linux.cn作者:amwps290
人類犯錯誤是因為我們不是一個可編程設備,所以,在使用 rm 命令時要額外注意,不要在任何時候使用 rm -rf *。當你使用 rm 命令時,它會永久刪除文件,不會像文件管理器那樣將這些文件移動到 “垃圾箱”。
有時我們會將不應該刪除的文件刪除掉,所以當錯誤地刪除了文件時該怎么辦? 你必須看看恢復工具(Linux 中有很多數據恢復工具),但我們不知道是否能將它百分之百恢復,所以要如何解決這個問題?
 
我們最近發表了一篇關于 Trash-Cli 的文章,在評論部分,我們從用戶 Eemil Lgz 那里獲得了一個關于 saferm.sh 腳本的更新,它可以幫助我們將文件移動到“垃圾箱”而不是永久刪除它們。
將文件移動到“垃圾桶”是一個好主意,當你無意中運行 rm 命令時,可以拯救你;但是很少有人會說這是一個壞習慣,如果你不注意“垃圾桶”,它可能會在一定的時間內被文件和文件夾堆積起來。在這種情況下,我建議你按照你的意愿去做一個定時任務。
這適用于服務器和桌面兩種環境。 如果腳本檢測到 GNOME 、KDE、Unity 或 LXDE 桌面環境(DE),則它將文件或文件夾安全地移動到默認垃圾箱 $HOME/.local/share/Trash/files,否則會在您的主目錄中創建垃圾箱文件夾 $HOME/Trash。
 
saferm.sh 腳本托管在 Github 中,可以從倉庫中克隆,也可以創建一個名為 saferm.sh 的文件并復制其上的代碼。
$ git clone https://github.com/lagerspetz/linux-stuff
$ sudo mv linux-stuff/scripts/saferm.sh /bin
$ rm -Rf linux-stuff
 
在 .bashrc 文件中設置別名,
alias rm=saferm.sh
 
執行下面的命令使其生效,
$ source ~/.bashrc
 
一切就緒,現在你可以執行 rm 命令,自動將文件移動到”垃圾桶”,而不是永久刪除它們。
 
測試一下,我們將刪除一個名為 magi.txt 的文件,命令行明確的提醒了 Moving magi.txt to $HOME/.local/share/Trash/file。
$ rm -rf magi.txt
Moving magi.txt to /home/magi/.local/share/Trash/files
 
也可以通過 ls 命令或 trash-cli 進行驗證。
$ ls -lh /home/magi/.local/share/Trash/files
Permissions Size User Date Modified Name
.rw-r--r-- 32 magi 11 Oct 16:24 magi.txt
 
或者我們可以通過文件管理器界面中查看相同的內容。
給“rm”命令添加個“垃圾桶”
(注:原文此處混淆了部分 trash-cli 的內容,考慮到文章銜接和邏輯,此處略。)
 
要了解 saferm.sh 的其他選項,請查看幫助。
$ saferm.sh -h
This 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 remove
OPTIONS:
-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.
 
linux下如何恢復ntfs分區上被rm命令刪除的文件:http://www.1851002.live/linux/30576.html
為rm命令增加回收站功能:http://www.1851002.live/linux/29295.html
Ubuntu系統rm命令刪除文件沒有提示,怎么辦?:http://www.1851002.live/linux/29293.html
將rm命令重定義為移動到回收站:http://www.1851002.live/linux/26571.html
CentOS下的rm命令改造成移動文件至回收站:http://www.1851002.live/linux/16909.html
贵州体彩11选5查询号码 河北排列7玩法介绍 浙江11选5开奖结果 南宁股指期货配资 内蒙古快三走势一定牛 20070904上证指数 安徽快三预测一定牛 十一选五任三神号配组 上海体彩11选五玩法介绍 湖南幸运赛车官网 股票配资网定找金多多预约