จะคัดลอกไดเรกทอรีใน OS X 10.7.3 ได้อย่างไร?


109

สวัสดีฉันกำลังพยายามคัดลอกไดเร็กทอรี rail_projects ของฉันจาก haseebjaved / Desktop / rail_projects ไปยังโฮมไดเร็กทอรีของฉันซึ่งก็คือ haseebjaved

ฉันจะดำเนินการผ่าน Command Line ได้อย่างไร?

นอกจากนี้ฉันสามารถดูโฮมไดเร็กทอรีของฉันบน UI หรือผ่าน Command Line ใน Mac OS X เท่านั้น

เป็นไปได้ไหมที่จะคัดลอกไดเรกทอรีไปยังและจากโฮมไดเร็กทอรีของฉันผ่าน UI หรือผ่าน Command Line เท่านั้น?

ขอบคุณ

คำตอบ:


251

มีอะไรพิเศษในไดเร็กทอรีนั้นหรือคุณแค่ถามวิธีคัดลอกไดเร็กทอรี?

คัดลอกซ้ำผ่าน CLI:

cp -R <sourcedir> <destdir>

หากคุณเห็นเฉพาะไฟล์ที่อยู่ภายใต้sourcedirการคัดลอก (แทนที่จะsourcedirเป็นเช่นกัน) นั่นเกิดขึ้นเนื่องจากคุณเก็บเครื่องหมายทับไว้สำหรับsourcedir:

cp -R <sourcedir>/ <destdir>

ข้างต้นคัดลอกไฟล์และไดเร็กทอรีภายในไฟล์sourcedir. โดยทั่วไปคุณต้องการรวมไดเร็กทอรีที่คุณกำลังคัดลอกดังนั้นให้วางเครื่องหมายทับต่อท้าย:

cp -R <sourcedir> <destdir>

ขอบคุณปีเตอร์ ฉันกำลังพยายามคัดลอกไดเร็กทอรีย่อยสามรายการภายใน rail_projects ไปยังโฮมไดเร็กทอรี haseebjaved เมื่อฉันออกคำสั่งต่อไปนี้: cp -r ~ / Desktop / rail_projects haseebjaved คำสั่งจะคัดลอกไดเร็กทอรีย่อยสามไดเร็กทอรีจาก rail_projects ไปยัง haseebjaved อย่างมีประสิทธิภาพและสร้างโฟลเดอร์ใหม่ชื่อ haseebjaved ในโฮมไดเร็กทอรีของฉัน haseebjaved สิ่งที่ฉันต้องการคือไดเร็กทอรี rail_projects เพื่อแสดงภายใต้โฮมไดเร็กทอรีของฉัน haseebjaved เช่นเดียวกับโฟลเดอร์อื่น ๆ เช่นดาวน์โหลดเดสก์ท็อป ฯลฯ
hjaved

ตอนนี้ฉันใช้ฟังก์ชันการค้นหากับ Finder และมันดีขึ้นมาก แต่ไม่เห็นโฮมไดเร็กทอรีของฉันในรายการโปรดหรือที่อื่น ใหม่มากสำหรับ Mac OS X และ Rails
hjaved

cp -r ~/Desktop/rails_projects ~คือสิ่งที่คุณต้องการ
Andy Friese

5
นี่คือคู่มือจากcp:-R If source_file designates a directory, cp copies the directory and the entire subtree connected at that point. **If the source_file ends in a /, the contents of the directory are copied rather than the directory itself.** This option also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files. Created directories have the same mode as the corresponding source directory, unmodified by the process' umask.
เสี่ยว

2
เพียงสองเซ็นต์เกี่ยวกับการคัดลอกโฟลเดอร์จากบรรทัดคำสั่ง: ditto command ss64.com/osx/ditto.html PS ไม่เหมือนกับ cp -R ถ้ามีโฟลเดอร์ปลายทางอยู่แล้วเนื้อหาที่มีอยู่จะถูกรวมเข้ากับเนื้อหาของโฟลเดอร์ที่กำลังคัดลอก
Alexander Hramov

2

tl; dr

cp -R "/src/project 1/App" "/src/project 2"

คำอธิบาย:

การใช้เครื่องหมายคำพูดจะรองรับช่องว่างในชื่อไดเรกทอรี

cp -R "/src/project 1/App" "/src/project 2"

หากระบุไดเร็กทอรี App ในไดเร็กทอรีปลายทาง:

cp -R "/src/project 1/App" "/src/project 2/App"

และ "/ src / project 2 / App" มีอยู่แล้วผลลัพธ์จะเป็น "/ src / project 2 / App / App"

ไม่ควรระบุไดเร็กทอรีที่คัดลอกในปลายทางเพื่อให้สามารถทำซ้ำคำสั่งซ้ำแล้วซ้ำอีกพร้อมกับผลลัพธ์ที่คาดหวัง

ภายในสคริปต์ทุบตี:

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