หลังจากได้รับคำตอบจาก Stephen Kitt และพูดคุยเกี่ยวกับคำสั่งนี้เป็นวิธีแก้ปัญหาที่เป็นไปได้:
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
ฉันตัดสินใจที่จะหยุดการทำงานจนกว่าฉันจะได้รู้ว่าเกิดอะไรขึ้นคำตอบนี้อธิบายสิ่งที่ฉันค้นพบและลงเอยด้วยการทำ
ฉันใช้ Gnu mv
ซึ่งคัดลอกไฟล์ไปยังเป้าหมายจากนั้นหากการดำเนินการคัดลอกสำเร็จแล้วจะเป็นการลบต้นฉบับ
อย่างไรก็ตามฉันต้องการยืนยันว่าmv
ดำเนินการตามลำดับทีละไฟล์หรือไม่หากเป็นจริงเนื้อหาของโฟลเดอร์ดั้งเดิมจะถูกแบ่งออกเป็นสองส่วนอย่างชัดเจนส่วนหนึ่งเลื่อนไปที่ปลายทางส่วนที่เหลือยังคงอยู่ที่ต้นทาง และอาจมีไฟล์หนึ่งไฟล์ที่ถูกขัดจังหวะระหว่างการคัดลอกซึ่งจะเกิดขึ้นระหว่างสองไดเรกทอรี - และมันอาจจะผิดรูปแบบ
ในการค้นหาไฟล์ที่ใช้ร่วมกันระหว่างสองไดเรกทอรีฉันใช้งาน:
~% sudo diff -r --report-identical-files my_data_on_60GB_partition/. /media/admin/mydata/. | grep identical | wc -l
14237
ผลลัพธ์นี้แนะนำว่ามีอินสแตนซ์ของไฟล์เดียวกัน 14,237 อินสแตนซ์ในไดเรกทอรีต้นทางและเป้าหมายฉันยืนยันโดยตรวจสอบไฟล์ด้วยตนเอง - ใช่มีไฟล์เดียวกันจำนวนมากในทั้งสองไดเร็กทอรี สิ่งนี้ชี้ให้เห็นว่าหลังจากmv
คัดลอกไฟล์จำนวนมากไปแล้วมันจะทำการลบไฟล์ต้นฉบับ ค้นหาแบบรวดเร็วในการinfo
เกี่ยวกับmv
คำสั่งแสดงให้เห็นว่า
มัน [ mv
] แรกใช้บางรหัสเดียวกันที่ใช้โดยcp -a
การคัดลอกไดเรกทอรีและไฟล์ที่ร้องขอจากนั้น (สมมติว่าการคัดลอกประสบความสำเร็จ) มันลบต้นฉบับ หากการคัดลอกล้มเหลวส่วนที่คัดลอกไปยังพาร์ติชันปลายทางจะถูกลบออก
ฉันไม่ได้เรียกใช้คำสั่ง แต่ฉันสงสัยว่าฉันพยายามเรียกใช้หรือไม่
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
-i
พรอมต์ก่อนที่จะเขียนทับมีแนวโน้มว่าจะมีการหารือมากกว่า 14,000 ครั้ง
ดังนั้นเพื่อค้นหาจำนวนไฟล์ทั้งหมดในไดเรกทอรีที่สร้างขึ้นใหม่:
~% sudo find my_data_on_60GB_partition/ -type f -a -print | wc -l
14238
ดังนั้นถ้ามีไฟล์ปกติรวม 14238 ไฟล์ในไดเรกทอรีใหม่และ 14237 มีต้นฉบับกลับมาเหมือนกันในแหล่งที่มานั่นหมายความว่ามีเพียงหนึ่งไฟล์ในไดเรกทอรีใหม่ที่ไม่มีไฟล์เหมือนกันกลับมาในแหล่งที่มา เพื่อค้นหาว่าไฟล์นั้นเป็นอะไรฉันก็วิ่ง rsync กลับไปในทิศทางของแหล่งที่มา:
~% sudo rsync -av --dry-run my_data_on_60GB_partition/ /media/admin/my_data
sending incremental file list
./
Education_learning_reference/
Education_learning_reference/Business_Education/
Education_learning_reference/Business_Education/Business_education_media_files/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/Jeff and David F interview/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/Jeff and David F interview/018 business plans-identifying main KPIs.flv
sent 494,548 bytes received 1,881 bytes 330,952.67 bytes/sec
total size is 1,900,548,824 speedup is 3,828.44 (DRY RUN)
การตรวจสอบอย่างรวดเร็วยืนยันว่านี่เป็นไฟล์ที่มีรูปแบบไม่ถูกต้องซึ่งมีไฟล์อยู่ทั้งต้นทางและปลายทางไฟล์ปลายทาง = 64MB ดั้งเดิม = 100MB ไฟล์นี้และลำดับชั้นไดเรกทอรีของมันยังคงเป็นของรากและยังไม่ได้รับการคืนค่าสิทธิ์ดั้งเดิม
ดังนั้นโดยสรุป:
- ไฟล์ทั้งหมดที่
mv
ไม่เคยเข้าถึงยังคงอยู่ในตำแหน่งเดิม (ชัด)
- ไฟล์ทั้งหมดที่
mv
ทำสำเนาอย่างสมบูรณ์ยังคงมีสำเนาต้นฉบับอยู่ในไดเรกทอรีต้นทาง
- ไฟล์ที่ถูกคัดลอกเพียงบางส่วนยังคงมีไฟล์ต้นฉบับอยู่ในไดเรกทอรีต้นฉบับ
กล่าวคือไฟล์ต้นฉบับทั้งหมดยังคงไม่เปลี่ยนแปลงและวิธีแก้ปัญหาในกรณีนี้คือเพียงแค่ลบไดเรกทอรีใหม่
Control-Z
(เพื่อหยุด)Control-C
มากกว่า ในกรณีนี้คุณจะสามารถดูไฟล์ที่ถูกถ่ายโอนในเวลานั้นและเพื่อให้ทราบว่าไฟล์ใดที่ถูกคัดลอกเพียงบางส่วนเท่านั้น จากนั้นคุณสามารถตัดสินใจอย่างใจเย็นเกี่ยวกับวิธีดำเนินการ (ใช้kill -stop
สำหรับกระบวนการที่ไม่อยู่ใน tty)