cp mengatakan itu menghapus file, tetapi seharusnya tidak

10

Membuat cadangan cepat:

root@guilmon:/mnt/backup/guilmon/home# cp -uvfrx --preserve=all /home/rena/ .

Outputnya mengejutkan - beberapa file dikatakan dihapus!

removed ‘./rena/dev/lua/conkybitcoin/conkybitcoin.lua’

File yang dihapus tampaknya acak dan tidak berubah. Mengapa dikatakan menghapusnya? Bahkan lebih aneh lagi, tampaknya file itu tidak benar - benar dihapus (atau sumbernya) Apa yang sedang terjadi?

Rena
sumber

Jawaban:

15

cpdengan opsi --forcedan --verbose( -fdan -vdi baris perintah Anda) menampilkan pesan "dihapus" setiap kali menghapus file tujuan sebelum menyalinnya. ( --forcememberitahu cpuntuk menghapus file tujuan jika tidak dapat dibuka, sebelum mencoba menyalin lagi.)

Dalam contoh Anda, itu berarti ./rena/dev/lua/conkybitcoin/conkybitcoin.luatidak dapat dibuka untuk menulis, jadi cphapus dan salin lagi /home/rena.

Stephen Kitt
sumber
Saya melihat. Jadi pertanyaannya adalah mengapa itu tidak bisa dibuka ...
Rena
Apakah hanya baca?
Stephen Kitt
1
Pertanyaan sebenarnya adalah, apakah itu (file yang sudah ada sebelumnya di direktori tujuan) hanya-baca sebelum Anda menjalankan cpperintah?
G-Man Mengatakan 'Reinstate Monica'
Keduanya adalah mode 0644, dan saya menjalankan cp sebagai root, jadi harus baik-baik saja di sana. Tujuan yang ada seharusnya juga baik-baik saja karena saya menggunakan perintah yang sama untuk menyalin semua /homeke disk cadangan kemarin setelah membuat filesystem baru yang kosong di atasnya. btrfs scrubmelaporkan tidak ada kesalahan pada kedua disk.
Rena