作者 | 2daygeek
譯者 | amwps290 ? ? 共計翻譯:7 篇 貢獻時間:31 天
人類犯錯誤是因為我們不是一個可程式設計裝置,所以,在使用 rm
命令時要額外註意,不要在任何時候使用 rm -rf *
。當你使用 rm
命令時,它會永久刪除檔案,不會像檔案管理器那樣將這些檔案移動到 “垃圾箱”。
有時我們會將不應該刪除的檔案刪除掉,所以當錯誤地刪除了檔案時該怎麼辦? 你必須看看恢復工具(Linux 中有很多資料恢復工具),但我們不知道是否能將它百分之百恢復,所以要如何解決這個問題?
我們最近發表了一篇關於 Trash-Cli[1] 的文章,在評論部分,我們從使用者 Eemil Lgz 那裡獲得了一個關於 saferm.sh[2] 指令碼的更新,它可以幫助我們將檔案移動到“垃圾箱”而不是永久刪除它們。
將檔案移動到“垃圾桶”是一個好主意,當你無意中執行 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
或者我們可以透過檔案管理器介面中檢視相同的內容。
![][3]
(LCTT 譯註:原文此處混淆了部分 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.
via: https://www.2daygeek.com/rm-command-to-move-files-to-trash-can-rm-alias/
作者:2DAYGEEK[4] 譯者:amwps290 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出