ยกเลิก cp ต่อไป


17

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

คำตอบ:


32

เป็นกรณีเช่นนี้ที่สอนให้ฉันใช้rsyncตั้งแต่เริ่มต้น อย่างไรก็ตามในกรณีของคุณคุณสามารถใช้ rsync ได้ทันที มันจะคัดลอกข้อมูลใหม่ข้ามรวมถึงถ้าcpหยุดครึ่งทางผ่านไฟล์ขนาดใหญ่

คุณสามารถใช้มันเหมือนกับ cp เช่นนี้

rsync --append /where/your/copying/from /where/you/want/to/copy

3
หรือ--append-verifyเพื่อเปรียบเทียบ checksums ในตอนท้ายเพียงเพื่อความแน่ใจ
Zaz

7

ใช้สวิตช์ -u และดูหน้า cp man


แต่ไฟล์ที่มาไม่ได้มีการเปลี่ยนแปลงหรืออะไร
ฟิล

1
-u คือสำหรับ 'ปรับปรุง' เท่านั้น ... คือมันเคยชินเขียนทับไฟล์ที่มีอยู่ในปลายทางถ้าพวกเขาเป็นเดียวกันหรือใหม่กว่า ...
ericslaw

2
หากคุณใช้ -u มันจะทำการคัดลอกไฟล์ขนาดใหญ่อีกครั้ง -u จะช่วยได้ก็ต่อเมื่อคุณพยายามเรียกคืนสำเนาที่ทำซ้ำจำนวนมาก
โรรี่

7

ในกรณีที่ยกเลิกการcpเป็นสำเนา recursive คุณอาจต้องการที่จะกลับมาด้วย rsync --recursiveรวมทั้งตัวเลือก

ตัวอย่าง

คำสั่งคัดลอกยกเลิก:

cp -r source-directory destination-directory

ขอให้เราคิดว่าdestination-directoryมีอยู่แล้วเพื่อให้คำสั่งคัดลอกนี้สร้างไดเรกทอรีชื่อภายในsource-directory destination-directoryสามารถดำเนินการต่อได้ทาง:

rsync --recursive --append source-directory destination-directory

โปรดทราบว่าเครื่องหมายทับต่อท้ายมีความหมายที่แม่นยำในตัวเลือกเส้นทาง rsync

ในกรณีนี้คำสั่ง copy อาจได้รับการโต้แย้งsource-directoryหรือsource-directory/มันไม่ได้สร้างความแตกต่าง ในคำสั่ง rsync แต่มันจะต้องเป็นโดยไม่ต้องต่อท้ายเฉือนsource-directory


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