macOS rm Befehl '-W' Option - Wiederherstellen

21

Ich habe in der Manpage nach dem rmBefehl auf meinem MacBook gesucht und Folgendes festgestellt:

-W Versuchen Sie, die angegebenen Dateien wiederherzustellen. Gegenwärtig kann diese Option nur zum Wiederherstellen von Dateien verwendet werden, die von Whiteouts betroffen sind.

Was bedeutet das? Was ist ein "Whiteout"?

Dunkles Herz
quelle

Antworten:

19

Ein Whiteout ist eine spezielle Markierungsdatei, die von einigen "durchsichtigen" Dateisystemen höherer Ordnung (die einen oder mehrere reale Speicherorte als Grundlage für ihre Darstellung verwenden) abgelegt wird, insbesondere von Unionsdateisystemen, um anzuzeigen, dass eine Datei in einem von vorhanden ist Die Basispositionen wurden im künstlichen Dateisystem gelöscht, obwohl sie an anderer Stelle noch vorhanden sind. Beim Auflisten des Union-Dateisystems wird die durchbrochene Datei nicht angezeigt.

Eine spezielle Art von Datei, die diese repräsentiert, ist in der BSD-Tradition, von der macOS st_modeabstammt : macOS verwendet die Bits 0160000, um sie zu markieren . Bei Verwendung von ls -Fwerden diese Dateien mit einem %Zeichen gekennzeichnet und ls -Wzeigen an, dass sie vorhanden sind (andernfalls werden sie in der Regel nicht in den Auflistungen aufgeführt). Viele Gewerkschaftssysteme erstellen auch normale Dateien mit einem speziellen Namen, um Whiteouts auf Systemen darzustellen, die diese Dateien nicht unterstützen.

Ich bin mir nicht sicher, ob macOS diese selbst in irgendeiner Weise verfügbar macht, aber andere Systeme aus der BSD-Tradition tun dies und es ist möglich, dass externe Dateisystemtreiber sie verwenden.

Michael Homer
quelle
12

Ein "Whiteout" ist eine Funktion einiger Union-Dateisysteme.

Wenn Sie eine Dateihierarchie haben, die von einem Union Mount überlagert wird, und eine Datei in beiden Ebenen der resultierenden sichtbaren Dateihierarchie vorhanden ist, kann ein "Whiteout" verwendet werden, um die Datei von der oberen Ebene zu entfernen, während sie in der unteren Ebene erhalten bleibt (wie mit Tipp-ex).

Das rmDienstprogramm kann das Whiteout entfernen und die Datei erneut anzeigen (da sie nie aus dem unteren Dateisystem gelöscht wurde).

Kusalananda
quelle