pushd и popd
Оригинальный автор(ы) | Билл Джой |
---|---|
Разработчик(и) | Различные с открытым исходным кодом и коммерческие разработчики разработчики |
Операционная система | Unix , Unix-подобные , DOS , Windows , ReactOS |
Платформа | Кросс-платформенный |
Тип | Команда |
В вычислениях, pushd
и popd
— это пара команд , которые позволяют пользователям быстро переключаться между текущим и предыдущим каталогом при использовании командной строки. При вызове они используют стек каталогов для последовательного сохранения и извлечения каталогов, посещенных пользователем. [1] [2]
Они широко доступны как встроенные команды во многих интерпретаторах командной строки , таких как 4DOS , Bash , [3] Оболочка C , tcsh , оболочка Hamilton C , KornShell , cmd.exe и PowerShell , а также для различных операционных систем, включая Windows и Unix-подобные системы.
Обзор
[ редактировать ]
Стек каталогов лежит в основе функций этих двух команд. Это массив путей, хранящийся как переменная среды в 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
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Pushd — изменить каталог/папку — Windows CMD — SS64.com
- ^ Popd — Windows CMD — SS64.com
- ^ Справочное руководство Bash: Встроенные функции стека каталогов
- ^ Статья Microsoft TechNet Pushd
- ^ Статья Microsoft TechNet Popd
- ^ Глава 14 - 14.6 Команды pushd и popd оболочки.
- ^ чувак, тчш «ТЦШ(1)» . Архивировано из оригинала 10 марта 2014 г. Проверено 3 ноября 2014 г.
- ^ FreeCOM - FreeDOS
Дальнейшее чтение
[ редактировать ]- Фриш, Элин (2001). Карманный справочник по командам Windows 2000 . О'Рейли . ISBN 978-0-596-00148-3 .
- МакЭлхерн, Кирк (2006). Командная строка Mac OS X: Unix под капотом . Джон Уайли и сыновья . ISBN 978-0470113851 .
Внешние ссылки
[ редактировать ]