วิธีที่ดีกว่าในการคัดลอกหลายไดเรกทอรีไปยังไดเรกทอรีใหม่


33

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

cp -r css/ ar/
cp -r images/ ar/
cp -r js/ ar/
cp -r backups/ ar/

ฉันเพิ่งจะคบพวกเขาพร้อมกับอัฒภาค

คำตอบ:


63

คัดลอกโฟลเดอร์ไปยังโฟลเดอร์อื่น (โฟลเดอร์ในโฟลเดอร์):

cp -r css images js backups ar/

หมายเหตุ:สิ่งนี้แตกต่างจากการคัดลอกเพียงเนื้อหาเอง (เนื้อหาของโฟลเดอร์ในโฟลเดอร์):

cp -r css/ images/ js/ backups/ ar/

4
เครื่องหมายทับสร้างความแตกต่าง! สงสัยอยู่เสมอไม่เคยรู้
Peter Perháč

2
เครื่องหมายทับจะไม่สร้างความแตกต่างในการทดสอบของฉัน ไม่ใช่cp rsyncอย่างไรก็ตามcp -r css/. images/. ar/จะคัดลอกเนื้อหาโดยไม่มีไดเรกทอรี รุ่น cp ของฉันคือ "cp (GNU coreutils) 8.29"
sourcejedi

1

คำตอบนั้นง่ายและใช้งานได้กับ Debian "นี่คือวิธีที่ฉันทำ" (ทดสอบแล้ว) ให้บอกว่าคุณอยู่ใน/ etcและต้องการคัดลอกไฟล์และโฟลเดอร์ก่อนที่จะฟอร์แมตฮาร์ดดิสก์ของคุณ (ด้วยเหตุผลบางอย่าง) พิมพ์ต่อไปนี้และทุกอย่างที่กล่าวถึงด้านล่างจะถูกคัดลอกไปยัง/ mybackups /โฟลเดอร์:

sudo cp -r -a apt/ bash.bashrc environment hosts init.d/ init/ nginx/ proxychains.conf sudoers sysctl.d/ profile.d/ grub.d/ /boot/grub/ /opt/ /root/ /var/www/ /mybackups/

อย่างที่คุณเห็นด้านบนฉันพยายามคัดลอกโฟลเดอร์จากภายนอกฯลฯด้วยการชี้ไปที่ตำแหน่งของมันเช่น/ boot / grub /หรือ/ opt /และมันใช้งานได้!


1
ฉันเชื่อว่า - ไม่จำเป็นต้องใช้เนื่องจาก - มีอยู่แล้ว (ผ่าน: man)
David Potočnik

-2

คุณไม่สามารถคัดลอกสองไดเรกทอรีโดยใช้cpคำสั่งเพียงอย่างเดียว

คุณสามารถคัดลอกซ้ำโดยใช้-rตัวเลือกแม้ว่า

ตัวอย่างเช่น:

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