opsi perintah macOS rm '-W' - batalkan penghapusan

22

Saya melihat halaman manual untuk rmperintah di MacBook saya dan saya perhatikan yang berikut:

-W Berusaha untuk membatalkan penghapusan file bernama. Saat ini, opsi ini hanya dapat digunakan untuk memulihkan file yang tertutup oleh whiteout.

Apa artinya ini? Apa itu "whiteout"?

Hati gelap
sumber

Jawaban:

20

Whiteout adalah file penanda khusus yang ditempatkan oleh beberapa filesystem tingkat tinggi "tembus" (yang menggunakan satu atau lebih lokasi nyata sebagai dasar untuk presentasi mereka), khususnya file sistem gabungan, untuk menunjukkan bahwa file yang ada di salah satu lokasi dasar telah dihapus dalam sistem file buatan meskipun masih ada di tempat lain. Mendaftarkan sistem file gabungan tidak akan menampilkan file yang sudah tidak digunakan lagi.

Memiliki jenis file khusus yang mewakili ini adalah dalam tradisi BSD bahwa macOS berasal dari: macOS menggunakan st_modebit 0160000 untuk menandai mereka . Menggunakan ls -F, file-file itu akan ditandai dengan %tanda , dan ls -Wakan menunjukkan bahwa mereka ada (jika tidak, mereka biasanya dihilangkan dari daftar). Banyak sistem penyatuan juga membuat file normal dengan nama khusus untuk mewakili gangguan pada sistem yang tidak mendukung file tersebut.

Saya tidak yakin bahwa macOS mengekspos ini sendiri dengan cara apa pun, tetapi sistem lain dari warisan BSD-nya melakukannya dan mungkin saja driver sistem file eksternal dapat menggunakannya.

Michael Homer
sumber
12

"Whiteout" adalah fitur dari beberapa sistem file gabungan.

Jika Anda memiliki hierarki file yang di-override oleh union union, dan file ada di kedua lapisan dari hierarki file yang terlihat, "whiteout" dapat digunakan untuk menghapus file dari lapisan atas sambil tetap menyimpannya di lapisan bawah (seperti menggunakan Tipp-ex).

The rmutilitas mampu menghapus whiteout dan membuat file muncul lagi (karena itu tidak pernah dihapus dari sistem file yang lebih rendah).

Kusalananda
sumber