Текущий каталог

Каждая выполняемая программа "работает" в строго определенном каталоге файловой системы. Такой каталог называется текущим каталогом. Можно представлять, что программа во время работы "находится" именно в этом каталоге, это ее "рабочее место". В зависимости от текущего каталога поведение программы может меняться: зачастую программа будет по умолчанию работать с файлами, расположенными именно в текущем каталоге - до них она "дотянется" в первую очередь. Текущий каталог есть у любой программы, в том числе и у командной оболочки (shell) пользователя. Поскольку пользователь взаимодействует с системой через командную оболочку, можно говорить о том, что пользователь "находится" в том каталоге, который в данный момент является текущим каталогом его команднойоболочки.

Все команды, выполняемые пользователем при помощи shell, наследуют текущий каталог shell, т. е. "работают" в том же каталоге. По этой причине пользователю важно знать текущий каталог shell. Для этого служит утилита pwd:

Команда pwd (print working directory) возвращает полный путь текущего каталога командной оболочки - естественно, именно той командной оболочки, при помощи которой была выполнена команда pwd.

Почти все утилиты по умолчанию читают и создают файлы в текущем каталоге. Например, утилита cat (concatenation – конкатенация) - выводит на экран содержимое файла "text":

[student@localhost student]$ cat text

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: