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

Используйте команды Pushd, Popd и Dirs для более быстрой навигации по CLI в Linux

Мы используем команду cd для перехода из одного каталога в другой. Чтобы вернуться в предыдущий каталог, мы используем команды "cd .." или "cd ". Именно так я обычно перемещаюсь между каталогами, пока не нашел тройные команды, а именно pushd, popd и dirs. Эти три команды обеспечивают более быструю навигацию между каталогами. В отличие от команды cd, команды pushd и popd используются для управления стеком каталогов. Просто войдите в каталог и сделайте то, что хотите, и быстро вернитесь в предыдущий каталог без необходимости вводить длинное имя пути. Команда dirs используется для отображения текущего стека каталогов, как и команда "ls". Эти трио команды чрезвычайно полезны, когда вы работаете с глубокой структурой каталогов и сценариями.

Давайте посмотрим несколько практических примеров, чтобы лучше понять.

Используйте команды Pushd, Popd и Dirs для более быстрой навигации по CLI

Команды Pushd, popd и dirs поставляются предустановленными, поэтому давайте не будем беспокоиться об установке и посмотрим, как использовать их в реальном времени.

Сейчас я нахожусь в каталоге /tmp.

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

Я собираюсь создать десять каталогов, а именно test1, test2, .... test10 в каталоге /tmp.

Как, возможно, вы уже знаете, мы можем легко создать несколько каталогов одновременно с помощью команды «mkdir», как показано ниже.

mkdir test1 test2 test3 test4 test5 test6 test7 test8 test9 test10

Или,

mkdir test{1,2,3,4,5,6,7,8,9,10}

Теперь давайте перейдем в каталог test3. Для этого просто введите:

pushd test3

Перейдите в определенный каталог с помощью команды pushd

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

dirs

Пример вывода:

/tmp/test3 /tmp /tmp

Показать текущий стек каталогов с помощью команды dirs

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

popd

Перейдите в предыдущий рабочий каталог с помощью команды popd.

Нет необходимости указывать полный путь к предыдущему каталогу. Если вы используете команду cd, вам следует ввести "cd .." или "cd " , чтобы вернуться в каталог /tmp. . Но с помощью команды popd мы можем мгновенно вернуться в предыдущий рабочий каталог. Это очень просто.

Давайте снова вернемся в каталог test8. Для этого запустите:

pushd test8

Пример вывода:

/tmp/test8 /tmp /tmp

Перейдите в определенный каталог с помощью команды pushd

Давайте углубимся в стек.

pushd /tmp/test10

Пример вывода:

/tmp/test10 /tmp/test8 /tmp /tmp

Перейдите в определенный каталог в стеке каталогов, используя pushd.

Сейчас мы находимся в каталоге test10, и в нашем стеке всего 3 каталога (test10, test8 и tmp). Вы заметили направление? Каждый новый каталог добавляется слева. Когда мы начнем удалять каталоги, они также появятся слева.

Теперь, если вы хотите перейти в предыдущий рабочий каталог, например test8, с помощью команды cd, команда будет такой, как показано ниже.

cd /tmp/test8

Но вам не нужно использовать команду cd. Мы можем быстро перейти в каталог test8, выполнив команду popd:

popd

Пример вывода:

/tmp/test8 /tmp /tmp

Перейдите в предыдущий рабочий каталог с помощью команды popd.

Как вы видите в приведенном выше выводе, мы перешли в предыдущий рабочий каталог без необходимости вводить полный путь (т. е. /tmp/test8).

Теперь давайте еще раз хлопнем:

popd

Пример вывода:

/tmp /tmp

Перейдите в последний посещенный каталог с помощью popd

Наконец, мы вернулись в каталог, с которого начали.

В этом примере я использовал всего десять каталогов. Так что может показаться, что в этом нет ничего страшного. Подумайте о двадцати или более каталогах? Будете ли вы вводить "cd " или "cd .." каждый раз для перемещения между каталогами? Неа. Это заняло бы много времени. Просто используйте команду pushd, чтобы перейти в любой каталог в стеке и вернуться в предыдущий рабочий каталог с помощью команды popd. Кроме того, вы можете использовать команду dirs, чтобы в любое время показать текущий стек каталогов. Вы можете добавить в стек несколько путей, а затем переходить к ним в обратном порядке. Это сэкономит вам много времени при навигации по стопке каталогов.

Аналогичный набор команд доступен для более быстрой навигации по интерфейсу командной строки в оболочке Fish. Для получения более подробной информации обратитесь к следующему руководству:

  • Как быстро перемещаться по истории каталогов в Fish Shell в Linux

Теперь вы знаете, как эффективно перемещаться между каталогами без использования команд pushd, popd и dirs. Эти команды пригодятся, когда вы работаете с большим стеком каталогов. Вы можете быстро перемещаться вперед и назад между N каталогами. Эти команды также очень полезны при работе со сценариями.

Читайте также:

  • Как быстрее перемещаться по каталогам в Linux

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