Використання команд pushd та popd у Linux
Спрощення навігації в Linux
Навігація по каталогах на вашому сервері AvaHost Linux щойно стала простішою! Команди та pushd є потужними інструментами для переміщення по складних структурах папок без втрати інформації про те, де ви були. Цей посібник ідеально підходить для системних адміністраторів, розробників або будь-кого, хто працює в терміналі Linux, і покаже вам, як використовувати ці команди для підвищення ефективності та безперебійності робочого процесу. Давайте зануримося в освоєння навігації по каталогах за допомогою AvaHost!popd
Використання команд pushd і popd в Linux
Навігація по складних структурах каталогів в терміналі Linux може забирати багато часу, особливо під час системного адміністрування або написання сценаріїв. Хоча (змінити каталог) є основною командою для навігації по каталогах, їй бракує можливості керувати стеком каталогів – функції, яку надають cd та pushd.popd
У цій статті ми детально розглянемо команди та pushd і покажемо, як спростити навігацію по каталогах і зробити робочі процеси в терміналі більш ефективними.popd
Що таке pushd і popd?
pushd ( виштовхує каталог) зберігає ваш поточний каталог у стек, а потім переходить до нового каталогу.
popd (pop каталог) видаляє верхній каталог зі стека і повертає вас до попереднього.
Ці команди є частиною механізму стеку каталогів, доступного у bash, zsh та інших сучасних оболонках.
Коли їх слід використовувати
і pushd є неоціненними коли:popd
Ви часто переміщуєтесь між двома або більше каталогами.
Ви пишете скрипти командного інтерпретатора, яким потрібно тимчасово перемикати каталоги.
Ви хочете уникнути забруднення командного рядка непотрібними командами cd і зберегти контекст.
Базове використання
1. команда pushd
Переміщує поточний каталог до стеку.
Змінює каталог на /шлях/до/цілі.
приклад:
cd ~
pushd /var/www/htmlТепер ви знаходитесь в /var/www/html, а ваш домашній каталог ~ зберігається в стеку.
2. popd Команда popd
Витягує верхній каталог зі стека.
Повертає вас до попереднього каталогу.
Продовжуючи приклад вище:
Ви повернетесь до каталогу ~.
Робота зі стеком каталогів
Використовуйте dirs для перегляду поточного стану стека каталогів:
Приклад виведення:
0 /var/www/html
1 /home/userІндекс 0 – це ваш поточний каталог.
Вищі індекси вказують на попередні каталоги.
Переміщення поточного каталогу без перемикання
Ви можете використовувати
щоб виштовхнути поточний каталог до стеку без зміни каталогів.
Реальні приклади
Приклад 1: Перехід між каталогами коду і збірки
pushd ~/projects/myapp/src
# Виконати редагування
pushd../build
make && make install
popd # Назад до src
popd # Повернутися до початкового каталогуЕфективно для ітеративної розробки без повторюваних команд cd.
Приклад 2: Обертання у скрипт оболонки
Ось скрипт, який збирає код у тимчасовому каталозі і повертається в чистому вигляді:
#!/bin/bash
pushd /tmp/build-env || exit 1
# Configure and build
cmake ~/projects/myproject
make -j$(nproc)
popdЯкщо скрипт зазнає невдачі всередині /tmp/build-env, ви все одно повернетеся до початкового розташування.
Поради та найкращі практики
Використовуйте pushd поверх cd у скриптах
Це робить ваші скрипти більш зручними для супроводу, особливо у разі виникнення помилок – ви можете безпечно повернутися до початкового каталогу.
Комбінуйте з dirs -v для налагодження стеку
При роботі з декількома викликами , pushd допомагає відстежити історію навігації.dirs -v
Використання індексів за допомогою popd
Ви можете видалити певний каталог зі стека:


