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

Используйте pushd и popd для эффективной навигации по файловой системе в Linux.


Иногда перемещаться по файловой системе Linux с помощью команд может быть сложно, особенно для новичков. Обычно мы в основном используем команду cd (Изменить каталог) для перемещения по файловой системе Linux.

В предыдущей статье мы рассмотрели простую, но полезную утилиту CLI для Linux под названием bd, позволяющую быстро вернуться в родительский каталог без многократного ввода cd ../../...

В этом руководстве объясняется связанный набор команд: «push» и «popd», которые используются для эффективной навигации по структуре каталогов Linux. Они существуют в большинстве оболочек, таких как bash, tcsh и т. д.

Рекомендуется к прочтению: Autojump — расширенная команда «cd» для быстрой навигации по файловой системе Linux

Как команды pushd и popd работают в Linux

pushd и popd работают по принципу «LIFO» (последним пришел — первым ушел). В этом принципе разрешены только две операции: поместить элемент в стек и извлечь элемент из стека.

pushd добавляет каталог на вершину стека, а popd удаляет каталог с вершины стека.

Чтобы отобразить каталоги в стеке каталогов (или истории), мы можем использовать команду dirs, как показано.

dirs
OR
dirs -v

команда pushd – помещает/добавляет пути к каталогам в стек каталогов (историю), а затем позволяет вам вернуться к любому каталогу в истории. Когда вы добавляете каталоги в стек, он также отражает то, что существует в истории (или «стеке»).

Команды показывают, как работает pushd:

pushd  /var/www/html/
pushd ~/Documents/
pushd ~/Desktop/
pushd /var/log/

Из стека каталогов в приведенном выше выводе (индекс каталога находится в обратном порядке):

  • /var/log — пятый [индекс 0] в стеке каталогов.
  • ~/Desktop/ занимает четвертое место [индекс 1].
  • ~/Documents/ занимает третье место [индекс 2].
  • /var/www/html/ — второй [индекс 3] и
  • ~ стоит первым [индекс 4].

При желании мы можем использовать индекс каталога в форме pushd +# или pushd -# для добавления каталогов в стек. Чтобы перейти в ~/Documents, мы должны ввести:

pushd +2

Обратите внимание, что после этого содержимое стека изменится. Итак, из предыдущего примера, чтобы перейти в /var/www/html, мы должны использовать:

pushd +1

команда popd – удаляет каталог из вершины стека или истории. Чтобы просмотреть стек каталогов, введите:

popd

Чтобы удалить каталог из стека каталогов, используйте popd +# или popd -#, в этом случае мы должны ввести команду ниже, чтобы удалить ~/Documents :

popd +1

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

В этом уроке мы объяснили команды «push» и «popd», которые используются для эффективной навигации по структуре каталогов. Поделитесь своими мыслями по поводу этой статьи через форму обратной связи ниже.