Ограничения на имена файлов в Windows. Организация файловой системы

Файловые системы ext2 и ext3 допускают наличие в именах файлов практически любых символов, кроме разделителя директорий (/). Однако я не советую использовать имена, содержащие русские буквы, знаки пунктуации (кроме точки), пробелы, псевдографику, экзотические знаки вроде символа перехода на новую строку. Не стоит также начинать имена файлов с дефиса (-). Тут дело в том, что многие программы, работающие с файлами, принимают в командной строке ключи (опции), начинающиеся с дефиса. Например, вы хотите пролистать каталог по имени -lR командой ls -lR . Но -lR будет воспринято программой ls не как имя каталога, а как ключи -l (выдать подробный листинг) и -R (рекурсивно), и в результате вы получите листинг текущего каталога (так как каталог не указан, программа ls по умолчанию работает с текущим). Во всех остальных случаях дефис в именах файлов вполне допустим и часто используется. Советуем ограничиться следующим набором символов - латинские буквы (большие и маленькие), цифры, знак подчёркивания, дефис (но не в начале), точка.

Термин «расширение» сохранился со времён, когда операционная система Microsoft DOS была самой популярной для персональных компьютеров типа IBM PC. Файловая система DOS позволяла в именах файлов не более 11 знаков; первые не более 8 из них считались основным именем (base name), а не более 3 последних - расширением (extension ) имени. Для отделения основной части имени от расширения использовалась точка (кроме специальных имён - . и..). Сама точка не считалась частью имени. Имена WORK и WORK. означали одно и то же. Вот пример имени файла наиболее длинного имени: AUTOEXEC.BAT . Многие программы для DOS и Windows придают расширениям чересчур большое значение - например, Microsoft Word будет упорно пытаться открыть файл с расширением.DOC как документ в его родном формате, даже если в файле содержится простой текст. В файловых системах Linux точка - такая же часть имени, что и любой другой символ. Теперь уже WORK и WORK. станут ссылаться на разные файлы. Если угодно, можно по-прежнему называть часть имени файла, следующую за точкой, расширением, хотя точек в имени может быть и несколько. Например, файловому архиву в формате tar , сжатому компрессором lzma , часто дают суффикс.tar.lzma . Большинство программ для Linux не связывают расширение имени файла с его содержимым, либо связывают, но позволяют явно указать тип содержимого файла с помощью опций. Тот же Perl будет запускать свои программы по имени, независимо от того, какое расширение использовано - .pl , .plx или.cgi , и есть ли оно вообще.

Некоторые программы вроде текстовых редакторов, работающие с файлами, и «на месте» изменяющие их содержимое, способны оставлять резервные копии. Имена таких копий обычно получаются из исходных имён добавлением знака ~ в конце, например, linux.html~ .

Здравствуйте, читатели сайта IT-уроки! Сегодня вас ждёт урок с маленьким, но важным секретом. А относится этот секрет к правильным именам файлов.

Почему-то начинающим пользователям никто не говорит, как лучше называть файлы . Но незнание простого правила может стоить немало нервов и времени.

Этот урок будет очередным шагом в повышении безопасности и надежности хранения данных.

Как правильно называть файлы?

Всегда сохраняйте новую версию файла с новым именем.

Но чтобы не наводить беспорядок, новое имя должно быть похоже на старое (на основе старого). Отсюда дополнение к рекомендации:

К имени новой версии файла добавляйте номер.

Иногда важна не только версия, но и нужно знать дату, когда вы внесли изменения. В этом случае:

К имени файла можно добавить дату в формате ГОД-МЕСЯЦ-ДЕНЬ.

Почему именно в таком виде? Всё просто, в проводнике файлы будут сортироваться в правильном порядке (по дате и версии).

На рисунке ниже названия файлов одного из IT-уроков:

Да, у вас будет целый набор файлов с похожими именами, и это именно то, что нам нужно. Сейчас объясню на примере:

Пример третий (хорошо)

Вы набираете текст в документе (отчет/доклад/диплом/резюме) и периодически сохраняете его под новым именем : «Отчет 01» , через полчаса «Отчет 02» , на следующий день «Отчет 03» и так далее.

