Linux中國

Trash-Cli:Linux 上的命令行回收站工具

相信每個人都對 回收站 trashcan 很熟悉,因為無論是對 Linux 用戶,還是 Windows 用戶,或者 Mac 用戶來說,它都很常見。當你刪除一個文件或目錄的時候,該文件或目錄會被移動到回收站中。

需要注意的是,當把文件移動到回收站以後,文件系統空間並沒有被釋放,除非把回收站清空。

如果不想永久刪除文件的話(清空回收站),可以利用回收站臨時存儲被刪除了的文件,從而在必要的時候能夠幫助我們恢復刪除了的文件。

但是,如果在命令行使用 rm 命令進行刪除操作,那麼你是不可能在回收站中找到任何被刪除了的文件或目錄的。所以,在執行 rm 命令前請一定要三思。如果你犯了錯誤(執行了 rm 命令),那麼文件就被永久刪除了,無法再恢復回來,因為存儲在磁碟上的元數據已經不在了。

根據 freedesktop.org 規範 垃圾 trash 是由桌面管理器比如 GNOME、KDE 和 XFCE 等提供的一個特性。當通過文件管理器刪除一個文件或目錄的時候,該文件或目錄將會成為 垃圾 trash ,然後被移動到回收站中,回收站對應的目錄是 $HOME/.local/share/Trash

回收站目錄包含兩個子目錄:filesinfofiles 目錄存儲實際被刪除了的文件和目錄,info 目錄包含被刪除了的文件和目錄的信息,比如文件路徑、刪除日期和時間,每個文件單獨存儲。

你可能會問,既然已經有了 圖形用戶界面 GUI 的回收站,為什麼還需要命令行工具呢?因為對於大多數使用 *NIX 系統的傢伙(包括我)來說,即使使用的是基於圖形用戶界面的系統,也更喜歡使用命令行而不是圖形用戶界面。所以,如果有人在尋找一個命令行回收站工具,那麼這兒有一個不錯的選擇。

Trash-Cli 是什麼

trash-cli 是一個命令行回收站工具,並且符合 FreeDesktop.org 的 垃圾 trash 規範。它能夠存儲每一個垃圾文件的名字、原始路徑、刪除日期和許可權。

如何在 Linux 上安裝 Trash-Cli

絕大多數的 Linux 發行版官方倉庫都提供了 Trash-Cli 的安裝包,所以你可以運行下面這些命令來安裝。

對於 Debian/Ubuntu 用戶,使用 apt-getapt 命令來安裝 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-trashautotrash

via: https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-system/

作者:2daygeek 譯者:ucasFL 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國