Trash-Cli:Linux 上的命令行回收站工具
相信每個人都對 回收站 很熟悉,因為無論是對 Linux 用戶,還是 Windows 用戶,或者 Mac 用戶來說,它都很常見。當你刪除一個文件或目錄的時候,該文件或目錄會被移動到回收站中。
需要注意的是,當把文件移動到回收站以後,文件系統空間並沒有被釋放,除非把回收站清空。
如果不想永久刪除文件的話(清空回收站),可以利用回收站臨時存儲被刪除了的文件,從而在必要的時候能夠幫助我們恢復刪除了的文件。
但是,如果在命令行使用 rm
命令進行刪除操作,那麼你是不可能在回收站中找到任何被刪除了的文件或目錄的。所以,在執行 rm
命令前請一定要三思。如果你犯了錯誤(執行了 rm
命令),那麼文件就被永久刪除了,無法再恢復回來,因為存儲在磁碟上的元數據已經不在了。
根據 freedesktop.org 規範, 垃圾 是由桌面管理器比如 GNOME、KDE 和 XFCE 等提供的一個特性。當通過文件管理器刪除一個文件或目錄的時候,該文件或目錄將會成為 垃圾 ,然後被移動到回收站中,回收站對應的目錄是 $HOME/.local/share/Trash
。
回收站目錄包含兩個子目錄:files
和 info
。files
目錄存儲實際被刪除了的文件和目錄,info
目錄包含被刪除了的文件和目錄的信息,比如文件路徑、刪除日期和時間,每個文件單獨存儲。
你可能會問,既然已經有了 圖形用戶界面 的回收站,為什麼還需要命令行工具呢?因為對於大多數使用 *NIX 系統的傢伙(包括我)來說,即使使用的是基於圖形用戶界面的系統,也更喜歡使用命令行而不是圖形用戶界面。所以,如果有人在尋找一個命令行回收站工具,那麼這兒有一個不錯的選擇。
Trash-Cli 是什麼
trash-cli 是一個命令行回收站工具,並且符合 FreeDesktop.org 的 垃圾 規範。它能夠存儲每一個垃圾文件的名字、原始路徑、刪除日期和許可權。
如何在 Linux 上安裝 Trash-Cli
絕大多數的 Linux 發行版官方倉庫都提供了 Trash-Cli 的安裝包,所以你可以運行下面這些命令來安裝。
對於 Debian/Ubuntu 用戶,使用 apt-get 或 apt 命令來安裝 Trash-Cli:
$ sudo apt install trash-cli
對於 RHEL/CentOS 用戶,使用 yum 命令來安裝 Trash-Cli:
$ sudo yum install trash-cli
對於 Fedora 用戶,使用 dnf 命令來安裝 Trash-Cli:
$ sudo dnf install trash-cli
對於 Arch Linux 用戶,使用 pacman 命令來安裝 Trash-Cli:
$ sudo pacman -S trash-cli
對於 openSUSE 用戶,使用 zypper 命令來安裝 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 和 autotrash 。
via: https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-system/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive