Linux вывести текущий каталог

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

Файловая система не только систематизирует данные, но и является основой метафоры «рабочего места» в 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

Читайте также:  Драйвер сопроцессора windows 10 что это

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 » тоже приводят к одному и тому же файлу, однако в первом случае в строке пути не содержится ничего, кроме имени файла.

Читайте также:  Вывод списка пользователей windows

Отделить путь к файлу от его имени можно с помощью команд 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 гораздо лучше получить « . », чем пустую строку.

Источник

Bash. Получить текущий каталог

Главное меню » Linux » Bash. Получить текущий каталог

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

Требования

Следующие системные требования являются обязательными для запуска команд в bash для получения каталога:

  • Рекомендуемая ОС: Linux Mint 20 или Ubuntu 20.04
  • Учетная запись пользователя: учетная запись пользователя с правами sudo.

В руководстве предполагается, что в компьютерных системах пользователей уже установлена ​​последняя версия ОС Linux Mint. Для bash получите текущий каталог в Linux Mint 20, откройте Терминал из главного меню в левом нижнем углу экрана, а затем выберите параметр Терминал.

Чтобы взаимодействовать с терминалом, введите bash и нажмите клавишу Enter.

Читайте также:  Astra linux как установить операционную систему

Он отобразит приглашение, которое показывает, что Bash ожидает значения ввода.

PWD (Распечатать рабочий каталог)

Текущий рабочий каталог – это каталог, в котором выполняются все команды. Вам нужно напечатать имя текущего рабочего каталога. Введите команду PWD и нажмите Enter. Он покажет полный каталог на выходе, как показано ниже:

Приведенный выше вывод показывает, что в настоящее время мы находимся в каталоге пользователя, то есть /home/aqsa. Здесь используется команда PWD, рабочий каталог печати, и после ввода система Linux Mint 20 запрашивает отображение текущего местоположения. Каталог по умолчанию – это домашний каталог, который появится, когда пользователи начнут новый сеанс Bash.

Примечание. Чтобы выйти из каталога на один уровень, введите cd .. и нажмите Enter. Вы будете возвращены в один каталог.

В то время как, если вы хотите выйти из всех каталогов, просто введите cd и нажмите Enter. Вы попадете в каталог по умолчанию.

CD (изменить текущий рабочий каталог)

Иногда пользователи хотят переключиться из одного каталога в другой, чтобы получить доступ к соответствующим местоположениям и файлам в другом каталоге. Для этого им нужно использовать команду CD, а затем указать местоположение или каталог, например, Documents, Home и т. д.

Просто введите имя каталога компакт-диска и нажмите Enter. Вы можете распечатать свой каталог, чтобы проверить этот новый путь. Рабочий каталог можно изменить на существующий, и текущий рабочий каталог будет обновлен, как показано в примере ниже. Здесь мы достигли домашнего каталога.

Источник

Оцените статью