Что такое формат файла DS_STORE?
Файл .DS_Store хранит настройки отображения папки, в которой он находится. Это скрытый файл, используемый macOS, аналогичный файлу desktop.ini в Microsoft Windows. У файла нет обычного расширения - его полное имя буквально .DS_Store, а точка в начале делает его невидимым в Finder и в Unix-подобных системах. Внутри .DS_Store использует проприетарный бинарный формат аллокатора «Buddy» от Apple, идентифицируемый по сигнатуре Bud1 со смещением 4.
Метаданные папки, которые могут храниться в файлах .DS_Store, включают:
- Размер и положение значков
- Положение окна относительно экрана
- Выбранный режим просмотра (значки, список, колонки или галерея)
- Цвет фона или изображение, установленное для окна папки
- Информация, используемая другими приложениями (macOS 10.4 и новее), например Spotlight
Название .DS_Store расшифровывается как Desktop Services Store. Файлы создаются и обновляются автоматически программой Finder. Файл .DS_Store можно безопасно удалить - это приведет к сбросу настроек папки к значениям по умолчанию, и Finder автоматически создаст новый файл при следующем обращении к папке. Файл также создается на съемных носителях, таких как USB-накопители. Для удаленных файловых систем, доступных из macOS, файлы .DS_Store создаются по умолчанию, но это поведение можно отключить с помощью команды в Terminal. Файлы .DS_Store также создаются внутри сжатых архивов и будут видны в распакованных папках даже в других операционных системах, хотя там они не выполняют никаких функций. Поскольку они могут непреднамеренно раскрыть структуру каталогов и метаданные, многие разработчики добавляют .DS_Store в свой файл .gitignore.
Безопасность и защита
РИСК: LOWФайл .DS_Store - это инертные метаданные, а не вирус. Он не содержит исполняемого кода, поэтому его открытие или удаление не может повредить ваш компьютер или файлы. Удаление всегда безопасно; macOS просто создаст его заново с настройками вида по умолчанию. Единственная реальная проблема - это конфиденциальность, а не вредоносное ПО: .DS_Store записывает имена элементов, которые были в папке, поэтому копия, оставленная в публичном месте (директория веб-сервера, общий ZIP-архив), может раскрыть имена файлов, которые вы не собирались афишировать. По этой причине удаляйте файлы .DS_Store перед публикацией архивов или развертыванием веб-сайта и добавляйте их в .gitignore.
Детали формата
в двух словахПрограммы, открывающие файлы DS_STORE
Технические подробности
глубокая спецификация| Полное имя файла | `.DS_Store` - точка в начале является частью имени, а не разделителем расширения; у файла нет обычного расширения |
| Внутренний формат | Проприетарный аллокатор Apple «Buddy» / бинарная структура B-дерева; не документирован Apple и известен только благодаря реверс-инжинирингу |
| Магические байты | `00 00 00 01 42 75 64 31` - первые четыре байта: `00 00 00 01`; байты 4-7 образуют строку `Bud1` (сигнатура аллокатора Buddy) |
| MIME-тип | `application/octet-stream` |
| Разработчик | Apple Inc. |
| Порядок байтов | Big-endian |
| Скрыт по умолчанию | Да - точка в начале скрывает файл в Finder и в оболочках Unix/Linux, если явно не включен показ скрытых файлов |
| Создается программой | macOS Finder; создается и обновляется автоматически и незаметно при доступе к папке, без участия пользователя |
| Хранимые метаданные | Размеры и положения значков, геометрия окна, выбранный режим просмотра (значки / список / колонки / галерея), фоновое изображение или цвет папки, метаданные Spotlight (macOS 10.4+) |
| Поведение на сетевых дисках | По умолчанию создается на удаленных томах SMB/AFP; можно подавить командой `defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true` |
| Последствия удаления | Безопасно удалять в любое время; Finder автоматически воссоздает файл при следующем обращении к той же папке |
| Кроссплатформенное поведение | Не функционирует в Windows и Linux; появляется в деревьях папок, извлеченных из архивов, созданных в macOS, но игнорируется этими системами |
| Риски безопасности | Может привести к утечке внутренней структуры каталогов и метаданных путей к файлам, если попадет в репозитории систем контроля версий или внутрь архивов |
| Типичный размер файла | От нескольких сотен байт до нескольких КБ, в зависимости от количества элементов и записей метаданных, хранящихся для папки |
| Статус документации | Официально не документирован Apple; внутренняя структура была восстановлена сторонними разработчиками |
| Выпущен | Mac OS X 10.0, 2001 (Desktop Services / Finder) |
| Спецификация | en.wikipedia.org |
Конвертации DS_STORE
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах DS_STORE.