Меню Рубрики

Linux путь к текущей директории

Определите ваш текущий рабочий каталог в Linux с помощью команды pwd

Главное меню » Операционная система Linux » Определите ваш текущий рабочий каталог в Linux с помощью команды pwd

Что такое текущий рабочий каталог

Текущий рабочий каталог – это каталог, в котором в данный момент работает пользователь. Каждый раз, когда вы взаимодействуете с командной строкой, вы работаете в каталоге.

По умолчанию при входе в систему Linux в качестве текущего рабочего каталога указывается домашний каталог. Чтобы изменить рабочий каталог, используйте команду cd. Например, чтобы изменить текущий рабочий каталог /tmp, введите:

В некоторых дистрибутивах Linux, или если у вас настроено приглашение bash или zsh, путь к вашему текущему рабочему каталогу может быть показан в приглашении оболочки.

Команда pwd

Команда pwd обозначает печать рабочего каталога. Это одна из самых основных и часто используемых команд в Linux. После выполнения команда напечатает полный путь вашего текущего рабочего каталога.

pwd это оболочка, встроенная в большинство современных оболочек, таких как bash и zsh. Его поведение немного отличается от автономного исполняемого файла /bin/pwd. Вы можете использовать type -a для отображения всех мест, содержащих pwd.

Как видно из вывода ниже, встроенная оболочка имеет приоритет над автономным исполняемым файлом и будет использоваться всякий раз, когда вы печатаете pwd. Если вы хотите использовать автономную команду pwd, вам нужно будет указать полный путь к бинарному файлу /bin/pwd.

Как найти свой текущий рабочий каталог

Чтобы узнать, в каком каталоге вы сейчас находитесь, введите pwd в свой терминал:

Команда отобразит путь вашего текущего рабочего каталога:

Команда выполняет печать PWD переменной среды. Вы получите тот же вывод, если вы наберете:

Команда pwd может принимать только два аргумента:

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

Чтобы лучше проиллюстрировать, как работает опция -P, мы создадим каталог и символическую ссылку, которая будет указывать на каталог:

Теперь, если вы перейдете в каталог /tmp/symlink и введете pwd в свой терминал:

Вывод покажет, что ваш текущий рабочий каталог /tmp/symlink.

Если вы запускаете ту же команду, используя опцию -P:

Ваш текущий рабочий каталог – /tmp/directory это каталог, на который указывает символическая ссылка.

Заключение

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

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

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

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

[methody@localhost methody]$ pwd
/home/methody
[methody@localhost methody]$

Пример 1. Текущий каталог: pwd

pwd (аббревиатура от print working directory) возвращает полный путь текущего каталога командной оболочки, естественно, именно той командной оболочки, при помощи которой была выполнена команда pwd . В данном случае Мефодий узнал, что в этот момент (на этой виртуальной консоли) текущим является каталог « /home/methody ».

Почти все утилиты, с которыми работал Мефодий в предыдущих лекциях, по умолчанию читают и создают файлы в текущем каталоге. Так, Мефодий обращался к файлам, не используя никаких путей, просто по имени. Например, использовал утилиту cat , чтобы вывести на экран содержимое файла « text ».

[methody@localhost methody]$ cat text
File: info.info, Node: Help-Cross, Up: Cross-refs

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

Пример 2. Полный и относительный путь к файлу

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

Вообще говоря, в нескольких разных каталогах файловой системы могут оказаться файлы с именем « text », именно поэтому командная оболочка всегда передаёт программам и утилитам «точный адрес» файла в файловой системе — полный путь.

Набирая только имя файла без пути к текущему каталогу, Мефодий воспользовался относительным путём к этому файлу.

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

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

Пользователь может обращаться к файлу при помощи полного или относительного пути — результат будет совершенно тот же. Так, команды cat text и cat /home/methody/text , отданные Мефодием, дали одинаковый результат, поскольку выводился один и тот же файл. Если в относительном пути встречаются символы « / », рассматриваются подкаталоги текущего каталога, их подкаталоги и т. д. Короче говоря, относительный путь строится по тем же правилам, что и полный, с той разницей, что относительный путь начинается не с символа « / ». Сам текущий каталог, каков бы ни был полный путь к нему, всегда имеет ещё одно обозначение, « . », которое можно использовать, если по каким-то причинам требуется, чтобы даже в относительном пути к файлу, находящемуся в текущем каталоге, присутствовал элемент «имя каталога». Так, пути « text » и « ./text » тоже приводят к одному и тому же файлу, однако в первом случае в строке пути не содержится ничего, кроме имени файла.

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

[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

Пример 3. Использование dirname и basename

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

Источник

Зачем нужна команда pwd и что такое текущая рабочая директория

Из этой статьи вы узнаете, как определить текущую рабочую директорию (current working directory) с помощью команды pwd.

Что такое текущая рабочая директория

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

По умолчанию, когда вы запускаете операционную систему Linux, текущим рабочим каталогом является домашняя директория. Изменить рабочую директорию можно с помощью команды cd.

Например, чтобы изменить текущую рабочую директорию на /tmp, используйте такую команду:

Путь к текущей рабочей директории может отображаться в оболочке командной строки.

Команда pwd

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

Команда pwd встроена в большинство современных командных оболочек, в том числе в Bash. Её поведение отличается от выполнения /bin/pwd. С помощью команды type можно получить все места, где есть pwd:

Как показывает вывод, встроенная команда pwd имеет более высокий приоритет по сравнению с /bin/pwd. Поэтому она используется всякий раз, когда вы вводите в командую строку pwd. Если вы хотите использовать файл /bin/pwd, нужно указать в командной строке полный путь до него.

Как найти текущую рабочую директорию

Чтобы понять, в какой директории вы работаете в данный момент, введите в терминале pwd. Вывод может выглядеть так (название директории может отличаться):

Всё, что делает команда pwd — выводит значение переменной окружения PWD. Такой же вывод получится, если ввести в терминале:

Команда pwd принимает только два аргумента:

  • -L (—logical) — не разрешать симлинки.
  • -P (—physical) — отображать физическую директорию без симлинков.

По умолчанию pwd ведёт себя так, как будто применена опция -L.

Чтобы понять, как работает аргумент -P, создадим директорию и симлинк, указывающий на эту директорию.

Когда вы зайдёте в директорию /tmp/symlink и введёте команду pwd, вывод будет таким:

То есть текущей рабочей директорией становится /tmp/symlink. Если ввести команду pwd -P, вывод будет таким:

Симлинк (англ. Symlink, symbolic link) — символическая ссылка. Этим термином обозначают файл, в котором содержится абсолютный или относительный путь к другому файлу или директории.

То есть получаем директорию, на которую указывает симлинк.

Заключение

Текущая рабочая директория — директория, из которой вы вызываете команды в терминале. Чтобы отобразить текущую рабочую директорию, нужно использовать команду pwd. Если у вас остались вопросы, добро пожаловать в комментарии.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как переустановить mac os если не запускается компьютер
  • Как переустановить mac os без потери данных
  • Как переустановить mac os sierra с сохранением данных
  • Как переустановить mac os sierra с нуля
  • Как переустановить mac os el capitan