GOLOS
RU
EN
UA
vp-cosmos
2 года назад

NTFS - описание, возможности, уловки

Рубрика "IT"

Начну с интриги

В ролике видим флешку, на которой сохранён один файл, содержащий следующие строки:

Александр Пушкин
***
О сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель...

Он занимает большую часть места. Ожидаемо не удаётся создать его же собственную копию на этом носителе. Попытка скопировать на другой накопитель через проводник также не увенчалась успехом. А вот Total Commander выполняет копирование, но неспешно, как будто файл действительно "весит" больше 30 Гб. При этом внизу виден его размер - 168, а в конце ролика после внесения изменений в текст - 184 байта. Ответ будет пояснён в этой статье, как и другие нюансы файловой системы, которая на данный момент встречается чаще всего на рабочих станциях - NTFS.


Разработка NTFS была обусловлена необходимостью расширения самого понятия "файл", которое становилось чем-то большим, чем просто переименованная область информации. "Старый файл", включающий в себя собственно информацию, имя и несколько атрибутов больше не удовлетворял требованиям, предъявляемым к файлам в операционных системах с разграничением доступа, квотированием, версионированием и многими другими новыми тогда веяниями. Файл должен был стать метаконтейнером, способным вместить в себя буквально всё. По сути заменял собой папку, а каждый атрибут мог повторяться многократно. В частности у "нового файла" могло быть несколько имён.

NTFS - это изделие Microsoft, которое было реализовано на базе их совместного с IBM проекта - HPFS для операционной системы OS/2. После "ссоры" Microsoft стал реализовывать свои идеи самостоятельно, и NTFS - одна из них. Помимо поддержки хранения метаданных, о которой было сказано выше, эта файловая система расширяла возможности своей предшественницы FAT практически по всем параметрам, включая и максимальный размер файла, и их максимальное количество на носителе, и разрешённые в именах символы, и многое другое.

Также NTFS умеет собственное сжатие. Впервые без применения сторонних утилит файл мог занимать на носителе меньше места, чем его реальный размер. Обратимся всё к той же флешке, куда теперь скопирована папка документов, а перед этим включено сжатие:


Свойства: документы (Собственный скриншот)

Больше 10% места сэкономлено благодаря встроенным возможностям файловой системы. Можно и больше, но на практике NTFS не рекомендуется для использования на сменных носителях, т.к. одно из свойств файла здесь - это время последнего доступа, стоит вам просто посмотреть файл или даже даже его свойства, часть информации будет перезаписана. Можно было бы этим пренебречь, но также EFI не работает с NTFS, а для медийных целей хватает и exFAT. Но это я отвлёкся. Хватит говорить о прописных истинах, пора уделить пару слов тому, что многие упускают из вида, хотя эти возможности не менее задокументированы.

Жёсткие и символические ссылки

Жёсткую ссылку в NTFS можно рассматривать, как второе (третье/четвёртое...) имя файла. Это часто удобно для организации быстрого доступа к файлам из разных папок, ведь при передаче такого пути он передаётся именно в оригинале, а не меняется, как в случае с ярлыком. Забавно, вплоть до Windows Vista операционные системы Microsoft не умели нормально работать с символическими ссылками. В случае удаления одной из них Проводник удалил бы данные, а все остальные ссылки стали бы неверными. Теперь Проводник показывает ссылки и точки монтирования NTFS. Одним из самых наглядных примеров может быть папка Documents and Settings, которая лишь ссылается на Users.

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

В Total Commander, Far и, возможно, других двухпанельных файловаых менеджекрах для работы с этими возхможностями использовались сторонние плагины и утилиты, но при этом и сами программы из коробки корректно обрабатывали ссылки, и можно было не бояться потерять данные, удаляя лишь одну из ссылок.


Одна из утилит для TC (Собственный скришот)

Секрет стихотворения Пушкина

Как уже наверняка догадался внимательный читатель приведённый в начале текстовый файл содержит помимо основной информации - стихотворения Александра Сергеевича ещё много чего. В качестве иного в файловые потоки было добавлено несколько художественных фильмов. Просто для демонстрации возможности. На практике таким образом можно прятать в файлах дополнительную информацию, которую обычными средствами не так-то просто оттуда извлечь. Это могут быть любые другие файлы с собственными именами. Для работы с файловыми потоками NTFS в Total Commander используются плагины, относящиеся к сетевым. Один из них - NTFS - streams. Благодаря нему вы открываете любой файл, как папку, где поток ::$data - это собственно данные файла, и помимо него могут существовать любые другие потоки.


NTFS - streams (Собственный скриншот)

Источник заглавного фото

автор @fainder
Вычитка ФилФак

1
339.880 GOLOS
На Golos с October 2017
Комментарии (3)
Сортировать по:
Сначала старые