Поиск по сайту:

Команда Bash `pushd`


Пользователям Linux может потребоваться переключаться между многими каталогами для выполнения конкретной задачи, и частое изменение местоположения каталога с терминала отнимает много времени у пользователя. Если информация о пути к ранее посещенному файлу или папке может быть сохранена или извлечена из терминала, то пользователь сможет легко перемещаться по файловой системе. В bash есть команда для решения этой проблемы. Чтобы сохранить текущую информацию о каталоге в стеке перед перемещением в другой каталог, в bash используется команда `pushd`. Эта команда работает по принципу LIFO (Last In First Out). Это означает, что информация о каталоге будет храниться в конце стека. В этом руководстве объясняется, как применить команду `pushd` для навигации по файловой системе в Ubuntu.

Синтаксис:

pushd
pushd [drive] path
  • Когда команда `pushd` используется без какого-либо диска и пути, будет отображаться список ранее отправленных путей к каталогам.

  • Когда команда `pushd` используется только с путем, информация о текущем рабочем каталоге будет храниться в стеке.

  • Когда команда `pushd` используется с драйвером и путем, информация о драйвере будет храниться в стеке.

Пример 1. Использование pushd с путем и без пути

Выполните следующие команды, чтобы получить текущую информацию о каталоге и получить любую ранее сохраненную информацию о каталоге. Если до этого не выполнялась команда `pushd`, то для первой команды будет напечатано сообщение «нет другого каталога». Когда команда `pushd` будет выполняться с «Видео», в стеке будут храниться две записи. Это Видео и домашний каталог(~). если команда `pushd` будет выполнена снова, то будут отображаться записи информации о стеке, и каталог изменится на последнюю запись стека, который является домашним каталогом.

$ pushd
$ pushd Videos
$ pushd

Аналогичный вывод появится после выполнения вышеуказанных команд.

Пример 2: Использование `pushd` с диском и путем

Команду `pushd` можно использовать с полным путем к любому каталогу. Первая команда `pwd` напечатает информацию о текущем рабочем каталоге. Вторая команда протолкнет каталог «Изображения», используя полный путь к этому каталогу с помощью команды `pushd`, и текущий каталог будет изменен на папку «Изображения».

$ pwd
$ pushd /home/Fahmida/Pictures

Пример 3. Проверка списка `продвинутых` каталогов

Следующие команды используются для отображения информации о каталогах из стека, которые вставляются командой `pushd`. Команда `dirs.` отображает вставленное имя каталога стека, а команда `dirs –v` отображает имя каталога стека со значением индекса.

$ dirs
$ dirs -v

Пример 4. Используйте `pushd` с положительным и отрицательным индексом каталога

Информация о каталоге может быть передана с использованием положительного или отрицательного значения индекса с помощью команды `pushd`. В этом примере показано использование индекса в команде `pushd`. Следующая команда используется здесь для отображения текущей информации о стеке со значением индекса.

$ dirs –v

Следующая команда изменит текущий каталог на папку, существующую в индексе 1 стека. Здесь папка Видео находится в индексе 1. После выполнения команды текущим каталогом будет Видео, а порядок индекса будет изменен.

$ pushd +1

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

$ pushd -2

Заключение

Если пользователь помещает каталог в стек с помощью команды `pushd`, ему не нужно повторно вводить информацию о каталоге несколько раз, чтобы переключиться из одного каталога в другой. Надеюсь, читатель сможет правильно использовать команду `pushd` после прочтения этого руководства.

Статьи по данной тематике: