ubuntuクラウドサーバーには数百万の画像があります。mv
コマンドを使用して1200万枚の画像を含む完全なフォルダを移動すると、ほぼ瞬時に移動します。ただし、mv
(フォルダではなく)画像のみの場合は、時間がかかります。すべての画像をフォルダと同じ速さで移動する方法はありますか?
これは何が起こっているかです:
srcフォルダーには1200万の画像があり、これを使用してdstフォルダーに移動します
$ mv src ../dst
すぐに起こる
srcフォルダー内でこれを実行して移動します。
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +
これには時間がかかります。
2番目のプロセスをスピードアップする方法はありますか?
dst
パーティションにあるのに対して../../dst
、別のパーティションにあります。
{}
ファイル名を展開する引数がありません。
find
。ファイルごとに1回find ... -exec mv -t ../../dst/ {} \;
呼び出しmv
ます。find ... -exec mv -t ../../dest {} +
呼び出しごとにできるだけ多くのファイルをコピーしますが、dadexix86で説明されているようにディレクトリ自体を移動するほど高速ではありません。