ว่าฉันมีสองโฟลเดอร์ที่มีเนื้อหาต่างๆและfoo barฉันจะรวมbarเข้าด้วยfooกันอย่างไร:
- ไฟล์ใน
fooที่ไม่ได้อยู่ในbarนั้นจะไม่ถูกแตะต้อง - ไฟล์ใน
barที่ไม่ได้อยู่ในfooขณะนี้fooมา - ไฟล์ใน
fooที่ยังอยู่ในได้ถูกแทนที่ด้วยไฟล์จากbarbar
ว่าฉันมีสองโฟลเดอร์ที่มีเนื้อหาต่างๆและfoo barฉันจะรวมbarเข้าด้วยfooกันอย่างไร:
fooที่ไม่ได้อยู่ในbarนั้นจะไม่ถูกแตะต้องbarที่ไม่ได้อยู่ในfooขณะนี้fooมาfooที่ยังอยู่ในได้ถูกแทนที่ด้วยไฟล์จากbarbarคำตอบ:
ถ้าฉันอ่านความต้องการของคุณได้อย่างถูกต้องมีไฟล์ไม่มีที่ไปจากการ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 ใหม่กว่าไฟล์ปลายทางหรือเมื่อไฟล์ปลายทางหายไป