คำตอบสั้น ๆ
ใช้บรรทัดคำสั่ง (เทอร์มินัล):
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
คำสั่งดังกล่าวจะเพิ่มsrc
เนื้อหาและไดเรกทอรีย่อยไปโดยไม่เขียนทับเนื้อหาอยู่แล้วในdestination
destination
คำตอบที่ยาว
แม้ว่าเนื้อหาจะทับซ้อนกันคุณยังสามารถใช้cp
เพื่อทำมันได้ สมมติว่าคุณมีสองโฟลเดอร์บนเดสก์ทอปของคุณ: src
และdestination
โฟลเดอร์และคุณต้องการผสานsrc
เข้าdestination
:
หากต้องการรวมเพียงทำ:
cp -r ~/Desktop/src/* ~/Desktop/destination/
หมายเหตุเมื่อคุณใช้นี้เนื้อหาในsrc
เขียนทับเนื้อหาในที่โฟลเดอร์และเพิ่มสิ่งที่พิเศษที่ขาดหายไปในdestination
destination
มันไม่ควรสำคัญว่าถ้าคุณเพียงต้องการที่จะเพิ่มไฟล์ที่หายไปจากการเข้าsrc
destination
นอกจากนี้ยังไม่สำคัญว่าจะมีไดเรกทอรีย่อยจำนวนเท่าใด แต่จะผ่านแต่ละโฟลเดอร์ซ้ำและจะเขียนทับเนื้อหาและจะเพิ่มเนื้อหาที่ขาดหายไปในdestination
โฟลเดอร์
แต่
PITFALLหากคุณมีไฟล์ขนาดใหญ่ (เช่นไฟล์วิดีโอ) คุณไม่ต้องการรอจนกระทั่งทุกอย่างถูกเขียนทับมันจะเพิ่มโอเวอร์เฮดจำนวนมาก
PITFALL SOLUTION : แต่คุณสามารถใช้การ-n
ตั้งค่าสถานะเพื่อข้ามการเขียนทับ:
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
นี่คือคำอธิบายของ-n
ธงจากหน้าคน:
man cp
-n Do not overwrite an existing file. (The -n option overrides any
previous -f or -i options.)
อ่านเพิ่มเติม
- /programming/5088332/overhead-of-a-flag-in-cp-command