
Доступ к файлам и каталогам
Рис.3-1 иллюстрирует часть дерева в ОС Solaris. Показано местоположение файлов и каталогов пользователя.
Пути к файлам и каталогам
Путь уникально идентифицирует каждый файл или каталог указанием местоположения в дереве каталогов. Путь можно ассоциировать с дорожной картой, которая показывает, как добраться из одного места в другое.
Знак косой черты (/) в путях является разделителем между именами объектов. Имя объекта может быть как именем каталога, так и именем файла. Знак косой черты в начале пути всегда обозначает корневой (/) каталог (Рис. 3-2);
Замечание - В зависимости от параметров установки системы ваш домашний каталог может находиться в каталоге /home, так и в /export/home.
Типы пути
Существуют два типа пути: абсолютный и относительный.
Абсолютный путь
Абсолютный путь указывает на файл или каталог относительно всего дерева ОС Solaris. Абсолютный путь всегда:
Абсолютный путь к каталогу user1 это:
/export/home/user1
Абсолютный путь к каталогу dir1 это:
/export/home/user1/dir1
Относительный путь
Относительный путь описывает местоположение каталога по отношению к текущему.
Относительный путь никогда не начинается с символа косой черты (/). Также используется знак косой черты (/) как разделитель между объектами пути (например, имя каталога или файла).
Если вы находитесь в каком-либо каталоге и хотите переместиться вниз по дереву каталогов, вам не нужно вводить абсолютный путь от корня. Введите путь, начинающийся с имени следующего нижестоящего каталога.
На рис. 3-1 приведена визуальная интерпретация следующих примеров:
Текущий каталог, это:
/export/home
Из /export/homeотносительный путь доступа к каталогуuser1 это:
user1
Из /export/homeотносительный путь доступа к каталогуdir1 это:
user1/dir1
Из /export/homeотносительный путь доступа к каталогуcoffeesэто:
user1/dir1/coffees
Соглашение по именованию файлов и каталогов
При создании файлов и каталогов вы должны использовать следующие соглашения:
Имена каталогов и файлов могут быть в длину до 255 символов. Символы могут быть как буквами и цифрами, так и спецсимволами, такими как знак подчеркивания (_), точка (.) и дефис (-).
Специальные символы, такие как звездочка (*), амперсанд (&), конвейер (|), кавычки (“”) и знак доллара ($), не следует использовать. Эти символы имеют специальное значение для командного интерпретатора.
Пробелы также не следует использовать в именах каталогов и файлов.
Имена файлов и каталогов, как правило, не содержат расширений, но, если это требуется, расширения можно использовать.
Смена каталогов
В данный момент времени вы находитесь в текущем рабочем каталоге в дереве каталогов. Когда пользователь изначально входит в систему, текущий каталог устанавливается на его домашний каталог.
Вы можете изменить текущий рабочий каталог в любое время, используя команду cd.
Формат команды
cd имя_каталога
Перемещение по дереву каталогов
Следующие примеры показывают, как изменять текущий каталог внутри дерева каталогов:
используя абсолютный путь для доступа к ним:
$ cd /export/home/user1/dir1/coffees
используя относительный путь
$ cduser1/dir1/coffees
Вывод текущего каталога
Команда pwd(PrintWorkingDirektory) определяет и показывает каталог, в котором вы в данный момент работаете. Командаpewпоказывает абсолютный путь к текущему каталогу.
Формат команды
pwd
Определение текущего каталога
Далее показаны примеры использования команды pwd:
$pwd
/export/home/user1
Смена каталогов с использованием сокращений пути
Сокращения пути используются как быстрый метод перемещения по дереву каталогов или ссылки на определенный каталог в командной строке (табл. 3-1).
Табл. 3-1 Сокращения пути
Символ |
Значение |
. |
Текущий рабочий каталог |
.. |
Вышестоящий каталог по отношению к текущему |
Следующие примеры показывают, как можно использовать команду cdс сокращениями пути для перемещения по дереву каталоговSolaris:
$ pwd
/export/home/user1/dir1
$ cd ..
$ pwd
/export/home/user1
$ cd ../../..
$pwd
/
$
Вывод содержимого каталога
Для вывода содержимого каталога используйте команду ls. Эта команда выводит список файлов и каталогов внутри указанного каталога.
Используя команду lsбез параметров, можно вывести содержимое текущего каталога.
Формат команды
ls[ -параметр ] путь_доступа …
Вывод скрытых файлов
Файлы, имена которых начинаются с точки (.), называются скрытыми файлами. Скрытые файлы часто используются для настройки вашей рабочей среды.
Используйте команду ls–aдля вывода списка всех файлов в каталоге, включая скрытые (.) файлы.
Вывод типа файлов
Используйте команду ls–Fдля вывода типа файлов. В следующей таблице показана интерпретация вывода командыls–F.
Табл. 3-2 Символы, обозначающие типы файлов
Тип файла |
Символ |
Каталог |
/ |
Исполняемый |
* |
Текстовый файл/ASCII |
(пусто) |
Символическая связь |
@ |
Замечание – символическая связь – это специальный тип файла, который содержит путь к файлу или каталогу, на который он указывает.
Расширенный вывод
Для вывода полной информации о содержимом каталога используйте команду ls–l.
Команда ls–lпредоставляет информацию о файлах в формате, представленном на рис. 3-3.
Вывод информации об указанном каталоге
Используйте команду ls–ldдля вывода детальной информации только об указанном каталоге, а не о его содержимом.
Используйте команду ls–Rдля вывода содержимого каталога и всех его подкаталогов. Это также называется рекурсивным выводом.
Метасимволы командного интерпретатора
Метасимволы командного интерпретатора – это специальные символы, которые имеют специальное значение для интерпретатора. Далее представлено несколько метасимволов:
~ - + * ? [ ]
Использование символа тильда (~)
Командный интерпретатор заменяет символ тильда (~) на домашний каталог текущего пользователя. Это можно использовать как сокращение абсолютного пути к домашнему каталогу, например:
$ cd /etc
$ pwd
/etc
$ cd ~/dir1
/export/home/user1/dir1
$
Замечание – Символ тильда (~) доступен во всех командных интерпретаторах, за исключением Bourne.
Использованием ~имя_пользователя
Присоединение к имени пользователя символа тильда (~) используется для обозначения домашнего каталога указанного пользователя, например:
$ cd ~user2
$ pwd
/export/home/user2
$
Использование ~+ и ~-
Строка с символом тильда и знаком плюс (~+) обозначает текущий рабочий каталог. Строка с символом тильда и тире (~-) обозначает предыдущий рабочий каталог.
Например:
$ pwd
/export/home/user1
$ cd dir2
$ ls ~+
beans notes recipes
$ cd ~-
$ pwd
/export/home/user1/dir2
$
Использование тире
Для быстрого переключения между двумя указанными каталогами используйте в командном интерпретаторе Kornсимвол тире (-). Интерпретатор командKornавтоматически показывает путь к текущему каталогу с этим параметром.
$ pwd
/export/home/user1
$ cd /tmp
$ pwd
/tmp
$ cd –
/export/home/user1
$ cd –
/tmp
$
Использование символа звездочки
Символ звездочка (*) представляет нуль и более символов, исключая первую точку (.) в скрытом файле. Символ звездочки часто используется как символ универсального шаблона (wildcard), например:
$ ls f*
file.1 file.3 file2 file4 fruit2
file.2 file1 file3 fruit
Использование знака вопроса
Знак вопроса (?) соответствует любому единичному символу, исключая первую точку (.) для скрытых файлов, например:
$ ls dir?
dir1:
coffees fruit tress
dir2:
beans notes recipes
dir3:
planets
dir4:
flowers
$
Следующий пример показывает сообщение об ошибке, которое будет показано, если не будет файлов, соответствующих искомому шаблону.
$ ls z?
z?: No such file or directory
$
Использование квадратных скобок
Используйте квадратные скобки ([ ]) для сравнения одного символа из заданного множетсва или диапазона символов.
При поиске множества символов символы внутри скобок необязательно должны стоять в каком-либо порядке. Например, [abc] имеет тот же смысл, что и [cab].
Замечание – Не используйте эти метасимволы при создании файлов и каталогов. Эти символы имеют специальное значение для командного интерпретатора.