1. 序章

この短いチュートリアルでは、Linuxシステムでファイルをソフト削除する方法を学習します。

ファイルをソフト削除するときは、ファイルを完全に削除するのではなく、ゴミ箱に移動するだけです。

2. ゴミ箱ディレクトリ

Linuxシステムのごみ箱ディレクトリはローカルファイルシステムにあります。 標準ユーザーの場合、パスは次のとおりです。

~/.local/share/Trash/

そしてrootユーザーの場合、それは次のとおりです。

/root/.local/share/Trash/

ゴミ箱ディレクトリを削除しても安全です。 必要に応じて再作成されます。

3. Linuxのゴミ箱のしくみ

ゴミ箱ディレクトリには、他に2つのディレクトリがあります。 1つ目は、実際にゴミ箱に移動されたファイルを含むfilesディレクトリです。 2つ目は、 info ディレクトリで、ごみ箱に入れられたファイルに関する情報を含むテキストファイルが含まれています。

たとえば、/home/baeldung/article.txtファイルをゴミ箱に移動すると次のようになります。

~/.local/share/Trash/files/article.txt
~/.local/share/Trash/info/article.txt.trashinfo

files /article.txtは元のファイルです。 また、 info /article.txt.trashinfoにはメタデータが含まれています。

[Trash Info]
Path=/home/baeldung/article.txt
DeletionDate=2020-02-14T12:09:26

上記の情報は、たとえば、ごみ箱に入れられたファイルを復元するときに使用されます。

4. gioを使用したファイルのゴミ箱

ファイルをゴミ箱に移動する最も推奨される方法は、gioライブラリを使用することです。 仮想ファイルシステムへのインターフェイスを提供し、単一の一貫したAPIを使用してローカルファイルとリモートファイルの両方に簡単にアクセスできます。

gioGLibプロジェクトの一部であり、ほとんどのLinuxディストリビューションでデフォルトで見つかります。 そうでない場合は、手動でインストールできます。

$ sudo apt-get install libglib2.0-0

gio を使用してファイルをゴミ箱に移動するには、 trash コマンドに続けて、ファイルの名前を使用します。

$ gio trash article.txt

その後、ごみディレクトリにファイルを一覧表示できます。

$ gio list trash://

listlsコマンドに似ているため、一覧表示するディレクトリを指定する必要があります。 この場合、ローカルファイルシステムのゴミ箱は trash://として定義されています。

その結果、ゴミ箱にあるすべてのファイルのリストが表示されます。 私たちの場合、それはたった1つのファイルです:

/home/baeldung/article.txt

ゴミ箱ディレクトリを空にするには、 trash コマンドを–emptyパラメータとともに使用する必要があります。

$ gio trash --empty

ゴミ箱を空にすることが成功した場合、出力はありません。

5. trash-cliを使用したファイルのゴミ箱

gio の代替の1つは、trash-cli。です。

これは、KDE、GNOME、およびXFCEGUIのゴミ箱へのコマンドラインインターフェイスを提供するオープンソースプロジェクトです。 trash-cli を使用すると、グラフィカルなゴミ箱と同じようにアイテムを削除および復元できます。

まず、trash-cliをインストールする必要があります。

$ sudo apt-get install trash-cli

ここで、ファイルをゴミ箱に移動するには、trash-putコマンドを使用する必要があります。

$ trash-put article.txt

ゴミ箱の内容を一覧表示することもできます。

$ trash-list

出力には、ごみの日付とフルパスを含むすべてのごみ箱ファイルが含まれます。

2020-02-24 17:19:07 /home/baeldung/article.txt

gio に加えて、trash-cliはすでにゴミ箱に入れられたファイルを復元できます。

$ trash-restore article.txt

最後に、ゴミ箱ディレクトリを空にするには、trash-emptyコマンドを使用する必要があります。

$ trash-empty

gio と同様に、ゴミ箱を空にすることが成功した場合、出力はありません。

trash-cligioも自動的にゴミ箱を空にしないことに注意してください。 ただし、別のユーティリティであるautotrashを使用してこれを行うことができます。

6. 結論

この短いチュートリアルでは、Linuxシステムでファイルをソフト削除(ゴミ箱)する方法を学びました。