相信每個(gè)人都對(duì) 回收站(trashcan)很熟悉,因?yàn)闊o(wú)論是對(duì) Linux 用戶(hù),還是 Windows 用戶(hù),或者 Mac 用戶(hù)來(lái)說(shuō),它都很常見(jiàn)。當(dāng)你刪除一個(gè)文件或目錄的時(shí)候,該文件或目錄會(huì)被移動(dòng)到回收站中。
需要注意的是,當(dāng)把文件移動(dòng)到回收站以后,文件系統(tǒng)空間并沒(méi)有被釋放,除非把回收站清空。
如果不想永久刪除文件的話(huà)(清空回收站),可以利用回收站臨時(shí)存儲(chǔ)被刪除了的文件,從而在必要的時(shí)候能夠幫助我們恢復(fù)刪除了的文件。
但是,如果在命令行使用 rm 命令進(jìn)行刪除操作,那么你是不可能在回收站中找到任何被刪除了的文件或目錄的。所以,在執(zhí)行 rm 命令前請(qǐng)一定要三思。如果你犯了錯(cuò)誤(執(zhí)行了rm命令),那么文件就被永久刪除了,無(wú)法再恢復(fù)回來(lái),因?yàn)榇鎯?chǔ)在磁盤(pán)上的元數(shù)據(jù)已經(jīng)不在了。
根據(jù) freedesktop.org 規(guī)范,垃圾(trash)是由桌面管理器比如 GNOME、KDE 和 XFCE 等提供的一個(gè)特性。當(dāng)通過(guò)文件管理器刪除一個(gè)文件或目錄的時(shí)候,該文件或目錄將會(huì)成為 垃圾(trash),然后被移動(dòng)到回收站中,回收站對(duì)應(yīng)的目錄是 $HOME/.local/share/Trash
回收站目錄包含兩個(gè)子目錄:files 和 info 。files 目錄存儲(chǔ)實(shí)際被刪除了的文件和目錄,info 目錄包含被刪除了的文件和目錄的信息,比如文件路徑、刪除日期和時(shí)間,每個(gè)文件單獨(dú)存儲(chǔ)。
你可能會(huì)問(wèn),既然已經(jīng)有了 圖形用戶(hù)界面(GUI)的回收站,為什么還需要命令行工具呢?因?yàn)閷?duì)于大多數(shù)使用 *NIX 系統(tǒng)的家伙(包括我)來(lái)說(shuō),即使使用的是基于圖形用戶(hù)界面的系統(tǒng),也更喜歡使用命令行而不是圖形用戶(hù)界面。所以,如果有人在尋找一個(gè)命令行回收站工具,那么這兒有一個(gè)不錯(cuò)的選擇。
Trash-Cli 是什么
trash-cli 是一個(gè)命令行回收站工具,并且符合 FreeDesktop.org 的 垃圾(trash)規(guī)范。它能夠存儲(chǔ)每一個(gè)垃圾文件的名字、原始路徑、刪除日期和權(quán)限。
如何在 Linux 上安裝 Trash-Cli
絕大多數(shù)的 Linux 發(fā)行版官方倉(cāng)庫(kù)都提供了 Trash-Cli 的安裝包,所以你可以運(yùn)行下面這些命令來(lái)安裝。
對(duì)于 Debian/Ubuntu 用戶(hù),使用 apt-get 或 apt 命令來(lái)安裝 Trash-Cli:
$ sudo apt install trash-cli
對(duì)于 RHEL/CentOS 用戶(hù),使用 yum 命令來(lái)安裝 Trash-Cli:
$ sudo yum install trash-cli
對(duì)于 Fedora 用戶(hù),使用 dnf 命令來(lái)安裝 Trash-Cli:
$ sudo dnf install trash-cli
對(duì)于 Arch Linux 用戶(hù),使用 pacman 命令來(lái)安裝 Trash-Cli:
$ sudo pacman -S trash-cli
對(duì)于 openSUSE 用戶(hù),使用 zypper 命令來(lái)安裝 Trash-Cli:
$ sudo zypper in trash-cli
如果你的發(fā)行版中沒(méi)有提供 Trash-Cli 的安裝包,那么你也可以使用 pip 來(lái)安裝。為了能夠安裝 python 包,你的系統(tǒng)中應(yīng)該會(huì)有 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 的使用不難,因?yàn)樗峁┝艘粋€(gè)很簡(jiǎn)單的語(yǔ)法。Trash-Cli 提供了下面這些命令:
- trash-put: 刪除文件和目錄(僅放入回收站中)
- trash-list :列出被刪除了的文件和目錄
- trash-restore:從回收站中恢復(fù)文件或目錄 trash.
- trash-rm:刪除回收站中的文件
- trash-empty:清空回收站
下面,讓我們通過(guò)一些例子來(lái)試驗(yàn)一下
1) 刪除文件和目錄:在這個(gè)例子中,我們通過(guò)運(yùn)行下面這個(gè)命令,將 2g.txt 這一文件和 magi 這一文件夾移動(dòng)到回收站中。
$ trash-put 2g.txt magi
和你在文件管理器中看到的一樣。
2) 列出被刪除了的文件和目錄:為了查看被刪除了的文件和目錄,你需要運(yùn)行下面這個(gè)命令。之后,你可以在輸出中看到被刪除文件和目錄的詳細(xì)信息,比如名字、刪除日期和時(shí)間,以及文件路徑。
$ trash-list
2017-10-01 01:40:50 /home/magi/magi/2g.txt
2017-10-01 01:40:50 /home/magi/magi/magi
3) 從回收站中恢復(fù)文件或目錄:任何時(shí)候,你都可以通過(guò)運(yùn)行下面這個(gè)命令來(lái)恢復(fù)文件和目錄。它將會(huì)詢(xún)問(wèn)你來(lái)選擇你想要恢復(fù)的文件或目錄。在這個(gè)例子中,我打算恢復(fù) 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) 從回收站中刪除文件:如果你想刪除回收站中的特定文件,那么可以運(yùn)行下面這個(gè)命令。在這個(gè)例子中,我將刪除 magi 目錄。
$ trash-rm magi
5)清空回收站:如果你想刪除回收站中的所有文件和目錄,可以運(yùn)行下面這個(gè)命令。
$ trash-empty
6)刪除超過(guò) X 天的垃圾文件:或者,你可以通過(guò)運(yùn)行下面這個(gè)命令來(lái)刪除回收站中超過(guò) X 天的文件。在這個(gè)例子中,我將刪除回收站中超過(guò) 10 天的項(xiàng)目。
$ trash-empty 10
Trash-Cli 可以工作的很好,但是如果你想嘗試它的一些替代品,那么你也可以試一試 gvfs-trash 和 autotrash 。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接