Tôi có hàng triệu hình ảnh trên máy chủ đám mây ubfox của mình. Khi tôi di chuyển một thư mục hoàn chỉnh chứa 12 triệu hình ảnh bằng mvlệnh, nó sẽ xảy ra gần như ngay lập tức. Tuy nhiên, khi tôi mvchỉ hình ảnh (không phải thư mục) thì phải mất một thời gian. Có cách nào để di chuyển tất cả các hình ảnh nhanh như thư mục không?
Đây là những gì đang xảy ra:
thư mục src có 12 triệu hình ảnh và tôi chuyển nó sang thư mục dst bằng
$ mv src ../dstXảy ra ngay lập tức
Trong thư mục src tôi làm điều này để di chuyển:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +Điều này cần một chút thời gian.
Có cách nào để tăng tốc quá trình thứ hai không?
dstlà trong một phân vùng trong khi đó ../../dstlà trên một phân vùng khác.
{}đối số nào trong đó tên tệp sẽ được mở rộng.
find. find ... -exec mv -t ../../dst/ {} \;sẽ gọi mvmột lần cho mỗi tệp; find ... -exec mv -t ../../dest {} +sẽ nhanh hơn nhiều, sao chép càng nhiều tệp trên mỗi cuộc gọi càng tốt, nhưng vẫn không nhanh bằng việc di chuyển thư mục như được giải thích bởi Dadexix86 .