Pushd and popd

undefined

Pushd и popd — команды оболочки, которые позволяют пользователю быстро возвращаться к предыдущим рабочим каталогам через командную строку. Для хранения путей используется структура данных стек. Команда pushd помещает путь текущего каталога в стек и переходит в указанный каталог, а команда popd извлекает последний добавленный элемент из стека и переходит в полученный таким образом каталог[1].[2][3][4]

Что важно знать

Описание

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

Команды pushd и popd доступны как встроенные команды во многих оболочках: Bash[5], Command Prompt, PowerShell, C shell, tcsh, 4DOS, Hamilton C shell, KornShell, а также FreeCOM[6].

Стек путей можно просмотреть с помощью команды dirs в Unix или команды Get-Location -stack в PowerShell. Текущий рабочий каталог располагается на вершине стека.

Первой оболочкой Unix, реализовавшей стек каталогов, была C shell Билла Джоя. Синтаксис операций с каталогами практически не изменился со времени появления этих команд[7].

Примеры

Unix-подобные системы

[user@server /usr/ports] $ pushd /etc
/etc /usr/ports
[user@server /etc] $ popd
/usr/ports
[user@server /usr/ports] $

Командная строка Windows и ReactOS

C:\Users\root>pushd C:\Users
C:\Users>popd
C:\Users\root>

Примечания

Литература

  • Frisch, Æleen. Windows 2000 Commands Pocket Reference : [англ.]. — O'Reilly, 2001. — ISBN 978-0-596-00148-3.
  • The Mac OS X Command Line: Unix Under the Hood : [англ.]. — John Wiley & Sons, 2006. — ISBN 978-0470113851.

Ссылки