コマンドラインからの削除にかかる時間がGUIからの削除よりも大幅に短いのはなぜですか?


26

コンピューターから数十個の画像を削除していたときに気になったもの:rm -rfディレクトリの内容をすばやくコマンドで操作すると、すべての画像がすぐに消えてしまいました。同じダースほどの画像をゴミ箱/リサイクル禁止にドラッグすると、10秒以上かかることがあります。

今では、その一部はGUIなどのオーバーヘッドに起因していると確信しています。それは、ファイルがごみ箱に入れられた場合、ファイルが何らかの形でまだ「存在する」という事実かもしれませんが、それ以外の何かがありますそのような巨大な時間の不均衡を説明していますか?「rm」と「delete」は根本的に異なるコマンドなので、リンゴとオレンジを比較しようとしていますか?


1
おそらく以下に示す同じ理由で、Windowsでも同様です。
クリスH

回答:


38

お気づきのとおり、GUIは単にファイルを「削除」するだけではありません。

$ rm -rf 

フォルダーに再帰して、そこにあるファイルとフォルダーを削除します。

GUIは最初にツリー全体をスキャンして、そこにあるものを見つけ出します(したがって、きれいなバーを描画するために必要な量を知っています)。ごみ箱は、特定のGUIに対応しています。最初に新しい一意のファイル名を生成し、ごみ箱フォルダ内のファイルをリンクし、次に現在のフォルダからリンク解除し、「元に戻す」ことができるようにファイルの出所のインデックスを更新する必要があるため、その移動には時間がかかります- 1つではなく多くの操作。

たとえば、Gnome 3では、ファイルは次の場所に移動されます。

~/.local/share/Trash/files/<filename>[.<version>]

どこfilenameに元のファイル名がありversion、ファイルが一意であることを確認するための増分バージョン番号です(最初のファイルインスタンスにはバージョン番号がありません)。それに関連付けられているのは.trashinfo、フォルダーに保存されているファイルです。

~/.local/share/Trash/info/<filename>[.<version>].trashinfo

このファイルには、削除前のファイルの元のパスと、このファイルが削除された日時が含まれています。

削除するツリー内の個々のファイルごとに実行する必要があるこれらの追加の操作はすべて、ごみ箱から任意のファイルを復元できること、および同じ名前のファイルを削除できることを確認してください。同じ場所で、以前のバージョンを復元します。

そのいずれもシンプルrmまたはmvコマンドで行われません。


1
ねえ、誰がすべてのコメントを削除したの?この答えが間違っている可能性があることを理解していました。少なくともtrash-cli再帰的にそれを行うようではありません。フォルダーを削除するとき、Gnome 3は実際に.trashinfo各サブフォルダーとすべてのファイルを含むファイルを再帰的に配置しますか?
mb21 14年

彼らにとって乱暴すぎると思います!;-)
ジョーダンプラーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.