macOS rm-Befehl, Option „-W“ – Wiederherstellen

macOS rm-Befehl, Option „-W“ – Wiederherstellen

Ich habe mir die Manpage für den rmBefehl auf meinem MacBook angesehen und mir ist Folgendes aufgefallen:

-W Versuch, die genannten Dateien wiederherzustellen. Derzeit kann diese Option nur verwendet werden, um Dateien wiederherzustellen, die von Whiteouts verdeckt sind.

Was bedeutet das? Was ist ein „Whiteout“?

Antwort1

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), insbesondere Union-Dateisystemen, platziert wird, um anzuzeigen, dass eine Datei, die an einem der Basisspeicherorte vorhanden ist, innerhalb des künstlichen Dateisystems gelöscht wurde, obwohl sie an anderer Stelle noch vorhanden ist. Beim Auflisten des Union-Dateisystems wird die weiß markierte Datei nicht angezeigt.

Es liegt in der BSD-Tradition, von der macOS abgeleitet ist, dass es hierfür einen speziellen Dateityp gibt:macOS verwendet st_modeBits 0160000, um sie zu markieren. Verwendenls -F, diese Dateien werden mit einem %Zeichen gekennzeichnet, Undls -Wwird zeigen, dass es sie gibt(Andernfalls werden sie in der Regel aus den Auflistungen weggelassen.) Viele Union-Systeme erstellen auch normale Dateien mit einem speziellen Namen, um Whiteouts auf Systemen darzustellen, die diese Dateien nicht unterstützen.

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

Antwort2

Ein „Whiteout“ ist eine Funktion einiger Union-Dateisysteme.

Wenn Sie eine Dateihierarchie haben, die von einer Union-Mount-Operation überlagert ist, und eine Datei in beiden Ebenen der resultierenden sichtbaren Dateihierarchie vorhanden ist, kann ein „Whiteout“ verwendet werden, um die Datei aus der obersten Ebene zu entfernen, während sie in der unteren Ebene erhalten bleibt (z. B. mit Tipp-Ex).

Das rmDienstprogramm kann den Whiteout entfernen und die Datei wieder sichtbar machen (da sie nie aus dem unteren Dateisystem gelöscht wurde).

verwandte Informationen