pushd
Сохраняет текущий каталог для использования всплывающей командой, а затем изменяет указанный каталог.
Каждый раз, когда вы используете отправленную команду, для использования хранится один каталог. Однако можно хранить несколько каталогов с помощью команды push-отправки несколько раз. Каталоги хранятся последовательно в виртуальном стеке, поэтому если вы используете команду pushd один раз, каталог, в котором используется команда, помещается в нижней части стека. При повторном использовании команды второй каталог помещается в начало первой. Процесс повторяется при каждом использовании принудительной команды.
При использовании всплывающей команды каталог в верхней части стека удаляется, а текущий каталог изменяется на этот каталог. При повторном использовании всплывающей команды удаляется следующий каталог в стеке. Если включены расширения команд, всплывающей команде удаляется любое назначение диска, созданное принудительной командой.
Синтаксис
pushd []
Параметры
| Параметр | Описание |
|---|---|
| Указывает каталог для создания текущего каталога. Эта команда поддерживает относительные пути. | |
| /? | Отображение справки в командной строке. |
Замечания
- Если расширения команд включены, push-команда принимает сетевой путь или букву локального диска и путь.
- Если указать сетевой путь, то принудительная команда временно назначает максимально неиспользуемую букву диска (начиная с Z:) указанному сетевому ресурсу. Затем команда изменяет текущий диск и каталог на указанный каталог на вновь назначенном диске. При использовании всплывающей команды с включенными расширениями команд всплывающее окно удаляет назначение букв диска, созданное при отправке.
Примеры
Чтобы изменить текущий каталог с того, в котором была запущена пакетная программа, а затем изменить его обратно:
@echo off rem This batch file deletes all .txt files in a specified directory pushd %1 del *.txt popd cls echo All text files deleted in the %1 directory
Дополнительные ссылки
- Условные обозначения синтаксиса команд командной строки
- команда popd
PUSHD – запомнить текущий каталог и перейти в указанный .
Команда PUSHD используется совместно с командой POPD для упрощения переходов между каталогами файловой системы. Используется для запоминания текущего каталога в виртуальном стеке каталогов и переходу в указанный параметром командной строки. Многократное выполнение команды позволяет запоминать пути к рабочим каталогам файловой системы и осуществлять возврат при выполнении команд POPD. Формат командной строки:
путь — Каталог, который следует назначить текущим.
Когда расширенная обработка команд включена, команда PUSHD допускает ввод сетевых путей в дополнение к обычным именам дисков и путям. Если указан сетевой путь, команда PUSHD создает временное имя диска, указывающее на заданный сетевой ресурс, а затем производит смену текущего диска и каталога, используя вновь определенное имя диска. Выделение временных имен дисков проводится в обратном порядке начиная c Z:
pushd D:\TEST\one — запомнить текущий каталог и перейти в каталог D:\TEST\one
Обычно, команда PUSHD используется в командной строке или в командных файлах совместно с командой POPD, например:
pushd %TEMP% — запомнить исходный текущий каталог и перейти в каталог временных файлов.
последовательность команд для работы в каталоге %TEMP%
pushd D:\TEST — переход в каталог D:\TEST
последовательность команд для работы в каталоге D:\TEST
pushd \\server\install — переход в сетевой каталог
Z: > — приглашение командной строки сменилось на Z: — букву, присвоенную сетевому ресурсу \\server\install
последовательность команд для работы в сетевом каталоге
POPD — возврат в каталог, который был заполнен последней командой PUSHD, т.е. – D:\TEST
POPD — возврат в каталог, который был заполнен предыдущей командой PUSHD, т.е. – в %TEMP%
POPD — возврат в каталог, который был заполнен предыдущей командой PUSHD, т.е. – в исходный текущий каталог.
Примеры команд pushd и popd в Linux 1 мин для чтения


Добавить в избранное
Главное меню » Linux » Примеры команд pushd и popd в Linux

Команды pushd и popd позволяют работать со стеками каталогов в Linux и Unix-подобных операционных системах. Они используются для добавления и удаления каталогов из стека каталогов. Буква «d» в pushd и popd обозначает каталог (directory).
Концепция стеков проста. Стек каталогов представляет собой очередь «последним вошел — первым ушел» (LIFO). После выполнения каждой команды popd размер стека каталогов уменьшается.
Из этой статьи Вы узнаете, как использовать команды pushd и popd для навигации по дереву каталогов Linux.
Базовый синтаксис
Команда pushd принимает следующий синтаксис:
$ pushd [ОПЦИИ] [КАТАЛОГ]
Ниже приведены примеры использования команды pushd.
Добавьте каталоги с помощью команды pushd
Команда pushd используется для добавления каталогов в стек дерева каталогов. Приведенная ниже команда добавляет каталог Music в стек.
$ pushd ~/Music
Как показано на изображении ниже, каталог Music теперь становится текущим рабочим каталогом.
Чтобы просмотреть стек каталогов, запустите:
$ dirs -l -v
Когда вы добавляете каталоги в стек, последний добавленный каталог будет вверху стека.
Добавить новый каталог без изменения текущего каталога
Когда вы выполняете команду pushd, текущий каталог изменяется на тот, который вы указали. Чтобы добавить новый каталог, не изменяя текущий каталог, используйте параметр -n.
Когда вы выполните команду, каталог теперь будет на второй позиции в стеке.
Используйте параметр -n вместе с каталогом, который вы хотите добавить, как показано в синтаксисе ниже.
$ pushd -n каталог
Перейти в каталог в любой позиции стека
Команда pushd принимает числовые параметры. Это позволяет вам перейти в n-й каталог в стеке. Параметр + n начинается с вершины стека, и каталог в n-й позиции теперь станет текущим каталогом.
Команда popd
Команда popd устанавливает в качестве текущего каталога каталог, который был недавно сохранен командой pushd. Каждый раз, когда вы вызываете команду pushd, сохраняется каталог.
POPD – перейти в каталог, путь которого был сохранен при выполнении команды PUSHD.
Команда POPD используется совместно с командой PUSHD для упрощения переходов между каталогами файловой системы. Применяется для извлечения запомненного ранее в виртуальном стеке командой PUSHD пути текущего каталога. Многократное выполнение команды PUSHD позволяет запоминать пути к различным каталогам файловой системы и осуществлять возврат к сохраненным путям при выполнении команд POPD.
Формат командной строки:
Когда расширенная обработка команд включена, команда PUSHD может задавать переход по сетевому пути, например \\SERVER\Share . В этом случае, сначала создается сетевое подключение с использованием временных букв дисков в обратном порядке начиная c Z: , а затем выполняется переход в указанный каталог. Команда POPD удаляет временные имена при удалении соответствующего диска из стека каталогов.
pushd %TEMP% — запомнить исходный текущий каталог и перейти в каталог временных файлов.
последовательность команд для работы в каталоге %TEMP%
pushd D:\TEST — переход в каталог D:\TEST
последовательность команд для работы в каталоге D:\TEST
pushd \\SERVER\Share — переход в сетевой каталог
Z: > — приглашение командной строки сменилось на Z: — букву, присвоенную сетевому ресурсу \\SERVER\Share
последовательность команд для работы в сетевом каталоге
POPD — возврат в каталог, который был заполнен последней командой PUSHD, т.е. – D:\TEST . Сетевой диск Z: удален.
POPD — возврат в каталог, который был заполнен предыдущей командой PUSHD, т.е. – в %TEMP%
POPD — возврат в каталог, который был заполнен предыдущей командой PUSHD, т.е. – в исходный текущий каталог.