Пути
+ Windows:
\usr\ast\mailbox
♦ UNIX:
/usr/ast/mailbox
Если первой буквой имени пути был разделитель, независимо от используемого в качестве разделителя символа, это означало, что путь абсолютный.
Помимо абсолютного применяют и относительный путь.
Относительный путь непосредственно связан с концепцией рабочего, или текущего, каталога. Пользователь может назначить один из каталогов текущим (рабочим) каталогом. В этом случае все имена путей без начального символа разделителя считаются относительными и отсчитываются относительно текущего каталога. Например, если текущим каталогом является /usr/ast, тогда к файлу с абсолютным путем /usr/ast/mailbox можно обратиться просто как к mailbox. Другими словами, если рабочим каталогом является /usr/ast, следующие UNIX-команды выполнят одно и то же:ср /usr/ast/mailbox /usr/ast/mailbox.bak cp mailbox mailbox.bak
Относительная форма задания пути часто оказывается более удобной, хотя она подразумевает то же, что и абсолютная.
Некоторым программам требуется доступ к файлам независимо от того, какой каталог является в данный момент текущим.
В этом случае они всегда должны указывать абсолютные имена. Например, программе проверки правописания может понадобиться для выполнения работы прочитать файл /usr/lib/dictionary. В этом случае она должна использовать абсолютное имя файла, поскольку заранее неизвестно, каким будет рабочий каталог при ее вызове. Абсолютное имя файла будет работать всегда, независимо от того, какой каталог является текущим.Если программе проверки правописания понадобится большое количество файлов из каталога /usr/lib, она может, обратившись к операционной системе, поменять рабочий каталог на /usr/lib, после чего указывать просто имя dictionary в качестве первого аргумента системного вызова open. Явно указав свой рабочий каталог, программа может использовать в дальнейшем относительные имена, поскольку точно знает, где она находится в дереве каталогов.
У каждого процесса есть свой рабочий каталог, поэтому, когда процесс меняет свой рабочий каталог и потом завершает работу, это не влияет на работу других процессов, и в файловой системе не остается никаких следов от подобных изменений. Таким образом, процесс может без опасений менять свой рабочий каталог, когда это ему удобно. С другой стороны, если библиотечная процедура поменяет свой рабочий каталог и не восстановит его при возврате управления, программа, вызвавшая такую процедуру, может оказаться не в состоянии продолжать свою работу, так как ее предположения о текущем каталоге окажутся неверными. По этой причине библиотечные процедуры редко меняют рабочие каталоги, а когда все-таки меняют, обязательно восстанавливают старое имя перед возвратом управления.
Большинство операционных систем, поддерживающих иерархические каталоги, имеют специальные записи в каждом каталоге, означающие текущий (.) и родительский (. .) каталог. Чтобы продемонстрировать, как работает подобная запись, обратимся к дереву каталогов системы UNIX, показанному на рис. 5.5.
Рис. 5.5. Дерево каталогов системы UNIX |
Для некоторого процесса каталог /usr/ast является рабочим. Тогда процесс может использовать две точки (. .), чтобы указать на необходимость переместиться вверх по дереву. Например, он может копировать файл /usr/lib/dictionary в собственный каталог при помощи команды
ср ../lib/dictionary
Две точки являются инструкцией системе подняться вверх (в каталог us г). После этого нужно открыть каталог lib и найти в нем файл dictionary.
Второй вариант обозначения (.) указывает на текущий каталог. Когда команда ср получает имя каталога (включая точку) в качестве последнего аргумента, она копирует в него все файлы. Разумеется, более адекватным способом копирования является команда
ср usr/lib/dictionary .
Тем не менее с тем же успехом вы можете набрать любую из двух следующих команд:
ср /usr/lib/dictionary dictionary ср /usr/lib/dictionary /usr/ast/dictionary
Все три команды делают в точности одно и то же.
5.2.4.
Еще по теме Пути:
- Пути оттока
- Будьте верны своему пути
- Первая глава НА ПУТИ К ЧЕТВЕРТОМУ ИЗМЕРЕНИЮ
- Защита в пути
- По пути самосовершенствования
- По пути самосовершенствования
- Четыре пути к самоуважению
- Часть первая. Первые шаги на пути к успеху
- НА ПУТИ К ЗРЕЛОМУ СОЕДИНЕНИЮ
- ЛОВУШКИ НА ПУТИ ПЕРЕМЕН
- РЕТРО НА ПУТИ К БУДУЩЕМУ
- Тем, кто в Пути
- НАЧАЛО ПУТИ К УСПЕХУ
- Главлит на пути к монополии в цензуре
- 6.2. ВОСЕМЬ ШАГОВ НА ПУТИ К ИНТЕРПРЕТАЦИИ
- 13.1. Возможные пути развития общества
- Глава 2 Идеалы и пути к ним
- Плохая успеваемость, пути решения
- Как мы убрали препятствия с пути