Midnight Commanderは膨大な長さのファイルを移動します

Midnight Commanderは膨大な長さのファイルを移動します

私はQNAP TS-210 NASを持っていますが、Debian Linuxが搭載されているそこに Midnight Commander をインストールし、何年も問題なく使用してきました。今日、奇妙なことに気付きました。

大量の映画コレクション (約 130 GB) をあるフォルダから別のフォルダに移動する必要があります。映画は多数のサブフォルダに分割されています。特定のフォルダに入るたびに、MC ですべてのファイルを選択し、F6 キーを押して宛先に移動すると、すべて正常に動作します。ただし、サブフォルダ全体を移動しようとすると (宛先にもサブフォルダがありますが、中のファイルは異なるため、いずれにしても上書きされません)、処理に非常に長い時間がかかります。実際、NAS はこのファイルの移動ではなく、コピーを実行しているようです。

これは正常な状態ですか? Windows で同じ操作を実行すると、フォルダー全体を移動するか、フォルダーの内容のみを移動するかに関係なく、移動プロセスは常に非常に高速になります。

答え1

mv2 つの方法で動作します。mc移動は同じように動作します。

  • ファイルが同じ論理デバイス (パーティションまたはディスク) 上にある場合は、ディレクトリ エントリのみが移動されます。これは非常に高速です。
  • ファイルが異なる論理デバイス上にある場合、ファイルはコピーされ、コピーが完了した後に古いファイルは削除されます。ファイルを読み取ってから書き込む必要があるため、この処理は比較的遅くなります。

NAS に複数のディスクがある場合、移動によってデバイス間でデータが移動される可能性があります。 コマンドを使用して、マウントされているディレクトリ (およびそのスペース使用率) を確認できますdf

答え2

私の主張を裏付ける根拠は経験的知識以外には何もありませんが、 は とmc完全に同じように動作しないと思います。 ではファイルの移動が遅いのに、 では瞬時mvに移動していたため、偶然この質問に遭遇しました。 問題はファイルの所有権にあるようです。 でファイルを移動すると、所有権は現在実行中のユーザーに変更され、非常に時間がかかります。コマンドで移動すると、移動は瞬時に行われ、所有権は元の状態のままです。mcmvmcmcmv

答え3

移動中のファイルを mc が削除する権限を持っていることを確認してください。ファイルの所有者が root であり、mc が root として実行されていない場合、昇格された権限なしではファイルを移動できないため、mc はファイルを完全にコピーします。権限が不十分なためにエラーが表示される方が適切です。

答え4

へ移動オプション > オプションの設定無効にする合計を計算する

BillThor が述べたように、2 つのパーティション間でファイルを転送するには、コピーして削除します。ただし、これは同じパーティション内でファイルを移動する場合に役立ちます。

ここに画像の説明を入力してください

関連情報