pushd и popd

Команды
pushd и popd
Оригинальный автор(ы)Билл Джой
Разработчик(и)Различные разработчики открытого и коммерческого ПО
Операционная системаUnix , Unix-подобный , DOS , Windows , ReactOS
ПлатформаКроссплатформенный
ТипКоманда

В вычислительной технике pushdи popdпредставляют собой пару команд , которые позволяют пользователям быстро переключаться между текущим и предыдущим каталогом при использовании командной строки. При вызове они используют стек каталогов для последовательного сохранения и извлечения каталогов, посещённых пользователем. [1] [2]

Они широко доступны в качестве встроенных команд во многих интерпретаторах командной строки , таких как 4DOS , Bash , [3] C shell , tcsh , Hamilton C shell , KornShell , cmd.exe и PowerShell , а также для различных операционных систем, включая как Windows , так и Unix-подобные системы.

Обзор

Диаграмма, показывающая вертикальную стопку прямоугольников одинакового размера, представляющую стопку. Дополнительный прямоугольник того же типа показан слева со стрелкой, указывающей на его добавление в стопку, обозначенной как «push». Соответствующий прямоугольник справа, удаляемый сверху, обозначен как «pop».
Представление стека. Элементы всегда «вталкиваются» и «выталкиваются» сверху.

Стек каталогов лежит в основе функций этих двух команд. Это массив путей, хранящихся как переменная среды в CLI, которую можно просмотреть с помощью команды dirsв Unix или Get-Location -stackPowerShell. Текущий рабочий каталог всегда находится наверху стека.

Команда pushd('push directory') сохраняет текущий рабочий каталог в стеке, а затем изменяет рабочий каталог на новый путь, введенный пользователем. Если pushdне указан аргумент пути , в Unix он вместо этого меняет местами два верхних каталога в стеке, что можно использовать для переключения между двумя каталогами.

Команда popdудаляет (или «выталкивает», по аналогии со стеком) текущую запись пути из стека и возвращается к пути наверху стека в качестве нового рабочего каталога. [4] [5]

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

Обе команды доступны в FreeCOM, интерфейсе командной строки FreeDOS . [8]

В Windows PowerShell pushd это предопределенный псевдоним команды для Push-Location командлета , а popd — это предопределенный псевдоним команды для Pop-Locationкомандлета. Оба служат в основном для той же цели, что и команды pushdи popd.

Примеры

Unix-подобный

[пользователь@сервер /usr/ports] $ pushd  /etc /etc /usr/ports [пользователь@сервер /etc] $ popd /usr/ports [пользователь@сервер /usr/ports] $

Microsoft Windows и ReactOS

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

Пакетный файл CMD

@ echo off rem Этот пакетный файл удаляет все файлы .txt в указанном каталоге pushd  %1 del *.txt popd echo Все текстовые файлы, удаленные в каталоге %1

Синтаксис

pushd

pushd [путь | ..]

Аргументы:

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

попд

попд

Смотрите также

Ссылки

  1. ^ Pushd - сменить каталог/папку - Windows CMD - SS64.com
  2. ^ Popd - Windows CMD - SS64.com
  3. ^ Справочное руководство Bash: Встроенные функции стека каталогов
  4. ^ Статья Microsoft TechNet Pushd
  5. ^ Статья Microsoft TechNet Popd
  6. Глава 14 – 14.6 Команды pushd и popd оболочки
  7. ^ man tcsh "TCSH(1)". Архивировано из оригинала 2014-03-10 . Получено 2014-11-03 .
  8. ^ FreeCOM - FreeDOS

Дальнейшее чтение

  • pushd | Документы Microsoft
  • popd | Документы Microsoft
Взято с "https://en.wikipedia.org/w/index.php?title=Pushd_and_popd&oldid=1268947512"