https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-system/
作者 | 2daygeek
譯者 | Lv Feng (ucasFL) ?????共計翻譯:70.0 篇 貢獻時間:731 天
相信每個人都對回收站很熟悉,因為無論是對 Linux 使用者,還是 Windows 使用者,或者 Mac 使用者來說,它都很常見。當你刪除一個檔案或目錄的時候,該檔案或目錄會被移動到回收站中。
需要註意的是,當把檔案移動到回收站以後,檔案系統空間並沒有被釋放,除非把回收站清空。
如果不想永久刪除檔案的話(清空回收站),可以利用回收站臨時儲存被刪除了的檔案,從而在必要的時候能夠幫助我們恢復刪除了的檔案。
但是,如果在命令列使用 rm
命令進行刪除操作,那麼你是不可能在回收站中找到任何被刪除了的檔案或目錄的。所以,在執行 rm
命令前請一定要三思。如果你犯了錯誤(執行了 rm
命令),那麼檔案就被永久刪除了,無法再恢復回來,因為儲存在磁碟上的元資料已經不在了。
根據 freedesktop.org 規範[1],垃圾是由桌面管理器比如 GNOME、KDE 和 XFCE 等提供的一個特性。當透過檔案管理器刪除一個檔案或目錄的時候,該檔案或目錄將會成為垃圾,然後被移動到回收站中,回收站對應的目錄是 $HOME/.local/share/Trash
。
回收站目錄包含兩個子目錄:files
和 info
。files
目錄儲存實際被刪除了的檔案和目錄,info
目錄包含被刪除了的檔案和目錄的資訊,比如檔案路徑、刪除日期和時間,每個檔案單獨儲存。
你可能會問,既然已經有了圖形使用者介面的回收站,為什麼還需要命令列工具呢?因為對於大多數使用 *NIX 系統的傢伙(包括我)來說,即使使用的是基於圖形使用者介面的系統,也更喜歡使用命令列而不是圖形使用者介面。所以,如果有人在尋找一個命令列回收站工具,那麼這兒有一個不錯的選擇。
Trash-Cli 是什麼
trash-cli[2] 是一個命令列回收站工具,並且符合 FreeDesktop.org 的垃圾規範。它能夠儲存每一個垃圾檔案的名字、原始路徑、刪除日期和許可權。
如何在 Linux 上安裝 Trash-Cli
絕大多數的 Linux 發行版官方倉庫都提供了 Trash-Cli 的安裝包,所以你可以執行下麵這些命令來安裝。
對於 Debian/Ubuntu 使用者,使用 apt-get[3] 或 apt[4] 命令來安裝 Trash-Cli:
$ sudo apt install trash-cli
對於 RHEL/CentOS 使用者,使用 yum[5] 命令來安裝 Trash-Cli:
$ sudo yum install trash-cli
對於 Fedora 使用者,使用 dnf[6] 命令來安裝 Trash-Cli:
$ sudo dnf install trash-cli
對於 Arch Linux 使用者,使用 pacman[7] 命令來安裝 Trash-Cli:
$ sudo pacman -S trash-cli
對於 openSUSE 使用者,使用 zypper[8] 命令來安裝 Trash-Cli:
$ sudo zypper in trash-cli
如果你的發行版中沒有提供 Trash-Cli 的安裝包,那麼你也可以使用 pip
來安裝。為了能夠安裝 python 包,你的系統中應該會有 pip
包管理器。
$ sudo pip install trash-cli
Collecting trash-cli
Downloading trash-cli-0.17.1.14.tar.gz
Installing collected packages: trash-cli
Running setup.py bdist_wheel for trash-cli ... done
Successfully installed trash-cli-0.17.1.14
如何使用 Trash-Cli
Trash-Cli 的使用不難,因為它提供了一個很簡單的語法。Trash-Cli 提供了下麵這些命令:
trash-put
: 刪除檔案和目錄(僅放入回收站中)trash-list
:列出被刪除了的檔案和目錄trash-restore
:從回收站中恢復檔案或目錄 trash.trash-rm
:刪除回收站中的檔案trash-empty
:清空回收站下麵,讓我們透過一些例子來試驗一下。
1) 刪除檔案和目錄:在這個例子中,我們透過執行下麵這個命令,將 2g.txt
這一檔案和 magi
這一檔案夾移動到回收站中。
$ trash-put 2g.txt magi
和你在檔案管理器中看到的一樣。
2) 列出被刪除了的檔案和目錄:為了檢視被刪除了的檔案和目錄,你需要執行下麵這個命令。之後,你可以在輸出中看到被刪除檔案和目錄的詳細資訊,比如名字、刪除日期和時間,以及檔案路徑。
$ trash-list
2017-10-01 01:40:50 /home/magi/magi/2g.txt
2017-10-01 01:40:50 /home/magi/magi/magi
3) 從回收站中恢復檔案或目錄:任何時候,你都可以透過執行下麵這個命令來恢復檔案和目錄。它將會詢問你來選擇你想要恢復的檔案或目錄。在這個例子中,我打算恢復 2g.txt
檔案,所以我的選擇是 0
。
$ trash-restore
0 2017-10-01 01:40:50 /home/magi/magi/2g.txt
1 2017-10-01 01:40:50 /home/magi/magi/magi
What file to restore [0..1]: 0
4) 從回收站中刪除檔案:如果你想刪除回收站中的特定檔案,那麼可以執行下麵這個命令。在這個例子中,我將刪除 magi
目錄。
$ trash-rm magi
5)清空回收站:如果你想刪除回收站中的所有檔案和目錄,可以執行下麵這個命令。
$ trash-empty
6)刪除超過 X 天的垃圾檔案:或者,你可以透過執行下麵這個命令來刪除回收站中超過 X 天的檔案。在這個例子中,我將刪除回收站中超過 10
天的專案。
$ trash-empty 10
Trash-Cli 可以工作的很好,但是如果你想嘗試它的一些替代品,那麼你也可以試一試 gvfs-trash[9] 和 autotrash[10] 。
via: https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-system/
作者:2daygeek[12] 譯者:ucasFL 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出