Polecenie macOS rm „-W” opcja - cofnij usunięcie

22

Patrzyłem na stronę podręcznika dla rmpolecenia na moim MacBooku i zauważyłem, co następuje:

-W Spróbuj cofnąć usunięcie nazwanych plików. Obecnie tej opcji można używać tylko do odzyskiwania plików objętych wyłączeniami.

Co to znaczy? Co to jest „whiteout”?

Ciemne serce
źródło

Odpowiedzi:

20

Whiteout to specjalny plik znacznika umieszczony przez niektóre „przezroczyste” systemy plików wyższego rzędu (te, które wykorzystują jedną lub więcej rzeczywistych lokalizacji jako podstawę do prezentacji), szczególnie systemy plików unii, aby wskazać, że plik istnieje w jednym z lokalizacje podstawowe zostały usunięte w sztucznym systemie plików, mimo że nadal istnieją gdzie indziej. Lista systemu plików unii nie pokaże pobranego pliku.

Posiadanie specjalnego rodzaju reprezentujących je plików jest tradycją BSD, z której wywodzi się macOSst_mode : macOS używa bitów 0160000 do ich oznaczania . Używając ls -F, pliki te zostaną oznaczone %znakiem i ls -Wpokażą, że istnieją (w przeciwnym razie są na ogół pomijane na listach). Wiele systemów związkowych tworzy również normalne pliki o specjalnej nazwie, które reprezentują przerwy w systemach, które nie obsługują tych plików.

Nie jestem pewien, czy macOS ujawnia je w jakikolwiek sposób, ale robią to inne systemy z jego dziedzictwa BSD i możliwe jest, że zewnętrzne sterowniki systemu plików mogłyby z nich korzystać.

Michael Homer
źródło
12

„Whiteout” jest cechą niektórych unijnych systemów plików.

Jeśli masz hierarchię plików, która jest nałożona przez łączenie unii, a plik istnieje w obu warstwach wynikowej widocznej hierarchii plików, można użyć „bieli”, aby usunąć plik z górnej warstwy, zachowując go w dolnej warstwie (jak przy użyciu Tipp-ex).

rmNarzędzie jest w stanie usunąć ponownie Zamieć i zrobić plik pojawiają się (ponieważ nigdy nie został usunięty z dolnego systemu plików).

Kusalananda
źródło