คำถามติดแท็ก cp

cp เป็นคำสั่งของระบบปฏิบัติการ Unix ที่ใช้ในการคัดลอกไฟล์

5
ฉันจะคัดลอกไดเรกทอรี (ใหญ่) ไปยังอีกการเปลี่ยนแปลงเฉพาะไฟล์ที่แตกต่างได้อย่างไร
ฉันมีไดเรกทอรี a และไดเรกทอรี b พวกมันใหญ่ b เกือบจะเหมือนกันกับ "เกือบ" หมายความว่า 4-5 ไฟล์ต่างกันและฉันไม่รู้ว่ามันคืออะไร ฉันต้องการคัดลอก b ผ่าน a แต่เฉพาะไฟล์ที่แตกต่าง ฉันกำลังทุบตี (ไม่ฉันไม่สามารถลบ a และแทนที่ด้วย b ได้เนื่องจาก 1) a เป็นเวอร์ชันที่ควบคุม 2) สำเนาแบบเต็ม (หรือ mv) จะใช้เวลามากเกินไป ฉันต้องการคัดลอกเฉพาะไฟล์ที่แตกต่างกัน)
14 linux  bash  cp  file-transfer 

3
ใช้ข้อความซ้ำในคำสั่ง bash
หากฉันกำลังเขียนคำสั่งแบบยาวหรือเพียงแค่พิมพ์พา ธ ไฟล์ขนาดใหญ่มีอะไรบ้างที่ฉันสามารถ "นำ" กลับมาใช้ใหม่ได้ด้วยทางลัดคำสั่งบ้าง เช่น: 1cp /home/myuser/really/big/file/here/and/there.png /home/myuser/really/big/file/here/and/there.png.bkp ฉันต้องพิมพ์อีกครั้งจริง ๆ หรือไม่?
13 bash  cp 

5
Linux คัดลอกไปยังระบบไฟล์ fat32: อาร์กิวเมนต์ไม่ถูกต้อง
เมื่อฉันคัดลอกไฟล์จากพาร์ติชัน ext3 ไปยังไฟล์ fat32 โดยใช้ cp: cp -R /ext3/stuff /fat32/partition/ ฉันได้รับข้อความโต้แย้งที่ไม่ถูกต้องสำหรับไฟล์ทั้งหมดที่มีเครื่องหมายโคลอนและเครื่องหมายคำถาม มีวิธีใดที่จะทำให้ cp ตัดออกอักขระที่ไม่ถูกต้องสำหรับระบบไฟล์เป้าหมายหรือไม่? แก้ไข: ฉันได้ตรวจสอบผ่านตัวเลือกของ cp อีกครั้งและถ้าฉันไม่ได้โง่ก็ไม่มีอะไรในนั้น ฉันแน่ใจว่าฉันสามารถเขียนสคริปต์ แต่รู้สึกว่าควรมีวิธีแก้ปัญหาที่สะอาดกว่า!

5
ฉันจะคัดลอกไฟล์ด้วย SSH ได้อย่างไร
ฉันกำลังพยายามคัดลอกไฟล์จากคอมพิวเตอร์เครื่องอื่นไปยังคอมพิวเตอร์เครื่องอื่น (ทั้งที่ใช้ Ubuntu 9.10) ดังนั้นฉันจึงไปที่คอมพิวเตอร์เครื่องอื่น ฉันcdไปที่ไดเรกทอรี; และฉันป้อนcp File.zip /home/me/Desktopตามที่file.zipอยู่ในไดเรกทอรีที่ฉันเพิ่งใช้cdกับ ตอนนี้มันทำให้ฉันข้อความผิดพลาดต่อไปนี้: cannot create regular file '/home/me/Desktop': no such file or directory ฉันต้องทำอะไร?
12 linux  ssh  terminal  cp 

5
cp -r -l ใน MacOS (คัดลอกซ้ำเพื่อสงวนฮาร์ดลิงก์)
ฉันพยายามที่จะคัดลอกไดเรกทอรีต้นไม้ซ้ำรักษาฮาร์ดลิงก์ไปยังไฟล์ การใช้ gnu cp จะทำงานกับแฟล็ก -l cp จะสร้างโครงสร้างไดเรกทอรีขึ้นมาใหม่ แต่ไม่จำเป็นต้องคัดลอกเนื้อหาของแต่ละไฟล์ นี่เป็นข้อมูลเบื้องต้นสำหรับการสำรองข้อมูลขั้นแรกฉันต้องการทำสำเนาถูก (ฮาร์ดลิงก์) ของการสำรองข้อมูลก่อนหน้านี้จากนั้น rsync ไดเรกทอรีแหล่งที่มาบนสำเนานี้ ประมาณ: cp -r -l yesterdays_backup todays_backup rsync -a source_dir todays_backup น่าเสียดายที่ cp ของ OSX ไม่รองรับแฟล็ก -l เท่าที่ฉันจะบอกได้ cpio ไม่รองรับการคัดลอกซ้ำ ทางเลือกอื่นคือสันติภาพ แต่นำไปสู่โครงสร้างไดเรกทอรีทั้งหมดที่ถูกคัดลอก: pax -rw backups/yesterdays_backup backups/todays_backup แปลง: yesterdays_backup | \source_dir (...) ถึง: todays_backup | \backups \yesterdays_backup \source_dir(...) …
12 mac  backup  rsync  cp 

