Введение в Bash

Основные команды

Содержание курса

Что такое pwd?

pwd — это аббревиатура от print working directory, что в переводе означает «вывести рабочую директорию». Команда выводит полный абсолютный путь к текущему каталогу, в котором вы находитесь в момент выполнения команды.

Основной синтаксис

pwd [опции]
  • Без опций:
    При простом вызове pwd вы увидите абсолютный путь текущей директории.

  • Опции:

    • -L (logical) — выводит логический путь, то есть путь, как он задан в переменной окружения PWD (с учетом символических ссылок). Это значение по умолчанию.
    • -P (physical) — выводит физический путь, то есть без символических ссылок (резолвит их в реальные пути).

Примеры использования

  1. Базовый пример:

    pwd

    Если вы находитесь в домашнем каталоге пользователя, вывод может быть таким:

    /home/username
  2. С использованием опции -P:

    pwd -P

    Эта команда разрешит все символические ссылки и покажет фактическое расположение каталога.

  3. С использованием опции -L:

    pwd -L

    Это практически эквивалентно простому вызову pwd, выводя путь согласно логической структуре (с сохранением символических ссылок).

Зачем нужна команда pwd?

  • Навигация:
    При работе в командной строке часто бывает полезно быстро проверить, в каком каталоге вы находитесь, особенно после выполнения команды cd или работы с символическими ссылками.

  • Отладка скриптов:
    При написании Bash-скриптов команда pwd помогает убедиться, что скрипт выполняется в ожидаемом каталоге, что важно при работе с относительными путями.

  • Динамическое построение путей:
    Вывод pwd можно использовать для создания динамических путей, например:

    tar -czf backup_$(pwd | tr '/' '_').tar.gz .

    Здесь результат работы pwd включается в имя архива.

Особенности

  • Встроенная команда и внешняя утилита:
    В большинстве оболочек (например, bash) pwd реализована как встроенная команда. Однако существует и внешняя утилита /bin/pwd (часть GNU coreutils), которая может вести себя немного иначе в зависимости от опций.

  • Логическое vs. физическое представление:
    Если вы работаете с символическими ссылками, важно понимать разницу между логическим (-L) и физическим (-P) представлением. Например, если каталог /home/user/docs является символической ссылкой на /mnt/storage/documents, то:

    • pwd -L покажет: /home/user/docs
    • pwd -P покажет: /mnt/storage/documents

Практическое применение

  • Навигация:
    Перед выполнением операций с файлами полезно проверить, в каком каталоге вы находитесь:

    cd /some/path
    echo "Мы сейчас в: $(pwd)"
  • Скрипты:
    В автоматизированных задачах можно сохранить путь текущей директории в переменную для дальнейшего использования:

    CURRENT_DIR=$(pwd) 
    echo "Работаем из каталога: $CURRENT_DIR"

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.