Jump to content

pushd и popd

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

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

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

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

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

The pushd ('pushdirectory') команда сохраняет текущий рабочий каталог в стек, а затем меняет рабочий каталог на новый путь, введенный пользователем. Если pushd не имеет аргумента пути , вместо этого он переходит в следующий каталог сверху стека, [ нужны разъяснения ] который можно использовать для переключения между двумя каталогами.

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

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

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

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

Unix-подобный

[ редактировать ]
[user@server /usr/ports] $ pushd /etc
/etc /usr/ports
[user@server /etc] $ popd
/usr/ports
[user@server /usr/ports] $

Microsoft Windows и ReactOS

[ редактировать ]
C:\Users\root>pushd C:\Users
C:\Users>popd
C:\Users\root>

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

[ редактировать ]
@echo off
rem This batch file deletes all .txt files in a specified directory
pushd %1
del *.txt
popd
echo All text files deleted in the %1 directory

Синтаксис

[ редактировать ]
pushd [path | ..]

Аргументы:

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

требовать

[ редактировать ]
popd

См. также

[ редактировать ]
  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. ^ чувак, тчш «ТЦШ(1)» . Архивировано из оригинала 10 марта 2014 г. Проверено 3 ноября 2014 г.
  8. ^ FreeCOM - FreeDOS

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b96b3057e3fe27254f21832e494a646b__1708189260
URL1:https://arc.ask3.ru/arc/aa/b9/6b/b96b3057e3fe27254f21832e494a646b.html
Заголовок, (Title) документа по адресу, URL1:
pushd and popd - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)