Perl для системного администрирования


Различия файловых систем - часть 2


В Windows NT используется расширенная версия файловой системы FAT из DOS. Перед тем как рассматривать расширенную версию, очень важно разобраться в недостатках исходной. В обычной файловой системе (FAT реального режима) имена файлов должны соответствовать формату 8.3. Это означает, что имена файлов или каталогов могут содержать не более восьми символов, за которыми должна следовать точка, а затем суффикс длиной не более трех символов. В отличие от Unix, где точка в имени файла не имеет специального назначения, в FAT можно использовать только одну точку в качестве разделителя между именем файла и его расширением (суффиксом).

Позднее файловая система FAT была расширена до VFAT, или «FAT защищенного режима». Эта версия поддерживается в Windows NT и Windows 2000. VFAT скрывает от пользователей все ограничения, накладываемые на имена. Более длинные имена файлов без разделителей поддерживаются благодаря хитрому трюку. В VFAT используется цепь из нескольких стандартных слотов для имен файлов/каталогов, чтобы прозрачно встроить поддержку расширенных имен файлов в структуру обычной файловой системы FAT. В целях совместимости к каждому файлу и каталогу по-прежнему можно обратиться, используя псевдонимы в формате 8.3. Например, к каталогу с именем Downloaded Program Files можно обратиться, используя имя DOWNLO-1.

Между VFAT и файловыми системами Unix существуют четыре основные различия:

  1. Файловые системы FAT не чувствительны к регистру. В Unix попытка открыть файл, используя неверный регистр символов (например MYFAVORITEFILE

    вместо myfavoritefile), окончится неудачей. В FAT или VFAT это можно сделать без труда.

  2. Второе различие - символы, выбранные для разделения компонент пути. В FAT в качестве разделителя вместо прямого слэша используется обратный слэш. При программировании в Perl это следует учитывать. В Perl обратный слэш является специальным симво лом. Пути с одинарными разделителями, заключенные в одинарные кавычки (т. е. $path= ' \dir\dir\fiienane '), не вызывают затруднений. Однако необходимость поставить несколько обратных слэшей рядом (например \\server\dir\file) может оказаться потенциально опасной. В таких случаях будьте бдительны и не забывайте удваивать идущие подряд обратные слэши. Некоторые функции и модули могут принимать пути с прямыми слэшами, но при программировании на это лучше не полагаться. Лучше перестраховаться и написать \\\\winnt\\teirip\\. . ., чем выяснить, что у вас ничего не получилось из-за того, что преобразование не было выполнено.



  3. Начало  Назад  Вперед



    Книжный магазин