1
ทำไม tar | tar เร็วกว่า cp มาก
สำหรับการคัดลอกไดเรกทอรีซ้ำใช้tarการแพ็คอัพไดเร็กทอรีแล้วไพพ์เอาต์พุตไปยังอีกอันtarเพื่อคลายแพ็คดูเหมือนว่าจะเร็วกว่าการใช้cp -r(หรือcp -a) ทำไมนี้ และทำไมไม่cpทำเร็วขึ้นด้วยวิธีเดียวกันภายใต้ประทุน? แก้ไข: ฉันสังเกตเห็นความแตกต่างนี้เมื่อพยายามคัดลอกโครงสร้างไดเรกทอรีขนาดใหญ่ที่มีไฟล์และโฟลเดอร์นับหมื่นไฟล์ซ้อนกันอย่างล้ำลึก แต่มีขนาดประมาณ 50MB เท่านั้น ไม่แน่ใจว่าเกี่ยวข้องหรือไม่
10 tar  cp 

2
คำสั่ง cp เพื่อสร้าง iso อิมเมจ usb ที่สามารถบูตได้
มีการพูดคุยกันมากมายเกี่ยวกับการสร้างแท่ง USB ที่สามารถบู๊ตได้ คู่มือเดเบียนในการติดตั้ง Wheezy แนะนำต่อไปนี้: # cp debian.iso /dev/sdX # sync ตรวจสอบให้แน่ใจว่าอุปกรณ์ USB นั้นถูกถอดออกก่อน หน้าคู่มือเดเบียน ฉันได้ทำสิ่งนี้แล้วเพื่อเตรียมการติดตั้งเสียงฮืด ๆ ดูเหมือนจะใช้งานได้เพราะอิมเมจ ISO เป็นสิ่งที่เห็นได้ใน USB และขนาดที่ใช้ได้คือรูปภาพ ยังคงต้องดูว่ามันจะบู๊ตหรือไม่เป็นต้น ตอนนี้มีใครบางคนสามารถอธิบายได้ว่าทำไมงานนี้ ฉันคิดว่าคำสั่ง cp เช่นนี้คล้ายกับการลากและวาง (นอกเหนือจากการต่อพ่วง USB)
9 linux  boot  usb  cp  debian-wheezy 

6
ฉันจะใช้ cp เพื่อคัดลอกไดเรกทอรี แต่ไม่ต้องสนใจไดเรกทอรีย่อยบางอย่างใน Linux
เนื่องจากปัญหาฮาร์ดดิสก์ฉันพยายามเปลี่ยนพาร์ติชันจากฮาร์ดดิสก์หนึ่งไปยังอีก ฉันกำลังติดตามบทความhttp://www.ibm.com/developerworks/library/l-partplan.htmlเพื่อทำสิ่งนั้น ในส่วนการคัดลอกฉันต้องการที่จะไม่สนใจไดเรกทอรีย่อยหนึ่งโดยเฉพาะ ฉันจะทำให้สำเร็จได้อย่างไรเมื่อนึกถึงเมื่อคัดลอกฉันจะต้องสงวนกลุ่มเจ้าของและการประทับเวลาไว้ มีข้อมูลประมาณ 700 GB ที่ต้องคัดลอกหากฉันไม่สนใจไดเรกทอรีย่อยที่ต้องการ
9 cp 

1
เหตุใด du -sl จึงแสดงขนาดต่างกันสำหรับแหล่งที่มาและผลลัพธ์ของ cp -rl
ฉันเคยcp -rlคัดลอกโฟลเดอร์ เมื่อทำการวัดขนาดของแหล่งที่มาและผลลัพธ์ของการทำสำเนาdu -slจะส่งคืนขนาดที่แตกต่างกันเล็กน้อยถึงแม้ว่าจะdiffยืนยันว่าเนื้อหานั้นเหมือนกัน: $ cp -rl folderA/ folderB/ $ du -sl folderA folderB 98561224 folderA 98590512 folderB $ diff --brief -ra folderA/ folderB/ $ ทั้งสองโฟลเดอร์อยู่ในฮาร์ดไดรฟ์เดียวกันไม่มีการแก้ไขใด ๆ ระหว่างการคัดลอกและการวัด ฉันไม่พบสิ่งใดในเอกสารประกอบduและcpสามารถอธิบายความแตกต่างได้

