วิธีการคัดลอกทุบตีไดเรกทอรีและไฟล์ทั้งหมดซ้ำ?


137

ฉันมีสคริปต์:

find ./SourceFolder/ -maxdepth 4 -exec cp -R '{}' ./DestFolder/ \;

SourceDir มีโฟลเดอร์ย่อยด้วย

ปัญหาที่เกิดขึ้นDestFolderไม่เพียง แต่ในทรีทั้งหมด แต่อยู่ในระดับที่สูงขึ้นอีกระดับและไฟล์ทั้งหมด

จะแก้ไขอย่างไร


ขออภัยลืมเพิ่มชื่อ "* .txt"
user710818

คำตอบ:


289
cp -r ./SourceFolder ./DestFolder

6
ดังนั้นเพื่อชี้แจงตัวเลือก capital-R จะคัดลอกรูต dir อีกครั้ง; ตัวเลือกขนาดเล็ก -r ช่วยให้เส้นทางรากเหมือนกัน
AnneTheAgile

8
@AnneTheAgile - จากการทดสอบของฉันเพียงแค่ตอนนี้และตามหน้า man -r และ -R ไม่แตกต่างกัน
aaaaaa

@aaaaaa, ty! คุณใช้ OS / เวอร์ชันใดอยู่ ฉันพบในภายหลังดูเหมือนว่าคำสั่ง bash อาจแตกต่างกันอย่างละเอียดในระบบปฏิบัติการ
AnneTheAgile

2
cpไม่ใช่คำสั่ง bash แต่สามารถแยกปฏิบัติได้ดังนั้นจึงเป็นระบบเฉพาะ คำสั่ง bash ที่แท้จริงในทางกลับกันจะเหมือนกันในทุกระบบปฏิบัติการ
lanzz

52

รหัสสำหรับการคัดลอกง่าย

cp -r ./SourceFolder ./DestFolder

รหัสสำหรับการคัดลอกที่มีผลสำเร็จ

cp -rv ./SourceFolder ./DestFolder

รหัสสำหรับ Forcefully ถ้าแหล่งที่มามีไฟล์แบบอ่านอย่างเดียวมันก็จะคัดลอก

cp -rf ./SourceFolder ./DestFolder

สำหรับรายละเอียดช่วยเหลือ

cp --help
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.