Что делать, если на следующий день вы изменили часть текста и сохранили документ как «Отчет 04» , а потом решили восстановить старый вариант (как в первом примере с Пушкиным)? Просто откройте «Отчет 03» и скопируйте нужный текст в новую версию.

Правильно, «Отчет 05» ! Быстро учитесь 🙂

Пример четвертый (отлично)

Есть документы, для которых немалую роль играет дата их создания, например, резюме. В этом случае вы можете создать файл «Моё резюме 20140108» . После следующего изменения вы сохраните его как «Моё резюме 20140201» .

Возможно, вам понадобится создать несколько версий документа в один день, поэтому лучше добавлять и дату, и номер версии: «Моё резюме 20140201-02» .

Кажется, хватит примеров.

Заключение

Сегодня мы с вами разобрались, как лучше называть файлы. Было много примеров и описаний, поэтому подведу итог в виде вот такой формулы с правильными именами:

P.S. Следующий урок будет самым важным в этой серии, не пропустите! Подписаться на новости сайта можно по этой ссылке или с помощью специальной формы ниже.

Копирование запрещено , но можно делиться ссылками.

Имена файлов.

Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. До недавнего времени эти границы были весьма узкими. Так в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу действительно мнемоническое название, по которому даже через достаточно большой промежуток времени можно будет вспомнить, что содержит этот файл. Поэтому современные файловые системы, как правило, поддерживают длинные символьные имена файлов. Например, Windows NT в своей новой файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Длинные имена поддерживаются не только новыми файловыми системами, но и новыми версиями хорошо известных файловых систем. Например, в ОС Windows 95 используется файловая система VFAT, представляющая собой существенно измененный вариант FAT. Среди многих других усовершенствований одним из главных достоинств VFAT является поддержка длинных имен. Кроме проблемы генерации эквивалентных коротких имен, при реализации нового варианта FAT важной задачей была задача хранения длинных имен при условии, что принципиально метод хранения и структура данных на диске не должны были измениться.

Обычно разные файлы могут иметь одинаковые символьные имена. В этом случае файл однозначно идентифицируется так называемым составным именем, представляющем собой последовательность символьных имен каталогов. В некоторых системах одному и тому же файлу не может быть дано несколько разных имен, а в других такое ограничение отсутствует. В последнем случае операционная система присваивает файлу дополнительно уникальное имя, так, чтобы можно было установить взаимно-однозначное соответствие между файлом и его уникальным именем. Уникальное имя представляет собой числовой идентификатор и используется программами операционной системы. Примером такого уникального имени файла является номер индексного дескриптора в системе UNIX.

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

Имеются два крайних варианта. Во многих системах управления файлами требуется, чтобы каждый архив файлов (полное дерево справочников) целиком располагался на одном дисковом пакете (или логическом диске, разделе физического дискового пакета, представляемом с помощью средств операционной системы как отдельный диск). В этом случае полное имя файла начинается с имени дискового устройства, на котором установлен соответствующий диск. Такой способ именования используется в файловых системах фирмы DEC, очень близко к этому находятся и файловые системы персональных компьютеров. Можно назвать эту организацию поддержанием изолированных файловых систем.

Другой крайний вариант был реализован в файловых системах операционной системы Multics. Эта система заслуживает отдельного большого разговора, в ней был реализован целый ряд оригинальных идей, но мы остановимся только на особенностях организации архива файлов. В файловой системе Miltics пользователи представляли всю совокупность каталогов и файлов как единое дерево. Полное имя файла начиналось с имени корневого каталога, и пользователь не обязан был заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по его имени, запрашивала оператора об установке необходимых дисков. Такую файловую систему можно назвать полностью централизованной.

Конечно, во многом централизованные файловые системы удобнее изолированных: система управления файлами принимает на себя больше рутинной работы. Но в таких системах возникают существенные проблемы, если кому-то требуется перенести поддерево файловой системы на другую вычислительную установку.

Процессы в ОС UNIX.