3
ฉันจะใช้ find เพื่อคัดลอกไฟล์ที่พบทั้งหมดไปยังชื่อใหม่ในไดเรกทอรีเดียวกันได้อย่างไร
ฉันมีคำสั่งง่ายๆที่เกือบจะเป็นสิ่งที่ฉันต้องการ ต่อไปนี้จะค้นหาไฟล์ทั้งหมดที่มีคำต่อท้ายเป็น '_compressed.swf' และคัดลอกแต่ละไฟล์ลงในไดเรกทอรีเดียวกันโดยใช้ '.bak2' ต่อท้าย: ค้นหา '../content' -name '* _compressed.swf' -print0 | xargs -0 -I {} cp {} {} .bak2 ผลลัพธ์ ใน: /content/somefile_compressed.swf Out: /content/somefile_compressed.swf.bak2 อย่างไรก็ตามฉันต้องแทนที่ '_compressed.swf' ด้วย '_content.swf' ฉันต้องการใช้การค้นหาแทนที่การตั้งค่าสถานะแบบเรียกซ้ำบน cp เพื่อความสอดคล้อง วัตถุประสงค์ ใน: /content/somefile_compressed.swf Out: /content/somefile_content.swf
4 linux  bash  find  cp  xargs 

2
คัดลอกไฟล์ทั้งหมดภายในไดเรกทอรีย่อยและเปลี่ยนชื่อแทนการเขียนทับ
ฉันมีรูปภาพจำนวนหนึ่งในไดเรกทอรีย่อยของไดเรกทอรีอื่นซึ่งฉันต้องการคัดลอกไปยังไดเรกทอรีเดียวเพื่อให้ภาพทั้งหมดอยู่ในที่เดียว หลังจากการค้นหาเล็กน้อยฉันพบแล้วแก้ไขบางสิ่งเพื่อสร้างคำสั่งนี้: find . -name "z*.jpg" -exec cp '{}' ~/Extracted/ \; ดูเหมือนว่าจะใช้ได้ แต่ฉันพบว่าภาพที่มีชื่อเดียวกันจะถูกเขียนทับดังนั้นฉันจึงทำสิ่งนี้: find . -name "z*.jpg" -exec cp -n '{}' ~/Extracted/ \; แต่ตอนนี้ภาพที่มีชื่อเดียวกันจะถูกละเว้น ฉันสามารถทำเช่นนี้ได้ดังนั้นทุกภาพจะถูกคัดลอกและภาพที่มีชื่อเดียวกันจะถูกเปลี่ยนชื่อหรือไม่?
4 linux  find  cp 

2
สัญลักษณ์แทนไม่ทำงานในคำสั่ง cp เมื่อใช้ exec
ฉันต้องการคัดลอกไฟล์ทั้งหมดในไดเรกทอรีทั้งหมดไปยังไดเรกทอรีหลัก แต่ฉันได้รับข้อผิดพลาด ./img/* is not a directory ตัวอย่างเช่น. นี่คือคำสั่งที่ฉันใช้ มีวิธีที่ดีกว่าในการทำเช่นนี้? find . -type d -regex './[a-z]*' -exec cp -v {}/* .. \;
3 command-line  unix  find  cp 

3
วิธีคัดลอกไดเรกทอรี (โฟลเดอร์และเนื้อหา) ไปยังไดเรกทอรีอื่นได้อย่างไร
นี่คือโครงสร้างไฟล์ของฉัน: - someDirA - folderOne - folderTwo - somefile.txt - someotherfile.txt - someDirB - somefolder สิ่งที่ฉันต้องการ 'someDirB' จะมีลักษณะ: - someDirB - somefolder - folderTwo - somefile.txt - someotherfile.txt ฉันแค่ต้องการคัดลอก folderDirA ของสองDir (โฟลเดอร์และเนื้อหาทั้งหมด) ลงใน someDirB ไดเรกทอรีทั้งสองอยู่ในเส้นทางที่แยกจากกัน
2 linux  shell  cp 

1
Symlink ไฟล์ทั้งหมด แต่คัดลอกส่วนขยายบางอย่าง
ฉันสงสัยว่าฉันจะเชื่อมโยงไฟล์ทั้งหมดในโครงสร้าง dir ได้อย่างไรและจากนั้นก็คัดลอกไฟล์ของส่วนขยายที่แน่นอนใน dir นั้น ฉันกำลังเชื่อมโยงไฟล์ทั้งหมดภายใน / foo / a, b, c ถึง / bar / a, b, c แล้วคัดลอกไฟล์บางไฟล์ที่มีนามสกุลบางอย่าง

1
การคัดลอกไฟล์โดยไม่สูญเสียข้อมูลเมตาใน Linux
ฉันสามารถคัดลอกสิ่งต่าง ๆ เช่นไฟล์เพลงด้วยแท็ก "ศิลปิน" และ "ชื่อ" ได้อย่างไรโดยไม่สูญเสียแท็ก จะ rsync งาน? จะ cp? ทั้งสองต้องการสวิตช์เฉพาะหรือไม่?
1 linux  rsync  metadata  cp 

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