
rm
私はMacBook でコマンドのマニュアルページを見ていて、次のことに気付きました。
-W 指定されたファイルの削除を取り消そうとします。現在、このオプションはホワイトアウトで覆われたファイルを回復するためにのみ使用できます。
これはどういう意味ですか? 「ホワイトアウト」とは何ですか?
答え1
ホワイトアウトは、一部の「シースルー」高位ファイルシステム (表示のベースとして 1 つ以上の実際の場所を使用するファイルシステム)、特にユニオン ファイルシステムによって配置される特別なマーカー ファイルであり、ベース場所の 1 つに存在するファイルが、他の場所にはまだ存在しているにもかかわらず、人工ファイルシステム内では削除されたことを示します。ユニオン ファイルシステムをリストしても、ホワイトアウトされたファイルは表示されません。
これらを表す特別な種類のファイルを持つことは、macOS が由来する BSD の伝統です。macOSはst_mode
0160000ビットを使用してマークします使用ls -F
%
それらのファイルには記号が付きます、 そしてls -W
それらが存在することを示す(それ以外の場合は、通常はリストから省略されます)。多くのユニオン システムでは、それらのファイルをサポートしていないシステムでホワイトアウトを表すために、特別な名前を持つ通常のファイルも作成します。
macOS 自体がこれらを何らかの形で公開しているかどうかはわかりませんが、BSD を継承する他のシステムでは公開されており、外部ファイルシステム ドライバーがこれらを使用できる可能性があります。
答え2
「ホワイトアウト」は、一部のユニオン ファイルシステムの機能です。
ユニオン マウントによってオーバーレイされるファイル階層があり、結果として表示されるファイル階層の両方のレイヤーにファイルが存在する場合は、「ホワイトアウト」を使用して、ファイルを最上位レイヤーから削除し、下位レイヤーに保持することができます (Tipp-ex を使用する場合など)。
このrm
ユーティリティは、ホワイトアウトを削除してファイルを再度表示することができます (下位のファイル システムからファイルが削除されていないため)。