基礎(chǔ):在 Linux 終端中刪除文件和文件夾
本教程講述了如何在 Linux 終端中安全地刪除文件和文件夾。
要想使用圖形化界面刪除計(jì)算機(jī)上的文件,你可能會(huì)直接將文件或文件夾拖拽到 “垃圾箱” 或 “回收站”?;蛘吣阋部梢赃x擇要?jiǎng)h除的文件或文件夾,右鍵單擊并選擇 刪除。
而在終端中刪除文件或文件夾時(shí)并沒有垃圾箱一說(至少默認(rèn)情況下沒有)。在圖形化桌面上,Trash
(即垃圾箱文件夾)是一個(gè)受保護(hù)的目錄,保護(hù)機(jī)制可以防止用戶不小心將該目錄刪除,或?qū)⑵鋸哪J(rèn)位置移動(dòng)從而導(dǎo)致找不到它。Trash 本質(zhì)不過是一個(gè)被高度管理的文件夾,因此你可以創(chuàng)建自己的 Trash 文件夾以在終端中使用。
為終端設(shè)置一個(gè)垃圾箱
在家目錄中創(chuàng)建一個(gè)名為 Trash
的目錄:
$ mkdir ~/Trash
刪除文件
要?jiǎng)h除文件或文件夾時(shí),使用 mv
命令將文件或文件夾移至 Trash
中:
$ mv example.txt ~/Trash
永久刪除文件或文件夾
當(dāng)你準(zhǔn)備從系統(tǒng)中永久刪除某個(gè)文件或文件夾時(shí),可以使用 rm
命令清除垃圾箱文件夾中的所有數(shù)據(jù)。通過將 rm
命令指向星號(hào)(*
),可以刪除 Trash
文件夾內(nèi)的所有文件和文件夾,而不會(huì)刪除 Trash
文件夾本身。因?yàn)橛脩艨梢苑奖闱易杂傻貏?chuàng)建目錄,所以即使不小心刪除了 Trash
文件夾,你也可以再次新建一個(gè)。
$ rm --recursive ~/Trash/*
刪除空目錄
刪除空目錄有一個(gè)專門的命令 rmdir
,它只能用來刪除空目錄,從而保護(hù)你免受遞歸刪除錯(cuò)誤的影響。
$ mkdir full
$ touch full/file.txt
$ rmdir full
rmdir: failed to remove 'full/': Directory not empty
$ mkdir empty
$ rmdir empty
更好的刪除方式
此外還有一些并沒有默認(rèn)安裝在終端上的 刪除文件命令,你可以從軟件庫安裝它們。這些命令管理和使用的 Trash
文件夾與你在桌面模式使用的是同一個(gè)(而非你自己單獨(dú)創(chuàng)建的),從而使刪除文件變得更加方便。
$ trash ~/example.txt
$ trash --list
example.txt
$ trash --empty