Операционная система Linux



              

Текущий каталог - часть 2


The node reached by the cross reference in Info . . . [methody@localhost methody]$ cat /home/methody/text File: info.info, Node: Help-Cross, Up: Cross-refs

The node reached by the cross reference in Info . . .

Пример 4.2. Полный и относительный путь к файлу (html, txt)

В действительности, командная оболочка, прежде чем передавать параметр "text" (имя файла) утилите cat, подставляет значение текущего каталога - получается полный путь к этому файлу в файловой системе: "/home/methody/text". Содержимое данного файла утилита cat выведет на экран.1) Набирая только имя файла без пути к текущему каталогу, Мефодий воспользовался относительным путем к этому файлу.

Относительный путь(relative path) - путь к объекту файловой системы, не начинающийся в корневом каталоге. Для каждого процесса Linux определен текущий каталог, с которого система начинает относительный путь при выполнении файловых операций.

Относительный путь строится точно так же, как и полный - перечислением через "/" всех названий каталогов, встретившихся при движении к искомому каталогу или файлу. Между полным и относительным путем есть только одно существенное различие: относительный путь начинается от текущего каталога, в то время как полный путь всегда начинается от корневого каталога. Относительный путь любого файла или каталога в файловой системе может иметь любую конфигурацию: чтобы добраться до искомого файла, можно двигаться как по направлению к корневому каталогу, так и от него (см. раздел "Перемещение по дереву каталогов"). Linux различает полный и oтносительный пути очень просто: если имя объекта начинается на "/" - это полный путь, в любом другом случае - относительный.

Отделить путь к файлу от его имени можно с помощью команд dirname и basename соответственно:

[methody@localhost methody]$ basename /home/methody/text text [methody@localhost methody]$ basename text text [methody@localhost methody]$ dirname /home/methody/text /home/methody [methody@localhost methody]$ dirname ./text . [methody@localhost methody]$ dirname text .

Пример 4.3. Использование dirname и basename (html, txt)

Мефодий заметил, что для "text" и "./text" dirname выдает одинаковый результат: ".", что понятно: как было сказано выше, эти формы пути эквивалентны, а при автоматической обработке результатов dirname гораздо лучше получить ".", чем пустую строку.




Содержание  Назад  Вперед