
Eu estava olhando a página de manual do rm
comando no meu MacBook e percebi o seguinte:
-W Tenta recuperar os arquivos nomeados. Atualmente, esta opção só pode ser usada para recuperar arquivos cobertos por whiteouts.
O que isto significa? O que é um "branco"?
Responder1
Um whiteout é um arquivo marcador especial colocado por alguns sistemas de arquivos de ordem superior "transparentes" (aqueles que usam um ou mais locais reais como base para sua apresentação), particularmente sistemas de arquivos de união, para indicar que um arquivo que existe em um dos os locais base foram excluídos do sistema de arquivos artificial, embora ainda exista em outro lugar. Listar o sistema de arquivos union não mostrará o arquivo esmaecido.
Ter um tipo especial de arquivo representando isso faz parte da tradição BSD da qual o macOS deriva:macOS usa st_mode
bits 0160000 para marcá-los. Usandols -F
, esses arquivos serão marcados com um %
sinal, els -W
vai mostrar que eles existem(caso contrário, geralmente são omitidos das listagens). Muitos sistemas sindicais também criam arquivos normais com um nome especial para representar falhas em sistemas que não suportam esses arquivos.
Não tenho certeza se o macOS os expõe de alguma forma, mas outros sistemas de sua herança BSD o fazem e é possível que drivers externos do sistema de arquivos possam usá-los.
Responder2
Um "whiteout" é um recurso de algum sistema de arquivos union.
Se você tiver uma hierarquia de arquivos sobreposta por uma montagem de união e existir um arquivo em ambas as camadas da hierarquia de arquivos visível resultante, um "whiteout" poderá ser usado para remover o arquivo da camada superior, preservando-o na camada inferior (como usar Tipp-ex).
O rm
utilitário é capaz de remover o whiteout e fazer o arquivo aparecer novamente (já que ele nunca foi excluído do sistema de arquivos inferior).