Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
файловые системы юникс.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
102.91 Кб
Скачать

Именование файлов и каталогов

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

Например, символ > используется как оператор перенаправления вывода. Если необходимо создать файл с именем х>у, то, по идее, нужно использовать команду touch:

touch x>y

Но при этом получилось бы два файла: один с именем х, другой с именем у.

Для обхода проблемы используйте специальный символ (\) (в оболочках Кот и С), а команду touch применяйте следующим образом:

touch x\>y

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

Ниже следует список символов, которые можно использовать как часть имен файлов UNIX:

  • Символы от А до Z или от а до z

  • Цифры от 0 до 9

  • Подчеркивание (_)

  • Точка (.)

Подчеркивание может разделять слова в имени, облегчая тем самым чтение. Например, вместо названия файла mytestfile его можно назвать my__test_file.

Точку можно задействовать перед расширением имени файла, так как она используется в именах файлов DOS. Например, файл с исходным кодом на языке С содержит программу под названием prog. Тогда файл можно назвать prog.c. Однако в UNIXвы не ограничены одним расширением. Следует иметь в виду, что точка (.),использующаяся как первый символ в имени файла, имеет специальное значение.Точка в качестве первого символа дает файлу статус скрытого. Например, если у вас есть файлы х и .х, в текущем каталоге, то команда ls покажет только файл х. Чтобы увидеть все файлы, используйте ls -a.

Предостережение

UNIX чувствительна к регистру. Например, файл с именем abc отличается от файла с именем АВС. Некоторые из системных файлов, которые начинаются с точки, например, файл .profile, называются скрытыми. Они не отображаются до тех пор, пока не будет задействован специальный флаг в команде ls

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

Таблица 1. Значение некоторых специальных символов.

Символ Значение

$ Указывает начало имени переменной оболочки. Например, $var соответствует переменной

оболочки с именем var.

I Перенаправляет стандартный вывод на ввод следующей команды.

# Начинает комментарий.

& Выполняет процесс в фоновом режиме.

? Соответствует одному символу.

* Соответствует одному или нескольким символам.

$# Количество аргументов, переданных сценарию оболочки.

$* Аргументы, переданные сценарию оболочки.

$? Возвращает код предыдущей выполненной команды.

$$ Идентификационный номер процесса.

> Оператор перенаправления вывода.

< Оператор перенаправления ввода.

\ (обратная кавычка) Подстановка команды.

p Оператор перенаправления вывода (для добавления в конец файла).

[] Перечисляет диапазон символов, [a-z] означает все символы от а до z. [a,z] означает символы

а или z.

. имяфайла Выполняет файл имяфайла.

: Разделитель имен каталогов в строке пути.