Cуперкомпьютеры: администрирование - страница 44

Шрифт
Интервал


В именах файлов и каталогов можно использовать любые символы, кроме '/' и '>\0'. Одним из самых распространённых средств работы для UNIX является оболочка – shell. В shell некоторые символы имеют специальное значение (которое можно отменить) – это облегчает работу с файлами. Ниже приведён список спецсимволов shell:


Таблица 7: спецсимволы shell


UNIX не запрещает использовать эти символы в именах файлов, но необходимо экранировать их специальное назначение символом '\' или заключать их в одинарные кавычки >'…'.

Соглашения о расширениях

Расширение файла – часть имени после последней точки; например, файл '>text.cc' имеет расширение '>.cc'. Для большинства программ расширение не имеет принципиального значения, но его наличие облегчает понимание назначения файла. Ниже – наиболее часто встречающиеся расширения:


Таблица 8: распространённые расширения файлов


Важно понимать, что расширение файла не имеет принципиального значения для ОС и большинства программ. Поменяв расширение файла на '>.exe' или '>.sh', вы не сделаете его исполняемым. А вот скрипт с именем '>do_it_now' можно сделать исполняемым, выполнив '>chmod a+x do_it_now'. Расширения всего лишь упрощают восприятие файлов, давая понять, что это.

Имена, начинающиеся с точки (.), часто присваиваются служебным файлам и каталогам. Эти файлы и каталоги обычно игнорируются программами и файловыми менеджерами по умолчанию. Например, команда >ls не показывает их, если не указать ключ >'-a'.

Многие команды допускают в качестве аргумента использование списков имён файлов. Эти списки удобно формировать с помощью шаблонов shell. Рассмотрим их ниже.

Шаблоны

Стандартная оболочка (shell) в UNIX – очень мощный инструмент и кроме запуска команд имеет массу возможностей, упрощающих работу в консоли. Самое простое средство – шаблоны имён файлов. Например, написав команду '>ls *.c', мы получим список всех файлов с расширением '.c' в текущем каталоге.

Важно понимать, что '>*.c' – не один аргумент, вместо него сам shell подставит нужный список. Если в каталоге только два файла – >1.c и >2.с, то будет выполнена команда '>ls 1.c 2.c'. Если ни одного файла с подходящим под шаблон именем нет, то будет подставлен сам шаблон (т. е. будет выполнена команда '>ls *.c').


Таблица 9: шаблоны в shell


Все шаблоны, кроме '>{}', применяются к реальному списку файлов и выбирают из него только те, которые попадают под шаблон. С помощью скобок '