ฉันมีรูปภาพนับล้านบนเซิร์ฟเวอร์คลาวด์ Ubuntu ของฉัน เมื่อฉันย้ายโฟลเดอร์ทั้งหมดที่มีmvคำสั่ง12 ล้านภาพโดยใช้คำสั่งมันจะเกิดขึ้นเกือบจะทันที อย่างไรก็ตามเมื่อฉันmvมีเพียงภาพ (ไม่ใช่โฟลเดอร์) ก็ใช้เวลาพอสมควร มีวิธีในการย้ายภาพทั้งหมดอย่างรวดเร็วเท่ากับโฟลเดอร์หรือไม่?
นี่คือสิ่งที่เกิดขึ้น:
โฟลเดอร์ src มีภาพ 12 ล้านภาพและฉันย้ายมันไปยังโฟลเดอร์ dst โดยใช้
$ mv src ../dstเกิดขึ้นทันที
ภายในโฟลเดอร์ src ฉันทำสิ่งนี้เพื่อย้าย:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +ใช้เวลาพอสมควร
มีวิธีเร่งกระบวนการที่สองหรือไม่?
dstอยู่ในพาร์ติชันในขณะที่../../dstอยู่ในอีก
{}ข้อโต้แย้งใด ๆที่ชื่อไฟล์จะถูกขยาย
findมันไม่ได้เป็นที่ถูกต้องของการภาวนา find ... -exec mv -t ../../dst/ {} \;จะเรียกmvหนึ่งครั้งต่อไฟล์; find ... -exec mv -t ../../dest {} +จะได้เร็วขึ้นมาก, การคัดลอกไฟล์จำนวนมากต่อการโทรที่เป็นไปได้ แต่ก็ยังไม่เป็นอย่างที่ย้ายไดเรกทอรีตัวเองเป็นที่อธิบายไว้โดย dadexix86