ว่าฉันมีสองโฟลเดอร์ที่มีเนื้อหาต่างๆและfoo
bar
ฉันจะรวมbar
เข้าด้วยfoo
กันอย่างไร:
- ไฟล์ใน
foo
ที่ไม่ได้อยู่ในbar
นั้นจะไม่ถูกแตะต้อง - ไฟล์ใน
bar
ที่ไม่ได้อยู่ในfoo
ขณะนี้foo
มา - ไฟล์ใน
foo
ที่ยังอยู่ในได้ถูกแทนที่ด้วยไฟล์จากbar
bar
ว่าฉันมีสองโฟลเดอร์ที่มีเนื้อหาต่างๆและfoo
bar
ฉันจะรวมbar
เข้าด้วยfoo
กันอย่างไร:
foo
ที่ไม่ได้อยู่ในbar
นั้นจะไม่ถูกแตะต้องbar
ที่ไม่ได้อยู่ในfoo
ขณะนี้foo
มาfoo
ที่ยังอยู่ในได้ถูกแทนที่ด้วยไฟล์จากbar
bar
คำตอบ:
ถ้าฉันอ่านความต้องการของคุณได้อย่างถูกต้องมีไฟล์ไม่มีที่ไปจากการfoo
bar
ดูเหมือนว่าคุณสามารถคัดลอกเนื้อหาของbar
ไปที่เพื่อfoo
ให้สามารถเขียนทับไฟล์ได้ตามต้องการ (พฤติกรรมเริ่มต้น)
$ cp -R /path/to/bar/* /path/to/foo
cp -R /path/to/bar /path/to/foo
มันจะสร้างไดเรกทอรีภายในbar
foo
จุดที่ลึกซึ้ง
bar
(เช่นชื่อที่ขึ้นต้นด้วยจุด - .
) เนื่องจากการทำงานของเชลล์กลม
ผมมีความต้องการที่คล้ายกันมาก: ผสานbar
เข้าfoo
แต่ไฟล์ที่อยู่ในbar
ไม่ควรfoo
ไฟล์ที่ตรงกันในการเขียนทับ ในกรณีนี้:
$ cp -R -n /path/to/bar/* /path/to/foo/
ลองสิ่งนี้:
$ cp -r
-u
-v /path/to/foo/* /path/to/bar/
จากman cp
-u, - อัปเดตการ
คัดลอกเฉพาะเมื่อไฟล์ SOURCE ใหม่กว่าไฟล์ปลายทางหรือเมื่อไฟล์ปลายทางหายไป
-R, -r, -ไดเรกทอรีคัดลอกแบบเรียกซ้ำ
man cp
-> -u, - อัปเดต: คัดลอกเฉพาะเมื่อไฟล์ SOURCE ใหม่กว่าไฟล์ปลายทางหรือเมื่อไฟล์ปลายทางหายไป