Какая у вас файловая система (ФС)? Если вы не знаете, то щелкните правой кнопкой на значке диска, выберите пункт Свойства, и ищите слова «Файловая система:». Что такое файловая система? Файловая система - это... м-м... Способ хранения файлов на диске? Ну что-то типа того. Можно спросить специалистов, но суть не в этом.

Если вы рядом со словами «Файловая система:» нашли магическую аббревиатуру NTFS, то этот материал для вас. NTFS, в отличие от FAT, умеет делать пару интересных штуковин. Говорят, что она также более надежная и безопасная, - охотно верю, но ничего об этом не знаю.

А мы рассмотрим то, что может быть полезным для простого сермяжного пользователя.

Ссылки

Что мы имеем в случае старенькой ФС FAT в плане ссылок на файл, находящийся где-то в другом месте? Да ничего. Ярлыки недаром называются ярлыками, так как ссылками не являются. Это файлы, читаемые проводником, который и видит в них ссылки, не более того.

В NTFS ссылки есть. Аж два вида. Первый вариант - для файлов. Вы можете создавать так называемые жесткие связи (hardlink). Фактически это значит, что у одного файла будет несколько имен (и путей - связь может быть в любой папке). По любому из этих имен можно читать, изменять, копировать один и тот же файл. Файл удаляется только тогда, когда не осталось ни одной ссылки на него. Забудьте про «истинное» расположение файла, его нет. Все ссылки на файл в равной мере истинны.

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

Второй вид ссылок - это junction (точка монтирования? - не знаю как перевести). Работает только для папок, в лице этой ссылки вы получаете точное зеркало выбранной папки, с которым можно полноценно работать, но здесь исходная папка и ссылка на нее - разные вещи. Ссылку можно безболезненно изничтожить, а удалив исходную папку, вы ее действительно удалите.

Когда вы открываете или сохраняете файл, какую папку предлагают вам диалоги «Окрыть» и «Сохранить как»? «Мои документы» либо текущий рабочий каталог. Все, что угодно, кроме нужного, даже если нужно всегда одно и то же. Моя идея состоит в том, чтобы напихать в «Мои документы» junction'ов на все мои рабочие папки (их не очень-то много). В этом случае они оказываются под рукой, независимо от того, использует ли приложение стандартные диалоги системы или тщится доказать свою иллюзорную уникальность.

К сожалению, вся эта радость работает только в пределах одного тома NTFS. Собрать кучу сетевых папок в одно место не выйдет.

Теперь техника ссылания (ссылательства, ссылкования?). Графического интерфейса для такого баловства в системе нет. Можно, конечно, воспользоваться командой fsutil: hardlink, но больно уж это неудобно. Рекомендую Link Shell Extension. Это расширение оболочки, которое встраивает дополнительные пункты в контекстное меню проводника, и позволяет создавать ссылки простым перетаскиванием или копированием файлов.

О потоках позже. Быть продолженным.

1 комментарий на «Сахар NTFS»

  1. [...] пмейте в виду, что образ диска займет 6 Гб (у вас ведь NTFS, не правда ли?), и эмулятор – это святое – очень жаден до [...]

Оставить комментарий