Какое количество символов заменяет символ при задании шаблона файла
Иногда при работе с файлами необходимо или возможно указывать только часть их имени или расширения. Это делается, например, для того, чтобы в параметрах программы не называть полностью имена всех файлов, над которыми производится операция, а выделить их в группу по какому-нибудь признаку (заметим, что некоторые программы работают не с единичными файлами, а с группой). Также бывает необходимо найти файл или файлы, у которых неизвестны полное имя и/или расширения. Для этих целей используют так называемые шаблоны.
C.4.2. Определение.
Шаблоны представляют собой обычное имя файла (и его расширение) , в котором вместо некоторых букв появляются знаки ?, *, и (в UNIX) []. Знак вопроса указывает на то, что на его месте непременно должен стоять какой-либо допустимый символ имени файла (буква, цифра и т.д.) и причем только дин . Знак * указывает на то, что на его месте может стоять любое количество символов , допустимых в имени файла, а также вообще ничего не стоять . В квадратные скобки заключаются те знаки, один из которых обязательно должен присутствовать в имени файла на этом месте.
C.4.3. Пример шаблонов.
Необходимо отметить, что шаблон нельзя начинать со знака *, если он не единственный. В этом случае все символы, стоящие после звездочки игнорируются.
Это связано с недоработкой программного обеспечения.
Также в некоторых реализациях MS-DOS игнорируются все буквы и цифры после знака *. Учитывайте это при составлении шаблонов!
Шаблоны можно указывать и в имени, и в расширении. Он также может состоять из одних только специальных символов. Например:
*.* - шаблон для всех файлов с любым расширением.
. - все файлы с именем из трех символов без расширения.
*.? -- файлы с расширением из одной буквы.
name.* -- все файлы с именем name и любым расширением.
C.4.4. Резюме.
В данном разделе Вы познакомились с шаблонами файлов. Шаблоны широко используются вместо полных имен файлов в параметрах программ, а также используются при просмотре, поиске и сортировке файлов. Правильно задавать шаблон - это своего рода искусство, с помощью которого можно быстро выбрать файлы с нужными параметрами. Поэтому не торопитесь и не переходите к следующему разделу, до конца не усвоив положения этого раздела. В качестве закрепления материала просмотрите следующую таблицу.
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы зависит от операционной системы. Наиболее распространенный тип — табличный.
Логическое имя винчестера – С:
Если жесткий диск разбит на несколько логических разделов, то каждый из них именуется буквами английского алфавита: С:, D:, E:, F: и т.д.
Логическое имя дисковода лазерного диска – последняя буква из списка логических имен дисков данного компьютера.
Файл — это именованная последовательность байтов произвольной длины .
ВАК — копия ранее созданного файла;
$$$ — временный файл, автоматически созданный какой-либо программой самостоятельно.
Кроме имени, файл обладает рядом характеристик:
- дата создания файла;
- время создания и редактирования файла;
- длина (объем) файла.
Атрибуты файла указывают на характер его использования и возможность доступа к нему:
• Read-Only — файл, использующийся только для чтения; чаще всего он не может быть уничтожен или отредактирован, но допустимо создание копии и операций над ней;
• Archive — архивный, создается при изменении файла и хранится в архиве файловой системы;
• Hidden — скрытый файл;
• System — системный.
Если файлу не присвоен ни один из перечисленных атрибутов, то он называется Дата создания и время создания фиксируются в момент создания и изменения файла по
показаниям системных часов ПК.
Для поиска файлов полезно использовать шаблоны имен. Шаблон имени состоит также как и имя файла из 2-х частей, разделенных точкой. При задании шаблона используются символы-джокеры (метасимволы) * и ?. Причем:
* – заменяет произвольное количество любых;
? – заменяет один произвольный символ.
*.doc – шаблон для файлов с расширением .doc;
t*.xls – шаблон для файлов, имя которых начинается на букву t, а расширение .xls;
Все файлы на дисках располагаются в каталогах или папках.
Папка (каталог, директория) – специальный файл, содержащий информацию об обычных файлах, сгруппированных в некоторый единый список по тому или иному признаку либо самим пользователем (например, служебные записки, исходящие письма, методические разработки, любимые игровые программы и т.д.), либо разработчиками ПО (набор файлов, составляющих единый программный пакет). Такое объединение файлов выполняется, как правило, с целью облегчения поиска информации на компьютере, а также для удобства групповой (одновременной) обработки обычных файлов и папок. В папке (каталоге, директории) кроме перечня входящих в него файлов содержится также системная информация относительно характеристик (атрибутов) этих файлов.
На каждом носителе информации существует главный или корневой каталог, в котором располагаются все остальные каталоги, называемые подкаталогами и некоторые файлы. Таким образом, создается иерархическая структура. Каталог, с которым в настоящий момент работает пользователь называется текущим. Внутри папки (каталога, директории) могут находиться как обычные файлы, так и вложенные в нее папки-потомки, которые в свою очередь могут содержать папки следующего уровня вложенности. Таким способом реализуется иерархическая система вложенных друг в друга папок и файлов.
Для организации доступа к файлу во многих ОС используется один и тот же метод, состоящий в формировании символьной строки – пути доступа, в которой содержится информация о местоположении файла на ВЗУ (например, С:\Program Files\Microsoft Office\Office\Samples\Products.doc). Количество файлов или папок в корневом и не корневом каталогах – не ограничено! Суммарное количество символов в пути доступа к файлу – не более 260.
Файлы и каталоги являются самыми важными объектами файловой системы. Она необходима для того, чтобы ОС имела возможность работать с данными на жестком диске.
Понятие цилиндра
Во-первых, диск представляется как набор поверхностей. У гибких дисков их всего две (верхняя и нижняя), но жесткие диски — это на самом деле «этажерки», состоящие из нескольких пластин, поэтому количество поверхностей у них больше.
Во-вторых, каждая поверхность диска разделяется на кольцевые дорожки, а каждая дорожка — на секторы. Размеры секторов фиксированы и равны 512 байт.
Чтобы найти на диске тот или иной файл, надо знать, где он расположен, то есть, нужен его адрес. Проще всего было бы записать адрес файла в виде номера поверхности, номера дорожки и номера сектора, но на самом деле это выполняется не совсем так. Дело в том, что у каждой поверхности есть своя головка для чтения/ записи, и эти головки перемещаются не порознь, а одновременно. То есть, если, например, пятая головка подводится к тридцатой дорожке, то и все головки подводятся к своим тридцатым дорожкам. Поэтому вместо понятия дорожки используют понятие цилиндра. Цилиндр— это совокупность всех дорожек, имеющих одинаковые номера, то есть равноудаленных от оси вращения. Поэтому реально местоположение файла на жестком диске определяется номером цилиндра, номером поверхности и номером сектора.
Понятие кластера . Сектор — это наименьшая единица хранения данных, но для адресации она используется далеко не во всех файловых системах. Для этого она слишком мала. Такие операционные системы, как MS-DOS, Windows, OS/2, используют для адресации более крупную единицу хранения, называемую кластером. Кластер — это группа соседних секторов. Размер кластера зависит от размера жесткого диска. Чем больше диск, тем большим назначается размер кластера. Типовые значения: 8,16,32 или 64 сектора.
Данные о том, в каком кластере диска начинается тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов (FAT-таблицах). Поскольку нарушение FAT-таблицы приводит к невозможности воспользоваться данными, записанными на диске, к ней предъявляются особые требования надежности, и она существует в двух экземплярах, идентичность которых регулярно контролируется средствами операционной системы.
В настоящее время операционные системы Windows 98, Windows 2000 и Windows Millenium обеспечивают более совершенную файловую систему — FAT32 с 32-разрядными полями в таблице размещения файлов. Это позволяет работать с любыми современными жесткими дисками.
Файлы и каталоги являются самыми важными объектами файловой системы. Она необходима для того, чтобы ОС имела возможность работать с данными на жестком диске.
Файловая система - это методы и структуры данных, которые используются ОС для хранения файлов на диске или его разделе.
Существует множество файловых систем, которые используют различные операционные системы. Основными из них являются файловые системы FAT32 и NTFS, с которыми работают операционные системы класса Windows.
FAT32 (File Allocation Table) разработана компанией Microsoft в конце 1996 года и первой ОС, которая ее поддерживала, была Windows 95 OSR2. В отличие от используемой ранее FAT16 в данной файловой системе использовалась 32-битовая таблица размещения файлов, что позволило уменьшить размер кластера (кластер - минимальная единица данных, которая используется при работе с винчестером посредством ОС) и добиться больших по объему разделов, а также содержать в них большое количество файлов(свыше 65 тыс. файлов).
Основой FAT32 являются:
- загрузочная запись(Boot Record) - область хранения информации, необходимой для загрузки ОС(размер раздела, количество свободного места, размер кластера и т.д.)
- таблица размещения файлов(FAT - File Allocation Table) - область диска, в которой содержится информация о расположении файлов на разделах диска.
- корневой каталог(Root Directory)- главный каталог на логическом диске, в котором содержится информация о его файлах и папках.
В апреле 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 и средства языков программирования позволяют находить в структуре дерева каталогов те файлы, имена которых соответствуют определенному шаблону имени файла. В случае командной оболочки именно она сравнивает с шаблоном имя очередного файла. Если оно соответствует шаблону, то файл будет учтен, если нет – будет пропущен. Шаблон можно сравнить с коробкой, в которую влезет не каждый объект. Не только из-за размеров, также из-за несовпадения формы коробки и предмета.
Зачем нужны шаблоны имен? Часто требуется выполнить однотипные действия над группой файлов. Описывать эти действия по отношению к каждому отдельному файлу было бы трудоемкой задачей. Таким образом, шаблоны позволяют выделить группу файлов, чьи имена удовлетворяют определенным условиям, из общей массы.
Кроме того, шаблоны часто используют для поиска файлов.
Шаблоны имен файлов и каталогов задаются с помощью специальных символов. Чаще используются два: * – звездочка, ? – знак вопроса.
Звездочкой (*) в шаблоне обозначают любую группу символов. Их количество роли не играет. Это могут быть пять, десять, один символ или даже ни одного. Так, например, шаблону, состоящему всего из одного символа * , будет соответствовать абсолютно любой файл. Использование шаблона *.html позволит выделить все html-файлы, а шаблон my*.odt – файлы, начинающиеся с "my" и оканчивающиеся на ".odt". Шаблон *2010* определяет все файлы, в именах которых присутствует группа символов 2010.
Знаком вопроса (?) в шаблоне обозначают любой один символ. Например, под шаблон otchet. подойдут файлы, имеющие расширение из любых трех букв, но начинающиеся именно так, как задано в шаблоне. Шаблону descrip?ion.pdf будут соответствовать файлы с заданным именем, но вместо знака вопроса может стоять любой символ.
Кроме символов звезды и вопроса, существуют более сложные правила записи шаблонов. Так использование квадратных скобок [ ] со списком вложенных значений позволяет осуществлять более гибкий поиск файлов. Пусть требуется найти все файлы, имена которых начинаются с буквы m, при этом регистр не учитывается. Шаблон будет выглядеть так: [mM]* .
Если надо одновременно найти файлы, начинающиеся на буквы, идущие подряд в алфавите, то задается диапазон. Например, под шаблон [m-pM-P]. png подойдут все файлы с расширением png, имена которых состоят из четырех букв, причем первая буква m или n или o или p без учета регистра.
Понятно, что в одном шаблоне имени файла можно использовать разные специальные символы. Например, [aA]*. .
В Bash шаблоны имен используются с командами, которые в качестве аргументов принимают имена файлов. Например, ls – просмотр каталогов, cp – копирование файлов, find – поиск файлов и др. Однако на самом деле командам передается не шаблон, а уже подошедшие под него файлы. Определением подходящих под шаблон объектов занимается сама командная оболочка Linux, в данном случае Bash.
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
Linux шаблоны имен файлов — определённые символьные последовательности дающие возможность обращаться к более чем одному файлу по имени с использованием специальных символов — шаблонов. С помощью этих шаблонов (wildcards) можно обращаться ко всем файлам, имена которых содержат символы указанные в шаблоне; важное свойство большинства командных оболочек системы Linux.
Шаблоны имен файлов строятся с помощью специальных символов «*» и «?». Значок «*» используется для замены произвольной строки символов. В Linux
- «*» — соответствует всем файлам, за исключением скрытых;
- «.*» — соответствует всем скрытым файлам (но также текущему каталогу «.» и каталогу уровнем выше «..»: не забывайте об этом!);
- «*.*» — соответствует только тем файлам и каталогам, которые имеют «.» в середине имени, или оканчиваются на точку;
- «p*r» — соответствует и «peter» и «piper»;
- «*c*» — соответствует и «picked» и «peck».
Значок ? заменяет один произвольный символ, поэтому index?.htm будет соответствовать именам index0.htm, index5.htm и indexa.htm.
Кроме «*» и «?» в Linux при задании шаблонов имен можно использовать квадратные скобки [], в которых дается либо список возможных символов, либо интервал, в который должны попадать возможные символы. Например, [abc]* соответствует всем именам файлов, начинающимся с a, b, c; *[I-N1-3] соответствует файлам, имена которых оканчиваются на I, J, K, L, M, N, 1, 2, 3.
Подробнее
Шаблон * обозначает любой символ или строку символов в имени файла. Когда в имени файла используется символ *, командная оболочка заменяет его на всевозможные варианты, которые встречается в именах файлов в рассматриваемом каталоге.
Приведём простой пример. Допустим, у пользователя Ларри в
текущем каталоге имеются файлы frog, joe и
Для того, чтобы обратиться ко всем файлам, в имени которых
содержится символ o, надо использовать команду
Можно видеть, что всякий раз, когда в имени встречается символ
*, он заменяется всеми возможными вариантами, которые
встречаются в именах файлов в текущем каталоге.
Шаблон, состоящий из единственного символа *,
подходит ко всем именам файлов, поскольку этому шаблону подходят
все последовательности символов. Пример:
Приведём ещё несколько примеров:
последовательность имён файлов называется расширением шаблона (wildcard expansion). Расширение шаблона производится командной оболочкой. Очень важно знать, что отдельная команда, такая как ls , никогда не « видит » символ * в списках своих параметров. Именно командная оболочка производит расширение шаблона таким образом, что будут перечислены все удовлетворяющие шаблону имена файлов. Таким образом, команда
расширяется командной оболочкой в команду
Сделаем важное замечание о шаблоне *: он не распознает
имена файлов, которые начинаются с одной точки (.). Эти файлы рассматриваются как скрытые (hidden). Скрытость этих файлов заключается в том, что они не включаются в список, выдаваемый обычными командами ls , и не распознаются шаблонами, содержащими
Приведём пример. Раньше мы говорили, что в каждом каталоге есть
два специальных элемента: элемент . обозначает текущий каталог, а элемент .. обозначает родительский каталог. Однако, при использовании команды ls эти два
элемента в списке не появляются:
Однако, если с командой ls использовать опцию -a, то имена
файлов, начинающихся с символа ., окажутся в списке. Попробуем
Этот список содержит два специальных элемента:
. и .., а также два других « скрытых » файла: .bash_profile и .bashrc. Эти два файла являются файлами начальной конфигурации для командной оболочки bash и читаются
при входе пользователя larry в систему.
Заметим, что когда мы использовали шаблон *, в списке не
появилось ни одного файла, имя которого начиналось с символа
Это предусмотрено механизмом безопасности: если бы шаблон
* подходил бы и к именам файлов, начинающихся символом ., он бы также подходил и к именам каталогов . и ... Это было бы опасно при
использовании некоторых команд.
Ещё одним специальным символом в шаблонах является символ
?. Шаблон ? расширяется до ровно одного символа. Таким образом, команда ls ? выведет список всех файлов, имена которых состоят из одного символа. Команда ls termca? включит в список файл termcap, но не включит файл termcap.backup. Приведём ещё один
Как мы видим, шаблоны позволяют обращаться сразу к нескольким
файлам. Например, выше уже говорилось, что команды cp и mv в действительности могут копировать или переносить больше одного
файла за один раз. Например, команда
копирует все файлы в каталоге /etc, имя которых начинается с
символа s, в каталог /home/larry. В действительности, формат
команды cp является следующим:
где files — список имён файлов, которые надо копировать, а destination — файл или каталог, куда надо копировать. Команда mv имеет аналогичный синтаксис.
При копировании или переносе более чем одного файла аргумент
destination должен быть именем каталога. Только ровно один
Для задания группы файлов используют так называемы шаблоны файлов. Шаблоны имен файлов – это имена файлов, содержащие символы “*” («звездочка») и «?» («знак вопросительный»). Наличие символа «*» в имени файла задает любое количество любых символов в имени файла, начиная с позиции размещения «*». Символ «?» в шаблоне обозначает только один символ в имени файла в той позиции, где расположен «?». Например, шаблон *.doc описывает все файлы с произвольным именем, но одинаковым типом .doc; шаблон a*.doc задает все файлы типа .doc, у которых имя начинается с буквы «а». Шаблон a?.txt задает файлы с типом txt, у которых имя содержит всего два символа, причем, первый символ – буква «а», а второй - произвольный.
2.9 Атрибуты файлов.
Для каждого файла имеется запись в каталоге (так называемый элемент каталога), который содержит атрибуты файла. К атрибутам файла относятся следующие:
· только для чтения (read only);
· скрытый (hidden);
· системный (system);
· архивировать (archive).
Каждый из атрибутов может быть установлен или не установлен.
Þ Установленный для файла атрибут «только для чтения» не позволяет его редактировать. Это предохраняет файл от изменений – чтобы такой файл отредактировать (изменить) необходимо средствами ОС снять данный атрибут. Файлы на стандартных компакт-дисках имеют атрибут «только для чтения», так как они не могут быть изменены (перезаписаны).
Þ Атрибут «скрытый» не позволят отображать файл на экране дисплея в режиме стандартного просмотра (под стандартным просмотром мы понимаем установленную опцию для файлового менеджера «не отображать скрытые и системные файлы»).
Þ Атрибут «системный» присваивается файлам операционной системы и подразумевает особый статус такого рода файлов (файлы такого рода не перемещаются программами оптимизации расположения файлов).
Þ Атрибут файла «архивировать» означает, что для данного файла не создана копия программой резервного копирования. Атрибут «архивировать» устанавливается при создании файла и автоматически сбрасывается при создании резервной копии. Наличие у файла такого атрибута означает лишь одно – для данного файла не создана резервная копия.
2.10 Папки, документы и ярлыки в ОС Windows.
ОС Windows поддерживает развитый пользовательский графический интерфейс. Это означает, что в среде Windows каждому объекту (диску, принтеру, каталогу, файлу и т.д.) в соответствие ставится графический образ, которым оперирует пользователь. Графическим образом каталога является папка. В Windows папки делятся на системные и прикладные. Папка изображается иконкой (пиктограммой), вид некоторых представлен на рис. 1.
Папка имеет имя – подпись, расположенную внизу иконки. Имя папки соответствует имени каталога. Операции с папкой (создание, удаление, переименование, копирование) соответствуют операциям с каталогом. Файл изображается иконкой, вид которой зависит от типа файла, и называется обычно документом. Документ, как и папка, имеет имя, соответствующее имени отображаемого файла.
Ярлык, изображается пиктограммой с именем, у которой в левом нижнем углу имеется изогнутая стрелка. Ярлык по своей сути есть файл связи – файл, в котором записан путь к объекту (файлу, папке, ресурсу ПК (диск, принтер, монитор и т.д.)). Ярлык представляет собой удобное и быстрое средство доступа к объекту. Удаление ярлыка не влечет за собой удаление объекта, на который ярлык указывает.
Читайте также: