Параметр '-W' команды macOS rm - восстановить

22

Я просматривал справочную страницу для rmкоманды на моем MacBook и заметил следующее:

-W Попытка восстановить названные файлы. В настоящее время этот параметр можно использовать только для восстановления файлов, покрытых вайтами.

Что это значит? Что такое "белое"?

Темное сердце
источник

Ответы:

20

Whiteout - это специальный файл маркера, размещаемый некоторыми «прозрачными» файловыми системами более высокого порядка (теми, которые используют одно или несколько реальных местоположений в качестве основы для их представления), особенно объединяющими файловыми системами, чтобы указать, что файл, который существует в одной из базовые местоположения были удалены внутри искусственной файловой системы, хотя она все еще существует в другом месте. Перечисление файловой системы объединения не покажет вычеркнутый файл.

Наличие специального вида файла, представляющего их, является традицией BSD, из которой вытекает macOSst_mode : macOS использует биты 0160000 для их маркировки . При использовании ls -Fэти файлы будут помечены %знаком и ls -Wпокажут, что они существуют (в противном случае они обычно исключаются из списков). Многие объединяющие системы также создают обычные файлы со специальным именем, которые представляют помехи в системах, которые не поддерживают эти файлы.

Я не уверен, что macOS предоставляет их самим каким-либо образом, но другие системы из своего наследия BSD делают это, и вполне возможно, что внешние драйверы файловой системы могут их использовать.

Майкл Гомер
источник
12

Whiteout - это особенность некоторой объединенной файловой системы.

Если у вас есть файловая иерархия, которая перекрывается объединением, и файл существует в обоих слоях результирующей видимой файловой иерархии, «whiteout» может быть использован для удаления файла с верхнего уровня при сохранении его на нижнем уровне. (например, используя Tipp-ex).

rmУтилита способна удалить Whiteout и сделать файл снова появляется (так как он никогда не был удален из нижней файловой системы).

Кусалананда
источник