Saya baru saja mencoba memindahkan pohon besar dari satu disk ke disk lain, yang terlalu kecil. Sekarang, saya pergi dengan sesuatu yang saya tidak bisa benar-benar mengerti - sepertinya beberapa file memang dipindahkan dari pohon sumber sementara yang lain hanya disalin. Ini kemungkinan besar tidak benar, dan saya hanya mengabaikan sesuatu, seperti yang saya lakukan ketika saya memeriksa tempat kosong pada disk target. : D
Perintahnya sederhana mv source-dir destination-dir
, di mana kedua dir berada di disk yang berbeda. Saya menggunakan mv (GNU coreutils) 7.4
. Tidak ada di halaman manual saya menemukan jawaban untuk pertanyaan-pertanyaan berikut:
- mungkin file terpotong dibuat?
- jika ada kesalahan, akankah ada sesuatu di pohon sumber dihapus?
- bagaimana cara memulihkan (dengan cara yang mudah dan cepat)?
mv src1 src2 dst
bekerja dalam hal ini mirip denganmv src1 dst; mv src2 dst
dan masing-masingmv src dst
adalah seperticp -a src dst && rm -rf src
?cp -a
sudah rekursif, saya ragu itu berlaku untuk file dan direktori individual yang ditemukan saat melintasi pohon. Akan melakukan beberapa tes nanti.Ketika mv pindah ke sistem file yang berbeda, mv pertama-tama akan menyalin semua data ke sistem file yang baru. Setelah data baru disalin, itu menghapus data lama. Ini berarti bahwa jika langkah terputus gagal, lokasi sumber harus tetap berisi semua data.
Sejauh memulihkan, hanya data tujuan yang boleh rusak. Alih-alih menggunakan mv untuk lagi, cukup gunakan rsync dan kemudian rm secara manual
sumber