Setelah mendapatkan jawaban Stephen Kitt dan mendiskusikan perintah ini sebagai solusi potensial:
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
Saya memutuskan untuk menunda menjalankannya sampai saya mengetahui apa yang terjadi, jawaban ini menjelaskan apa yang saya temukan dan akhirnya lakukan.
Saya menggunakan Gnu mv
yang menyalin file ke target, maka hanya jika operasi salin berhasil, itu menghapus yang asli.
Namun saya ingin mengkonfirmasi apakah mv
melakukan urutan file ini satu per satu, jika itu benar, isi folder asli akan dengan bersih telah diiris menjadi dua bagian, satu bagian bergeser ke tujuan, yang lain masih tertinggal di sumbernya. Dan mungkin ada satu file yang terputus selama penyalinan yang biasa terjadi di antara dua direktori - dan kemungkinan akan salah.
Untuk menemukan file yang umum di antara dua direktori, saya berlari:
~% sudo diff -r --report-identical-files my_data_on_60GB_partition/. /media/admin/mydata/. | grep identical | wc -l
14237
Hasil ini menyarankan ada 14.237 contoh file yang sama di direktori sumber dan target, saya konfirmasikan dengan memeriksa file secara manual - ya ada banyak file yang sama di kedua direktori. Ini menunjukkan bahwa hanya setelah mv
salinan petak besar file yang melakukan penghapusan file sumber. Pencarian cepat info
pada mv
perintah muncul
Ini [ mv
] pertama-tama menggunakan beberapa kode yang sama yang digunakan oleh cp -a
untuk menyalin direktori dan file yang diminta, kemudian (dengan asumsi salinan berhasil) menghapus kode aslinya. Jika salinan gagal, maka bagian yang disalin ke partisi tujuan dihapus.
Saya tidak menjalankan perintah tetapi saya curiga jika saya mencoba menjalankannya
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
The -i
cepat sebelum menimpa kemungkinan akan memicu lebih dari 14.000 kali.
Maka untuk mengetahui berapa banyak total file dalam direktori yang baru dibuat:
~% sudo find my_data_on_60GB_partition/ -type f -a -print | wc -l
14238
Jadi jika ada total 14238 file biasa di direktori baru dan 14237 memiliki dokumen asli yang sama kembali di sumbernya, itu berarti hanya ada satu file di direktori baru yang tidak memiliki file identik yang sesuai kembali pada sumbernya. Untuk mengetahui apa file itu, saya menjalankan rsync kembali ke arah sumber:
~% 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)
Pemeriksaan cepat mengkonfirmasi bahwa ini adalah file salah bentuk, di mana file tersebut ada pada sumber dan tujuan, file tujuan = 64MB, asli = 100MB. File ini dan hierarki direktori-nya masih dimiliki oleh root dan belum mengembalikan izin aslinya.
Jadi dalam ringkasan:
- semua file yang
mv
tidak pernah dijangkau masih kembali ke lokasi aslinya (jelas)
- semua file yang
mv
melakukan penyalinan sepenuhnya masih memiliki salinan aslinya di direktori sumber
- file yang hanya disalin sebagian masih memiliki aslinya di direktori sumber
Dengan kata lain semua file asli masih utuh dan solusi dalam hal ini adalah dengan menghapus direktori baru!
Control-Z
(berhenti) daripadaControl-C
. Dalam hal ini, Anda kemudian dapat melihat file mana yang sedang ditransfer pada waktu itu dan mengetahui file mana yang hanya disalin sebagian. Anda kemudian dapat memutuskan dengan tenang bagaimana melanjutkan. (Gunakankill -stop
untuk proses tidak dalam tty).