Windowsコピーは、WindowsVista以来の本当の混乱です。 Microsoftでさえ、パフォーマンスが向上したと主張していますが、ユーザーの観点からは、それはあまり目立ちません。単一のファイルの場合でも、コピーウィンドウは「計算」してからコピーを終了するのに時間がかかりすぎます(100%完了した後でも、ダイアログがアクティブなままになる場合があります)。
同時に、UbuntuLinuxでいくつかのファイルをバックアップしていました。本当に速いと感じました。 UIの更新が速いために感じられるかもしれません。
数年前のWindowsファイルコピーに関するJeff Atwood からの有益な投稿を読みました。しかし、私の具体的な質問は何ですか
標準の copy
Windowsに組み込まれているものはあまり良くありませんが、Windowsにははるかに効率的な2つの高度なコマンドが付属しています: xcopy
および robocopy
。特に、 ACL や代替データストリームなどの高度なファイルシステム機能を完全に制御する必要がある場合は、robocopy
が最適なツールです。
例として、大きなディレクトリ構造をコピーする場合、ターゲットをフラグメント化されていないことが必要な場合があります。 robocopy
の標準的な呼び出しは、すでに非常に優れていますが、サブディレクトリが作成されるとディレクトリエントリが更新されるため、断片化されたディレクトリを取得できます。これを防ぐには、robocopy
を2つのパスで実行できます。最初のパスでは、ファイルの内容をコピーせずにターゲットディレクトリ構造のみを作成し、2番目のパスでは実際にファイル本体をコピーします。
全体として、robocopy
は非常に効率的で、NTFS機能を完全に認識しています。
Ubuntu Linuxで見られる速度の一部は、おそらくファイルのキャッシュです。私の知る限り、Linuxでのファイルコピーは、ファイルキャッシュの使用を最小限に抑える努力をしていません。
Linuxでは、RAMの約50%未満のファイルをコピーすると、ファイル全体がファイルキャッシュにコピーされ、時間の許す限りディスクに書き込まれます。これは非常に高速であるように見えますが、他のより有用なファイルをキャッシュから強制的に削除します。これらは、Webキャッシュファイル、電子メール、構成ファイル、フォントファイルなどです。
Windows XPファイルキャッシュにも関係なくコピーするために使用されます。しかし、Windows Vistaでは、 Microsoftは、コピー時に限られた量のファイルキャッシュを使用するようにExplorerを変更しました 。これにより、システムの他の部分への大きなファイルコピーの影響が軽減されますが、比較的小さなファイルコピーの速度もハードディスクの速度まで低下します。
Windowsでは、Teracopyを使用します。これにより、Explorerが抱える全体的な愚かさの問題が解決されます。
Ubuntuでは、ファイルのコピーが非常に高速であることがわかりました。
それでも、リムーバブルドライブを使用している場合、[ファイル操作]ダイアログは消えません。ダイアログが消えた直後にドライブを安全にイジェクトしようとすると、エラーメッセージが表示されます。ただし、データは通過します。
更新:Windowsファイルの操作は、おそらくサービスやレジストリとのすべての統合の中で遅いです。 Nautilus(Gnome内)は、私が推測する単純なプロセスであるか、少なくともExplorerのような負荷/中断はありません。