Кроме ОС, ориентированных на определенный тип аппарат­ной платформы, существуют мобильные ОС, легко переносимые на разные типы компьютеров (UNIX). В таких ОС аппаратно-зависимые места локализованы и при переносе системы перепи­сываются. Аппаратно-независимая часть реализуется на языке программирования высокого уровня, как правило, на языке С, и перекомпилируется при переходе на другую платформу.

Внастоящий момент около 90% компьютеров используют ОС Windows. Более широкий класс операционных систем ориентирован для использования на серверах. К этому классу ОС относятся семействоUNIX , разработки фирмы Microsoft (MS DOS и Windows), сетевые продуктыNovell и корпорацииIBM .

UNIX - многопользовательская, многозадачная операционная система, кото-рая включает достаточно мощные средства защиты программ и файлов различных пользователей. ОС UNIX является машинонезависимой, что обеспечивает высо-кую мобильность и легкую переноси­мость прикладных программ на компьютеры различной архитек­туры. Важной особенностью ОС семейства UNIX являются ее модульность и обширный набор сервисных программ, которые позволяют создать благоприятную операционную обстановку для пользователей-программистов (то есть система особенно эффектив­на для специалистов - прикладных программистов). Независимо от версии общими для UNIX чертами являются многопользовательский режим со средствами защиты данных от несанкциониро-ванного доступа; реализация многозадачной обра­ботки в режиме разделения времени ; переносимость системы путем написания основной части на языке С.



Недостатком системы UNIX является большая ресурсоемкость, которая для неболь­ших однопользовательских систем на базе персональных компь­ютеров чаще всего является избыточной.

В целом ОС семейства UNIX ориентированы, прежде всего, на большие локальные (корпоративные ) и глобальные сети , объеди­няющие работу тысяч пользователей. Большое распространение UNIX и ее версия LINUX получили в сети Интернет, где важней­шее значение имеет машинонезависимость операционной системы.

Компромиссное решение применено в файловых системах ОС UNIX. На базовом уровне в этих файловых системах поддерживаются изолированные архивы файлов. Один из этих архивов объявляется корневой файловой системой. После запуска системы можно "смонтировать" корневую файловую систему и ряд изолированных файловых систем в одну общую файловую систему. Технически это производится с помощью создания в корневой файловой системе специальных пустых каталогов. Специальный системный вызов mount ОС UNIX позволяет подключить к одному из этих пустых каталогов корневой каталог указанного архива файлов. После монтирования общей файловой системы именование файлов производится так же, как если бы она с самого начала была централизованной. Если учесть, что обычно монтирование файловой системы производится при раскрутке системы, то пользователи ОС UNIX обычно и не задумываются об исходном происхождении общей файловой системы.

Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и т. д.). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании. Расширение файла - часть имени файла, отделённая самой правой точкой в имени.

При записи имени файла разрешается использовать только буквы английского алфавита и цифры. Начинаться имя должно с буквы. Пробелы и знаки препинания не допускаются, за исключением восклицательного знака (!), тильды (~) и символа подчеркивания (_).

После введения в действие операционной системы Windows 95 требования к именам файлов стали существенно мягче. Они действуют и во всех последующих версия операционных систем Windows.

1. Разрешается использовать до 255 символов.

2. Разрешается использовать символы национальных алфавитов, в частности русского.

3. Разрешается использовать пробелы и другие ранее запрещенные символы, за исключением следующих девяти: /\:*?"<>|.

4. В имени файла можно использовать несколько точек. Расширением имени считаются все символы, стоящие за последней точкой.

Роль расширения имени файла чисто информационная, а не командная. Если файлу с рисунком присвоить расширение имени ТХТ, то содержимое файла от этого не превратится в текст. Его можно просмотреть в программе, предназначенной для работы с текстами, но ничего вразумительного такой просмотр не даст.

Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется установленной файловой системой.

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

Для дисков с небольшим количеством файлов (до нескольких десятков) удобно применять одноуровневую файловую систему, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов. Для отыскания файла на диске достаточно указать лишь имя файла. Такая одноуровневая схема использовалась в первых версиях MS-DOS. Сегодня её можно встретить, например, в некоторых цифровых фотоаппаратах: все сделанные фотографии складываются в один каталог.

Если на диске хранятся сотни и тысячи файлов, то для удобства поиска файлы организуются в многоуровневую иерархическую файловую систему, которая имеет «древовидную» структуру (имеет вид перевернутого дерева).

В таком случаи файлы на дисках объединяются в каталоги. Начальный, корневой, каталог содержит вложенные каталоги 1-го уровня, в свою очередь, в каждом из них бывают вложенные каталоги 2-го уровня и т. д. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы. В Windows каталоги называются папкам

Атрибуты файла устанавливаются для каждого файла и указывают системе, какие операции можно производить с файлами. Существует четыре атрибута:

Только чтение (R);

Архивный (A);

Скрытый (H);

Системный (S).

Атрибут файла «Только чтение»

Данный атрибут указывает, что файл нельзя изменять. Все попытки изменить файл с атрибутом «только чтение», удалить его или переименовать завершатся неудачно.

Атрибут файла «Скрытый»

Файл с таким атрибутом не отображается в папке. Атрибут можно применять также и к целым папкам. Надо помнить, что в системе предусмотрена возможность отображения скрытых файлов, для этого достаточно в меню Проводника Сервис – Свойства папки – вкладка Вид – Показывать скрытые файлы и папки.

Атрибут файла «Архивный»

Такой атрибут имеют практически все файлы, его включение/отключение практически не имеет никакого смысла. Использовался атрибут программами резервного копирования для определения изменений в файле.

Атрибут файла «Системный»

Этот атрибут устанавливается для файлов, необходимых операционной системе для стабильной работы. Фактически он делает файл скрытым и только для чтения. Самостоятельно выставить системный атрибут для файла невозможно.

СПЕЦИФИКАЦИЯ ФАЙЛА

Чтобы опеpационная система могла обнаpужить файл, ей нужно сообщить

его имя. Кpоме этого, необходимо указать диск, где находится файл. Для

обозначения диска используется шифp устpойства (дисковода), на котоpом

он установлен. Шифp устpойства пpедставляет собой букву алфавита, за

котоpой следует двоеточие. Пеpвому дисководу в системе пpисваивается

шифp "A:", втоpому - "B:". Пеpвый дисковод для жесткого диска обычно

помечается шифpом "C:". Дисководы pазличаются по шифpу устpойства и

называются: дисковод A, дисковод В и т.д.

Шифp устpойства, записанный в комбинации с именем файла, пpедставляет

собой спецификацию файла. Спецификация вводится в фоpмате: ("шифp

устpойства""пpостое имя.pасшиpение"). Напpимеp, спецификация файла с

пpостым именем "instruct" и pасшиpением "txt", находящегося на диске A,

выглядит следующим обpазом: "A:instruct.txt".

Типы файловых систем

По способу идентификации данных различают:

Тривиальные ФС, определяющие хранение файлов в единственной «куче», корневом каталоге носителя. Эти системы практически вымерли, и замещены на иерархические. Из применяющихся можно назвать TR-DOS на компьютере Sinclair ZX-Spectrum.

Иерархические ФС, обеспечивающие хранение файлов в древовидной структуре каталогов. Являются самым распространёным видом ФС. В настольных системах начиная с 1990-х применяются практически только они.

Реляционные, ассоциативные, (?) прочие ФС, обеспечивающие другие методы идентификации данных. Применяются крайне редко по причине узкой области применения.

Файловые системы различаются по устойчивости к сбоям:

Неустойчивые к сбоям как правило представляю собой тривиальные структуры, полная согласованность которых обеспечивается во время работы не всегда. При сбое системы в моменты несогласованности возможна потеря данных, или даже разрушение всей ФС целиком. Восстановление часто требует длительных и нетривиальных действий.

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



В продолжение темы:
Android

Веб-сервисы в 1СВ данной статье будет рассмотрены вопросы интеграции 1С с уже существующими веб-сервисами и использование самой 1С как веб-сервиса. При этом под веб-сервисами...