Маски файлов
Важное свойство большинства командных оболочек системы Linux — способность обращаться более, чем к одному файлу по имени с использованием специальных символов — масок (wildcards).
Маска * обозначает любой символ или строку символов в имени файла. Когда в имени файла используется символ *, командная оболочка заменяет его на всевозможные варианты, которые встречаются в именах файлов рассматриваемого каталога.
Допустим, в текущем каталоге имеются следующие файлы:
$ ls example1 example2 index1.html index2.html
Для обращения ко всем файлам, в имени которых содержится символ 1, следует использовать команду:
$ ls *1* example1 index1.html
Из приведенного примера, следует, что символ * соответствует любому символу (группе любых символов). Маска, состоящая из единственного символа *, соответствует всем именам файлов текущего каталога:
$ ls * example1 example2 index1.html index2.html
Примеры:
$ ls *html index1.html index2.html $ ls index* index1.html index2.html $ ls *x* example1 example2 index1.html index2.html
Механизмом безопасности предусмотрено, чтобы символ * не распознавал имена файлов, начинающихся с одной точки (.). Эти файлы рассматриваются как скрытые (hidden).
Для того, чтобы в список попали имена файлов, начинающихся с символа ., используется команда:
$ ls -a . .. example1 example2 index1.html index2.html
Ещё одним специальным символом в масках является символ ?, соответствующий одному символу:
$ ls example? example1 example2 $ ls index?.html index1.html index2.html
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии