Примеры команд Linux pushd и popd
Команды pushd и popd позволяют работать со стеками каталогов в Linux и Unix-подобных операционных системах. Они используются для добавления и удаления каталогов из стека каталогов. «d» в pushd и popd обозначает каталог.
Концепция стеков проста. Стек каталогов представляет собой очередь «последним пришел — первым вышел» (LIFO). После выполнения каждой команды popd размер стека каталогов уменьшается.
В этом руководстве вы узнаете, как использовать команды pushd и popd для навигации по дереву каталогов Linux.
Основной синтаксис
Команда pushd имеет следующий синтаксис:
Ниже приведены примеры использования команды pushd.
Добавить каталоги с помощью команды pushd
Команда pushd используется для добавления каталогов в стек дерева каталогов. Команда ниже добавляет каталог Music в стек.
На изображении ниже каталог Music теперь становится текущим рабочим каталогом.
Чтобы просмотреть стек каталогов, запустите:
Когда вы добавляете каталоги в стек, самый последний добавленный каталог будет наверху стека.
Добавить новый каталог без изменения текущего каталога
Когда вы выполняете команду pushd, текущий каталог меняется на тот, который вы указали. Чтобы добавить новый каталог, не изменяя текущий каталог, используйте параметр -n.
Когда вы выполните команду, каталог теперь будет на второй позиции в стеке.
Используйте параметр -n вместе с каталогом, который вы хотите добавить, как показано в синтаксисе ниже.
На изображении ниже каталог изображений теперь находится на втором месте сверху.
Перейти в каталог в любой позиции в стеке
Команда pushd принимает числовые параметры. Это позволяет вам перейти к n-му каталогу в стеке. Параметр +n начинается с вершины стека, и каталог в позиции n теперь станет текущим каталогом.
На изображении ниже каталог в позиции +2 — это каталог «Видео». После выполнения pushd каталог Videos теперь находится на вершине стека.
Команда Popd
Команда popd устанавливает текущий каталог в каталог, недавно сохраненный командой pushd. Каждый раз, когда вы вызываете команду pushd, сохраняется каталог.
Основной синтаксис
Команда Popd использует приведенный ниже синтаксис.
Удалить каталоги в стеке каталогов
Сама по себе команда popd позволяет вам удалить каталог в верхней части стека каталогов. После выполнения команды второй каталог сверху становится текущим каталогом.
Чтобы просмотреть стек каталогов, используйте команду:
Затем запустите команду popd:
Давайте обратимся к изображению, показанному ниже. В моем случае домашний каталог находится наверху моего стека каталогов. После выполнения команды popd домашний каталог очищается, а каталог вверху становится каталогом Videos.
Удалить каталог из стека с помощью параметра -n
Команда popd и параметр -n могут удалить каталог в стеке без изменения текущего каталога.
Когда вы выполняете команду popd -n, каталог на второй позиции сверху вашего стека удаляется.
Ссылаясь на изображение ниже, после выполнения команды домашний каталог остается на вершине стека. Напротив, каталог на втором месте сверху удаляется.
Удалить каталог из любой позиции
Вы можете удалить каталог в n-й позиции. Вместе с командой popd передается числовой параметр.
Синтаксис:
$ popd -n
Когда вы выполняете команду popd +n, каталог в n-й позиции сверху стека удаляется. Опция -n удаляет каталог в n-й позиции, начиная с нижней части стека.
На изображении ниже мы выполнили команду popd +1. Это удалит каталог Downloads, который находится на первой позиции с вершины стека. Затем каждый каталог перемещается вверх на одну позицию в стеке.
Опция -0 позволяет удалить последний каталог в стеке. Запустите команду ниже:
На изображении ниже каталог рабочего стола удален из стека.
Заключение
Как вы заметили, команды pushd и popd полезны при переходе из одного каталога в другой. Когда вы привыкнете к этой команде, у вас появится более быстрый и эффективный способ навигации по вашим каталогам в Linux.