ごみ箱ディレクトリはどのように機能しますか?

ごみ箱ディレクトリはどのように機能しますか?

だから私はゴミ箱(ゴミ箱)からアイテムを移動して復元するプログラムを書くのに忙しいです。現在、アイテムをごみ箱に移動できますが、ファイルマネージャを使用してごみ箱から復元しようとすると失敗します。

ごみ箱ディレクトリには、削除するファイルを保存し、ファイルのデータを保存するための~/.local/share/Trash2つのフォルダが含まれています。アプリケーション内の私のファイルの名前は正しく指定されて問題にならず、info /フォルダに保存されている詳細も取得します。ところでファイルマネージャで削除した後、ごみ箱から復元すると問題はありませんが、私のコードでごみ箱に移動したときは手動で移動しなければ復元になりました。files/info/

私のアプリケーションのいくつかの例は次のとおりです。

$ nrash todelete.txt
> Moved to trash

上記は以下を生成します。 (ごみ箱/ファイル内部)

todelete.txt

(ごみ箱/メッセージにあります)

todelete.txt.trashinfo

内部に -.trashinfo次の内容を含むファイル:

[Trash Info]
Path=/home/netsu/Documents/todelete.txt
DeletionDate=2021-10-08T18:24:04

代わりに、ファイルマネージャから削除されたファイルの.trashinfoに次のものがあります。

[Trash Info]
Path=/home/netsu/Documents/pp.txt
DeletionDate=2021-10-08T18:25:02

どちらも同じですが、動作方法が異なります...物をゴミ箱に移すときに何か抜けたものがありますか?ファイルマネージャがそのフォルダに配置したファイルは復元できますが、そこに配置したファイルは復元できないのはなぜですか?これはLinuxディストリビューションでガベージが機能する一般的な方法ですか、それともディストリビューション/デスクトップ環境によって変わりますか?

注:ファイルマネージャでファイルを開くと、ごみ箱に表示されますが、回復することはできません。

  • 配給: Solus
  • ドイツ語: Matt
  • ファイルマネージャ:Caja

答え1

だから復元できない理由は簡単です。このリンクからhttps://specations.freedesktop.org/trash-spec/trashspec-latest.html(Abdullahに感謝します!)以下に記載されています。ジャンクディレクトリの内容それ

ファイルまたはディレクトリが削除されると、実装は最初に$ trash / infoにそのファイルを作成する必要があります。

情報ファイルを作成する前にファイル/フォルダを移動したところ、上記の問題が発生しました。また、ごみ箱/ごみ箱の仕組みを理解することに興味がある人は、投稿されたリンクを読んでください。

関連情報