Из этой статьи вы узнаете, как определить текущую рабочую директорию (current working directory) с помощью команды pwd.
Что такое текущая рабочая директория
Текущая рабочая директория — директория, в которой пользователь работает в данный момент. При взаимодействии с командной строкой вы всегда находитесь внутри директории.
По умолчанию, когда вы запускаете операционную систему Linux, текущим рабочим каталогом является домашняя директория. Изменить рабочую директорию можно с помощью команды cd.
Например, чтобы изменить текущую рабочую директорию на /tmp, используйте такую команду:
cd /tmp
Путь к текущей рабочей директории может отображаться в оболочке командной строки.
user@host:/tmp#
Команда pwd
Команда pwd выводит текущую рабочую директорию. Это одна из базовых и самых популярных команд в Linux. При вызове pwd выводится полный путь к текущей рабочей директории.
Команда pwd встроена в большинство современных командных оболочек, в том числе в Bash. Её поведение отличается от выполнения /bin/pwd. С помощью команды type можно получить все места, где есть pwd:
type -a pwd
Получаем вывод:
pwd is a shell builtin
pwd is /bin/pwd
Как показывает вывод, встроенная команда pwd имеет более высокий приоритет по сравнению с /bin/pwd. Поэтому она используется всякий раз, когда вы вводите в командую строку pwd. Если вы хотите использовать файл /bin/pwd, нужно указать в командной строке полный путь до него.
Как найти текущую рабочую директорию
Чтобы понять, в какой директории вы работаете в данный момент, введите в терминале pwd. Вывод может выглядеть так (название директории может отличаться):
/home/linuxize
Всё, что делает команда pwd — выводит значение переменной окружения PWD. Такой же вывод получится, если ввести в терминале:
echo $PWD
Команда pwd принимает только два аргумента:
- -L (--logical) — не разрешать симлинки.
- -P (--physical) — отображать физическую директорию без симлинков.
По умолчанию pwd ведёт себя так, как будто применена опция -L.
Чтобы понять, как работает аргумент -P, создадим директорию и симлинк, указывающий на эту директорию.
mkdir /tmp/directory
ln -s /tmp/directory /tmp/symlink
Когда вы зайдёте в директорию /tmp/symlink и введёте команду pwd, вывод будет таким:
/tmp/symlink
То есть текущей рабочей директорией становится /tmp/symlink. Если ввести команду pwd -P, вывод будет таким:
/tmp/directory
Симлинк (англ. Symlink, symbolic link) — символическая ссылка. Этим термином обозначают файл, в котором содержится абсолютный или относительный путь к другому файлу или директории.
То есть получаем директорию, на которую указывает симлинк.
Заключение
Текущая рабочая директория — директория, из которой вы вызываете команды в терминале. Чтобы отобразить текущую рабочую директорию, нужно использовать команду pwd. Если у вас остались вопросы, добро пожаловать в комментарии.
Адаптированный перевод статьи Pwd Command in Linux (Current Working Directory) by Linuxize.
- Освойте азы современных языков программирования
- Изучите работу с Git и командной строкой
- Выберите себе профессию или улучшите навыки