Что делает команда pwd в Linux

20.03.2021, 18:13

Это весьма простая утилита, благодаря которой можно выводить в терминал путь к текущей папке. С запуском каждая программа получает текущую папку, в которой будут происходить все операции с файлами этой программы, если не указан другой путь. Относительные пути также будут отсчитываться от этой папки. Так с запуском терминала текущей папкой становится домашний каталог пользователя. Если же программа запускается из определенной папки, то по умолчанию ее текущей папкой будет именно тот каталог, из которого осуществлен ее запуск.


Что дает команда pwd в Linux

Команда имеет достаточно простой синтаксис:

$ pwd опции

С целью настройки вывода утилиты пользователь может использовать следующие опции:

  • -L, --logical - брать директорию из переменной окружения, даже если она содержит символические ссылки;
  • -P - отбрасывать все символические ссылки;
  • --help - отобразить справку по утилите;
  • --version - отобразить версию утилиты.

Теперь рассмотрим примеры работы с этой командой в операционной системе Linux. Для посмотра текущей папки Linux достаточно выполнить pwd без параметров:

$ pwd 

команда pwd

Команда имеет опцию -P, за счет которой удается отбросить все символические ссылки. Это удобно, когда по пути к текущей папке есть символические ссылки. Команд просто укажет полный путь без учета символических ссылок. Выглядит это так:

$ pwd -P

команда pwd в LinuxЧасто в командных интерпретаторах pwd идет в качестве встроенной команды. Это значит, что интерпретатору не потребуется вызывать стороннюю утилиты, поэтому код выполняется очень быстро. 

Чтобы узнать текущую папку необязательно обращаться к скрипту, достаточно обратится к переменной окружения PWD:

$echo $PWD

команда pwd

Для записи результата выполнения команды pwd linux в переменную выполните:

$CWD=$(pwd)

$echo $CWD

команда pwd

Команда pwd в Linux используется в редких исключениях, впрочем, если потребуется поменять текущую папку вы сможете воспользоваться ею. Как видно из примера, сделать это не так уж сложно.