Чем отличаются символы или применяемые в шаблоне имени файла
Шаблоны имени файла
Длина (объем) файла определяется в байтах и изменяется в случае его редактирования.
Обычным.
Имя файла
Организация файловой системы
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы зависит от операционной системы. Наиболее распространенный тип — табличный.
Логическое имя винчестера – С:
Если жесткий диск разбит на несколько логических разделов, то каждый из них именуется буквами английского алфавита: С:, D:, E:, F: и т.д.
Логическое имя дисковода лазерного диска – последняя буква из списка логических имен дисков данного компьютера.
ВАК — копия ранее созданного файла;
$$$ — временный файл, автоматически созданный какой-либо программой самостоятельно.
Кроме имени, файл обладает рядом характеристик:
— дата создания файла;
— время создания и редактирования файла;
Атрибуты файла указывают на характер его использования и возможность доступа к нему:
• Read-Only — файл, использующийся только для чтения; чаще всего он не может быть уничтожен или отредактирован, но допустимо создание копии и операций над ней;
• Archive — архивный, создается при изменении файла и хранится в архиве файловой системы;
• Hidden — скрытый файл;
• System — системный.
Если файлу не присвоен ни один из перечисленных атрибутов, то он называется Дата создания и время создания фиксируются в момент создания и изменения файла по
показаниям системных часов ПК.
* – заменяет произвольное количество любых;
? – заменяет один произвольный символ.
Все файлы на дисках располагаются в каталогах или папках.
Папка (каталог, директория) – специальный файл, содержащий информацию об обычных файлах, сгруппированных в некоторый единый список по тому или иному признаку либо самим пользователем (например, служебные записки, исходящие письма, методические разработки, любимые игровые программы и т.д.), либо разработчиками ПО (набор файлов, составляющих единый программный пакет). Такое объединение файлов выполняется, как правило, с целью облегчения поиска информации на компьютере, а также для удобства групповой (одновременной) обработки обычных файлов и папок. В папке (каталоге, директории) кроме перечня входящих в него файлов содержится также системная информация относительно характеристик (атрибутов) этих файлов.
На каждом носителе информации существует главный или корневой каталог, в котором располагаются все остальные каталоги, называемые подкаталогами и некоторые файлы. Таким образом, создается иерархическая структура. Каталог, с которым в настоящий момент работает пользователь называется текущим. Внутри папки (каталога, директории) могут находиться как обычные файлы, так и вложенные в нее папки-потомки, которые в свою очередь могут содержать папки следующего уровня вложенности. Таким способом реализуется иерархическая система вложенных друг в друга папок и файлов.
Для организации доступа к файлу во многих ОС используется один и тот же метод, состоящий в формировании символьной строки – пути доступа, в которой содержится информация о местоположении файла на ВЗУ (например, С:\Program Files\Microsoft Office\Office\Samples\Products.doc). Количество файлов или папок в корневом и не корневом каталогах – не ограничено! Суммарное количество символов в пути доступа к файлу – не более 260.
Файлы и каталоги являются самыми важными объектами файловой системы. Она необходима для того, чтобы ОС имела возможность работать с данными на жестком диске.
Понятие цилиндра
Во-первых, диск представляется как набор поверхностей. У гибких дисков их всего две (верхняя и нижняя), но жесткие диски — это на самом деле «этажерки», состоящие из нескольких пластин, поэтому количество поверхностей у них больше.
Во-вторых, каждая поверхность диска разделяется на кольцевые дорожки, а каждая дорожка — на секторы. Размеры секторов фиксированы и равны 512 байт.
Чтобы найти на диске тот или иной файл, надо знать, где он расположен, то есть, нужен его адрес. Проще всего было бы записать адрес файла в виде номера поверхности, номера дорожки и номера сектора, но на самом деле это выполняется не совсем так. Дело в том, что у каждой поверхности есть своя головка для чтения/ записи, и эти головки перемещаются не порознь, а одновременно. То есть, если, например, пятая головка подводится к тридцатой дорожке, то и все головки подводятся к своим тридцатым дорожкам. Поэтому вместо понятия дорожки используют понятие цилиндра. Цилиндр— это совокупность всех дорожек, имеющих одинаковые номера, то есть равноудаленных от оси вращения. Поэтому реально местоположение файла на жестком диске определяется номером цилиндра, номером поверхности и номером сектора.
Данные о том, в каком кластере диска начинается тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов (FAT-таблицах). Поскольку нарушение FAT-таблицы приводит к невозможности воспользоваться данными, записанными на диске, к ней предъявляются особые требования надежности, и она существует в двух экземплярах, идентичность которых регулярно контролируется средствами операционной системы.
В настоящее время операционные системы Windows 98, Windows 2000 и Windows Millenium обеспечивают более совершенную файловую систему — FAT32 с 32-разрядными полями в таблице размещения файлов. Это позволяет работать с любыми современными жесткими дисками.
Файлы и каталоги являются самыми важными объектами файловой системы. Она необходима для того, чтобы ОС имела возможность работать с данными на жестком диске.
Существует множество файловых систем, которые используют различные операционные системы. Основными из них являются файловые системы FAT32 и NTFS, с которыми работают операционные системы класса Windows.
Основой FAT32 являются:
В апреле 1987 года Microsoft и IBM начали совместную разработку новой ОС OS/2. Под эту систему специально была разработана файловая система, призванная обеспечить стабильную и быструю работу с диском и облегчить труд администраторов. Но затем между фирмами возникли разногласия, в результате чего свет увидели OS/2 с файловой системой HPFS от IBM и Windows NT с файловой системой NTFS (New Technology File System) от Microsoft.
Основой NTFS является главная таблица файлов (Master File Table, MFT). MFT резервирует под себя примерно 12% раздела. Если места на диске становится мало, MFT сокращается в 2 раза, после появления вновь восстанавливается и т.д. Файлы здесь состоят из двух частей: обязательной записи о них в MFT и опциональных параметров (свойств), называемых потоками.
Шаблоны имен файлов
Bash, а также другие командные оболочки Linux и средства языков программирования позволяют находить в структуре дерева каталогов те файлы, имена которых соответствуют определенному шаблону имени файла. В случае командной оболочки именно она сравнивает с шаблоном имя очередного файла. Если оно соответствует шаблону, то файл будет учтен, если нет – будет пропущен. Шаблон можно сравнить с коробкой, в которую влезет не каждый объект. Не только из-за размеров, также из-за несовпадения формы коробки и предмета.
Зачем нужны шаблоны имен? Часто требуется выполнить однотипные действия над группой файлов. Описывать эти действия по отношению к каждому отдельному файлу было бы трудоемкой задачей. Таким образом, шаблоны позволяют выделить группу файлов, чьи имена удовлетворяют определенным условиям, из общей массы.
Кроме того, шаблоны часто используют для поиска файлов.
Шаблоны имен файлов и каталогов задаются с помощью специальных символов. Чаще используются два: * – звездочка, ? – знак вопроса.
Знаком вопроса (?) в шаблоне обозначают любой один символ. Например, под шаблон otchet. подойдут файлы, имеющие расширение из любых трех букв, но начинающиеся именно так, как задано в шаблоне. Шаблону descrip?ion.pdf будут соответствовать файлы с заданным именем, но вместо знака вопроса может стоять любой символ.
Если надо одновременно найти файлы, начинающиеся на буквы, идущие подряд в алфавите, то задается диапазон. Например, под шаблон [m-pM-P]. png подойдут все файлы с расширением png, имена которых состоят из четырех букв, причем первая буква m или n или o или p без учета регистра.
В Bash шаблоны имен используются с командами, которые в качестве аргументов принимают имена файлов. Например, ls – просмотр каталогов, cp – копирование файлов, find – поиск файлов и др. Однако на самом деле командам передается не шаблон, а уже подошедшие под него файлы. Определением подходящих под шаблон объектов занимается сама командная оболочка Linux, в данном случае Bash.
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
2.8 Шаблоны имен файлов.
2.9 Атрибуты файлов.
Для каждого файла имеется запись в каталоге (так называемый элемент каталога), который содержит атрибуты файла. К атрибутам файла относятся следующие:
Каждый из атрибутов может быть установлен или не установлен.
Þ Установленный для файла атрибут «только для чтения» не позволяет его редактировать. Это предохраняет файл от изменений – чтобы такой файл отредактировать (изменить) необходимо средствами ОС снять данный атрибут. Файлы на стандартных компакт-дисках имеют атрибут «только для чтения», так как они не могут быть изменены (перезаписаны).
Þ Атрибут «скрытый» не позволят отображать файл на экране дисплея в режиме стандартного просмотра (под стандартным просмотром мы понимаем установленную опцию для файлового менеджера «не отображать скрытые и системные файлы»).
Þ Атрибут «системный» присваивается файлам операционной системы и подразумевает особый статус такого рода файлов (файлы такого рода не перемещаются программами оптимизации расположения файлов).
Þ Атрибут файла «архивировать» означает, что для данного файла не создана копия программой резервного копирования. Атрибут «архивировать» устанавливается при создании файла и автоматически сбрасывается при создании резервной копии. Наличие у файла такого атрибута означает лишь одно – для данного файла не создана резервная копия.
2.10 Папки, документы и ярлыки в ОС Windows.
ОС Windows поддерживает развитый пользовательский графический интерфейс. Это означает, что в среде Windows каждому объекту (диску, принтеру, каталогу, файлу и т.д.) в соответствие ставится графический образ, которым оперирует пользователь. Графическим образом каталога является папка. В Windows папки делятся на системные и прикладные. Папка изображается иконкой (пиктограммой), вид некоторых представлен на рис. 1.
Папка имеет имя – подпись, расположенную внизу иконки. Имя папки соответствует имени каталога. Операции с папкой (создание, удаление, переименование, копирование) соответствуют операциям с каталогом. Файл изображается иконкой, вид которой зависит от типа файла, и называется обычно документом. Документ, как и папка, имеет имя, соответствующее имени отображаемого файла.
Ярлык, изображается пиктограммой с именем, у которой в левом нижнем углу имеется изогнутая стрелка. Ярлык по своей сути есть файл связи – файл, в котором записан путь к объекту (файлу, папке, ресурсу ПК (диск, принтер, монитор и т.д.)). Ярлык представляет собой удобное и быстрое средство доступа к объекту. Удаление ярлыка не влечет за собой удаление объекта, на который ярлык указывает.
Чем отличаются символы или применяемые в шаблоне имени файла
Иногда при работе с файлами необходимо или возможно указывать только часть их имени или расширения. Это делается, например, для того, чтобы в параметрах программы не называть полностью имена всех файлов, над которыми производится операция, а выделить их в группу по какому-нибудь признаку (заметим, что некоторые программы работают не с единичными файлами, а с группой). Также бывает необходимо найти файл или файлы, у которых неизвестны полное имя и/или расширения. Для этих целей используют так называемые шаблоны.
C.4.2. Определение.
C.4.3. Пример шаблонов.
Шаблон | Соответствие |
boo?.tmp | book.tmp, boot.tmp, boo1.tmp и др. |
boo[tk].tmp | boot.tmp и book.tmp |
b*t.t?p | boot.tep, bat.tmp, bt.tnp и др. |
[a-c]3.bat | a3.bat, b3.bat и c3.bat |
Необходимо отметить, что шаблон нельзя начинать со знака *, если он не единственный. В этом случае все символы, стоящие после звездочки игнорируются.
Это связано с недоработкой программного обеспечения.
Также в некоторых реализациях MS-DOS игнорируются все буквы и цифры после знака *. Учитывайте это при составлении шаблонов!
Шаблоны можно указывать и в имени, и в расширении. Он также может состоять из одних только специальных символов. Например:
C.4.4. Резюме.
Именование файлов, путей и пространств имен
все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Windows разработчики, работающие с Windowsными api-интерфейсами для файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.
Доступ к данным можно получить с дисков, устройств и сетевых ресурсов с помощью API файлового ввода-вывода. Файлы и каталоги вместе с пространствами имен являются частью концепции пути, которая представляет собой строковое представление места получения данных независимо от диска, устройства или сетевого подключения для конкретной операции.
Некоторые файловые системы, такие как NTFS, поддерживают связанные файлы и каталоги, которые также следуют соглашениям об именовании файлов и правилам, как обычный файл или каталог. Дополнительные сведения см. в разделах жесткие связи, соединения и точки повторного анализа и операции с файлами.
Дополнительные сведения см. в следующих подразделах:
дополнительные сведения о настройке Windows 10 для поддержки длинных путей к файлам см. в разделе ограничение максимальной длины пути.
Имена файлов и каталогов
Ограничения количества символов также могут быть разными и могут различаться в зависимости от используемого формата префикса файловой системы и имени пути. Это усложняется за счет поддержки механизмов обратной совместимости. Например, более старая файловая система MS-DOS FAT поддерживает не более 8 символов для базового имени файла и 3 символа для расширения, а всего 12 символов, включая разделитель точек. Обычно это называется именем файла 8,3. Windows файловые системы FAT и NTFS не ограничиваются 8,3 именами файлов, так как они имеют длинную поддержку имен файлов, но по-прежнему поддерживают версию 8,3 длинных имен файлов.
Соглашения об именах
Следующие фундаментальные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы.
Используйте точку, чтобы отделить базовое имя файла от расширения в имени каталога или файла.
Используйте обратную косую черту ( \ ) для разделения компонентов пути. Обратная косая черта разделяет имя файла от пути к нему и одно имя каталога из другого имени каталога в пути. Нельзя использовать обратную косую черту в имени для фактического файла или каталога, так как это зарезервированный символ, разделяющий имена в компоненты.
Не думайте о чувствительности к регистру. Например, имена OSCAR, OSCAR и OSCAR должны быть одинаковыми, даже если некоторые файловые системы (такие как POSIX-совместимая файловая система) могут считать их разными. Обратите внимание, что NTFS поддерживает семантику POSIX для чувствительности к регистру, но это не поведение по умолчанию. Дополнительные сведения см. в разделе CreateFile.
Обозначения томов (буквы диска) не учитывают регистр. Например, «D: \ » и «d: \ » ссылаются на один и тот же том.
Используйте любой символ в текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128 – 255), за исключением следующих:
Следующие зарезервированные символы:
Символы, целочисленное представление которых находится в диапазоне от 1 до 31, за исключением альтернативных потоков данных, в которых разрешены эти символы. дополнительные сведения о файловых потоках см. в разделе file Потоки.
Любой другой символ, который не разрешен целевой файловой системой.
Используйте точку в качестве компонента каталога в пути для представления текущего каталога, например. \temp.txt «. Дополнительные сведения см. в разделе paths.
Используйте две последовательные точки (..) как компонент каталога в пути, чтобы представить родителя текущего каталога, например. \temp.txt «. Дополнительные сведения см. в разделе paths.
Не используйте следующие зарезервированные имена для имени файла:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также Избегайте этих имен сразу после расширения; Например, не рекомендуется использовать NUL.txt. Дополнительные сведения см. в разделе Пространства имен.
Не завершайте имя файла или каталога с пробелом или точкой. хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс не поддерживаются. Однако можно указать точку в качестве первого символа имени. Например, «. temp».
Короткие и длинные имена
Длинное имя файла считается любым именем файла, которое превышает короткое соглашение об именовании в стиле MS-DOS (также называемое 8,3). при создании длинного имени файла Windows также может создать короткую форму 8,3 имени, именуемую псевдонимом 8,3 или коротким именем, а также сохранить ее на диске. Это 8,3 может быть отключено для повышения производительности в зависимости от конкретной файловой системы.
Windows server 2008, Windows Vista, Windows Server 2003 и Windows XP: 8,3 псевдонимы не могут быть отключены для указанных томов до Windows 7 и Windows Server 2008 R2.
Во многих файловых системах имя файла будет содержать символ тильды (
) в каждом компоненте имени, которое слишком длинное для соответствия правилам именования 8,3.
Не все файловые системы следуют соглашению о подстановке тильды, и системы могут быть настроены на отключение создания псевдонима 8,3, даже если они обычно поддерживаются. Поэтому не следует предполагать, что псевдоним 8,3 уже существует на диске.
Чтобы запросить 8,3 имен файлов, длинных имен файлов или полного пути к файлу из системы, рассмотрите следующие варианты.
в новых файловых системах, таких как NTFS, exFAT, udf и FAT32, Windows сохраняет длинные имена файлов на диске в юникоде, что означает, что исходное имя длинного файла всегда сохраняется. Это справедливо даже в том случае, если длинное имя файла содержит символы национальных алфавитов, независимо от того, какая кодовая страница активна во время операции чтения или записи с диска.
файлы, использующие длинные имена файлов, можно скопировать между разделами файловой системы NTFS и Windows разделами файловой системы FAT без потери сведений об имени файла. Это может быть неверно для старых файлов MS-DOS FAT и некоторых типов файловых систем CDFS (CD-ROM) в зависимости от фактического имени файла. В этом случае короткое имя файла подставляется по возможности.
Если компонент пути является именем файла, то он должен быть последним компонентом.
Каждый компонент пути также будет ограничен максимальной длиной, указанной для конкретной файловой системы. Как правило, эти правила делятся на две категории: Short и Long. Обратите внимание, что имена каталогов хранятся в файловой системе как файлы особого типа, но правила именования для файлов также применяются к именам каталогов. Для суммирования путь — это просто строковое представление иерархии между всеми каталогами, которые существуют для определенного имени файла или каталога.
Полные и относительные пути
для функций API Windows, которые управляют файлами, имена файлов часто могут относиться к текущему каталогу, в то время как некоторым api требуется полный путь. Имя файла задается относительно текущего каталога, если он не начинается с одного из следующих:
Если имя файла начинается только с обозначения диска, но не с обратной косой черты после двоеточия, то оно интерпретируется как относительный путь к текущему каталогу на диске с указанной буквой. Обратите внимание, что текущий каталог может быть или не являться корневым каталогом, в зависимости от того, на что он был установлен во время последней операции «изменение каталога» на этом диске. Ниже приведены примеры этого формата.
Путь также считается относительным, если он содержит «двойные точки»; то есть две точки вместе находятся в одном компоненте пути. Этот Специальный описатель используется для обозначения каталога над текущим каталогом, в противном случае известный как «родительский каталог». Ниже приведены примеры этого формата.
Относительные пути могут сочетать оба типа примеров, например «К. \tmp.txt «. Это полезно, поскольку, несмотря на то, что система отслеживает текущий диск вместе с текущим каталогом этого диска, она также следит за текущими каталогами на разных буквах диска (если в системе несколько), независимо от того, какой из обозначений установлен в качестве текущего диска.
Ограничение максимальной длины пути
Пространства имен
существует две основные категории соглашений о пространствах имен, используемых в Windows api, которые обычно называются пространствами имен NT и пространствами имен Win32. Пространство имен NT было разработано как пространство имен самого низкого уровня, в котором могут существовать другие подсистемы и пространства имен, включая подсистему Win32 и, по расширениям, пространства имен Win32. POSIX — это еще один пример подсистемы в Windows, построенной на основе пространства имен NT. ранние версии Windows также определили несколько предопределенных или зарезервированных имен для определенных специальных устройств, таких как порты связи (последовательные и параллельные) и консоль экрана по умолчанию, как часть того, что теперь называется пространством имен устройств NT, и все еще поддерживаются в текущих версиях Windows для обеспечения обратной совместимости.
Пространства имен файлов Win32
Префиксы и соглашения пространств имен Win32 приведены в этом разделе и в следующем разделе с описанием того, как они используются. обратите внимание, что эти примеры предназначены для использования с функциями API Windows и не всегда работают с приложениями оболочки Windows, такими как Windows Explorer. по этой причине существует более широкий диапазон возможных путей, чем обычно доступно в Windows приложениях оболочки, а Windows приложения, использующие его, можно разрабатывать с помощью этих соглашений по пространству имен.
Так как он отключает автоматическое расширение строки пути, \ \ префикс «? \ » также позволяет использовать «..» и «.» в именах путей, которые могут быть полезны при попытке выполнить операции с файлом, в противном случае зарезервированные описатели относительных путей в составе полного пути.
Обратите внимание, что для префикса «?» можно использовать только API-интерфейсы Юникод, что \ \ \ позволяет превысить максимальный _ путь
Пространства имен устройств Win32
при работе с функциями API Windows следует использовать \ \ префикс «. \ » для доступа только к устройствам, а не файлам.
Пространства имен NT
чтобы сделать эти объекты устройств доступными для приложений Windows, драйверы устройств создают символьную ссылку (символьную ссылку) в пространстве имен Win32 «Global??» для соответствующих объектов устройств. Например, COM0 и COM1 в разделе «Global??» подкаталог — это просто символических ссылок Serial0 и Serial1, «C:» — это символьную ссылку до HarddiskVolume1, «отображается physicaldrive0» — символьную ссылку до DR0 и т. д. без символьную ссылку указанное устройство «Xxx» будет недоступно для любого Windows приложения, использующего соглашения о пространстве имен Win32, как описано выше. Однако для этого устройства можно открыть маркер, используя любые интерфейсы API, поддерживающие абсолютный путь к пространству имен NT формата » \ устройство \ xxx».