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 что за команда
Тема: Файловая система Linux .
Вид занятия: лекция, практическое занятие.
1. Основные понятия: корневой каталог, точка монтирования,
2. Типы файлов. Обычные файлы. Каталоги. Файлы устройств.
3. Навигация по файловой системе: команды cd , pushd ,
4. Создание, удаление и копирование файлов. Команды
5. Операции с каталогами. Команды mkdir и rmdir .
6. Важнейшие каталоги файловой системы Linux .
1. Робачевский А.М. Операционная система Unix . — СПб.:
БВХ — Санкт-Петербург, 1999. — 528 с., ил.
2. Армстронг (мл.) Джеймс. Секреты Unix : 2-е изд.: Пер. с
англ.: Уч. пос. — М.: Издательский дом Вильямс, 2000. —
1072 с.: ил. — Парал. тит. англ.
3. Паркер Тим. Linux 5.2. Энциклопедия пользователя: Пер. с
англ. — К.: Издательство ДиаСофт, 1999. — 688 с.
1. Файловая система Linux , в отличие от операционных систем семейства Windows не не разделена по томам (дискам, устройствам), а имеет единую древовидную структуру, в основе которой лежит корневой каталог . Корневой каталог — это уровень файловой системы, выше которого по дереву каталогов подняться невозможно. В Linux корневой каталог обозначается как / (именно / — слэш, а не \ — обратный слэш). Система позволяет устанавливать много корневых каталогов. Так например для некоторого пользователя ftp / home будет корневым каталогом и при обращении к клиенту ftp на смену каталога на корневой пользователь будет попадать в / home .
Возникает вопрос, а как тогда разные физические устройства участвуют в формировании единой файловой системы? Сделаем небольшой экскурс в историю. В то время, когда создавалась ОС Юникс устройства — накопители информации представляли собой ящик размером с письменный стол и назывались магнитными барабанами. В то время не было необходимости подключать и отключать его по нескольку раз в час. Поэтому не был выработан и механизм быстрой смены. Для подключения любого устройства к файловой системе используется так называемая точка монтирования — каталог, все вложенные уровни которого являются файловой системой на устройстве-носителе. Например, при монтировании дискеты обычно используется каталог / media / floppy . То есть, все каталоги и файлы, находящиеся внутри / media / floppy на самом деле содержаться на дискете, вставленной в дисковод компьютера. Для подключения, или монтирования, устройств используется специальная команда, которую мы изучим на следующих занятиях. Таким образом подключаются и сетевые файловые системы, то есть такие системы, которые реально находятся где-то на сервере сети, однако различий в работе с ними пользователь не ощущает и видит сетевые файлы и каталоги, как если бы они были расположены на локальном компьютере.
Есть у файловой системы Linux и еще одна особенность. Каждому пользователю в ней выделяется домашний каталог — специальный каталог, необходимый для хранения пользователем своих личных данных. При входе пользователя в систему, он сразу оказывается в своем домашнем каталоге. Обычно права доступа к домашнему каталогу пользователя выставлены таким образом, что доступ к каталогу запрещен всем кроме владельца и администратора.
2. В файловой системе Линукс различают несколько типов файлов. Понятие файл включает в себя также и интерфейсы работы с периферийными устройствами, и каналы, позволяющие разным процессам в системе обмениваться данными.
[student@ns lesson_2]$ ls -l
-rwxr-xr-x 1 root root 2872 Aug 27 2001 arch
-rw-rw-rw- 1 root root 612 Jun 25 2001 chain.b
brw-rw—- 1 root disk 3, 1 Feb 3 15:38 hda1
drwxrwxrwx 2 root root 32768 Feb 3 15:38 ida
Преподаватель объясняет, как различить разные типы устройств, перечисляет основные типы:
b блочное устройство
с символьное устройство
Объясняет понятие скрытых файлов, а также каталогов . и . Показывает разницу между командой ls и ls — a .
3. Навигация по файловой системе является одним из самых важных навыков при работе с операционной системой Linux . Основными командами, используемыми при навигации по файловой системе, являются:
pwd — показывает полное имя каталога, в котором находится пользователь.
[student@ns student]$ pwd
cd — изменяет текущий каталог на указанный. cd без параметров или с параметром ~ изменяет текущий каталог на домашний. cd с параметром .. изменяет каталог на тот, который находится на один уровень выше по дереву каталогов.
[student@ns student]$ pwd
[student@ns student]$ cd primer
[student@ns primer]$ pwd
[student@ns primer]$ cd ..
[student@ns student]$ pwd
[student@ns student]$ cd /home/student/primer
[student@ns primer]$ pwd
[student@ns primer]$ cd
[student@ns student]$ pwd
[student@ns student]$ cd /bin
[student@ns bin]$ pwd
[student@ns bin]$ cd ~
[student@ns student]$ pwd
pushd , popd — эти команды работают в связке. Команда pushd изменяет каталог на указанный. pushd c параметром .. изменяет каталог на тот, который находится на один уровень выше по дереву каталогов. Основное отличие этой команды от cd в том, что вся история смены каталогов запоминается в стек и потом может быть использована для быстрой обратной навигации с помощью команды popd .
[student@ns student]$ pushd /var
[student@ns var]$ pushd log
[student@ns log]$ popd
[student@ns var]$ popd
4. Пользователю Linux ежедневно приходиться создавать, копировать и удалять файлы. Эти операции являются такими же важными, как перемещение по файловой системе.
Команда cp используется для копирования файлов. Её синтаксис таков:
Наиболее часто используемым параметром является параметр — R , позволяющий рекурсивно копировать каталоги, т.е со всем их содержимым.
[student@ns primer_3]$ cd ../primer_1/in_primer_1
[student@ns in_primer_1]$ ls
[student@ns primer_3]$ cd ../primer_3
[student@ns primer_3]$ cp in_primer_3 ../primer_1/in_primer_1/
[student@ns primer_3]$ cd ../primer_1/in_primer_1
[student@ns in_primer_1]$ ls
[student@ns primer_2]$ cd ../primer_2
[student@ns primer_2]$ ls
[student@ns primer_3]$ cp -R * ../primer_2
[student@ns primer_3]$ cd ../primer_2
[student@ns primer_2]$ ls
in_primer_2 in_primer_2_2 in_primer_3
[ student @ ns primer _2]$
Команда touch позволяет создавать файлы. Её применение наиболее просто: touch . Если файл с заданным именем существует в текущей директории, команда touch обновит его время создания на текущее.
[student@ns lesson_3]$ ls
primer_1 primer_2 primer_3
[student@ns lesson_3]$ touch file
[student@ns lesson_3]$ ls
file primer_1 primer_2 primer_3
[student@ns lesson_3]$ _
Команда rm используется для удаления файлов. Основные параметры, используемые с командой rm это — i (удаление с подтверждением удаления), — r (рекурсивное удаление) и — f (удаление всех файлов без подтверждения), — v (подробный описание производимых действий). Параметры — r и — f используются для удаления большого количества файлов. Но при их использовании необходимо быть предельно осторожным, т.к. с помощью этих параметров можно уничтожить систему.
[student@ns lesson_3]$ rm -iv ./file
rm: remove `./file’? y
[ student @ ns lesson _3]$_
5 . Операции с каталогами также важны для пользователя Linux , как и основные операции с файлами. Основные команды, используемые при работе с каталогами это — rmdir и mkdir .
Команда mkdir позволяет создать каталог:
[student@ns student]$ ls
file primer_1 primer_2 primer_3
[student@ns student]$ mkdir catalog
[student@ns student]$ ls
catalog file primer_1 primer_2 primer_3
[ student @ ns student ]$_
rmdir , наоборот, позволяет удалить каталог:
[student@ns student]$ ls
catalog file primer_1 primer_2 primer_3
[student@ns student]$ mkdir catalog
[student@ns student]$ ls
file primer_1 primer_2 primer_3
Обращаю ваше внимание на то, что команда rmdir, без использования дополнительных параметров, может удалять ТОЛЬКО ПУСТЫЕ КАТОЛОГИ.
6 . Файловая система Linux, как и любой другой unix- подобной операционной системы, имеет строгую структуру каталогов. Каждый дистрибутив Linux может несколько изменять структуру в зависимости от предпочтений разработчиков. Мы рассмотрим те каталоги, которые используются в каждом дистрибутиве:
в этом каталоге находятся основные исполняемые файлы, жизненно необходимые для функционирования системы
содержит ядро операционной системы и карты загрузки, а также конфигурационные файлы загрузчиков ( lilo, grub )
содержит файлы, которые являются интерфейсом с периферийными устройствами
содержит основные файлы настроек приложений Linux
содержит дамашние папки пользователей
содержит основные библиотеки, необходимые для нормальной работы системы
информация, восстановленная при проверке файловой системы на наличие ошибок
содержит каталоги — точки монтирования переносимых файловых систем ( floppy, cdrom, etc. )
каталог предназначен для коммерческого программного обеспечения
внутри этого каталога находится виртуальная файловая система proc , создаваемая ядром Linux “ на лету ”
в этом каталоге находятся временные файлы, используемые запущенными в данный момент процессами
программы, библиотеки и другие данные пользовательских приложений
содержит файлы журналов
Подключение сетевого диска в Windows XP при помощи команды PushD
Несмотря на видимое удобство такого решения, для его осуществления потребуется произвести ряд действий по подключению, а после завершения работы и по отключению сетевого диска. Лишняя трата времени и усилий, особенно для администратора, предпочитающего работать в режиме командной строки.
Но существует иной способ. Команда PushD позволяет быстро подключить сетевой диск без необходимости менять режим. Для не менее быстрого отключения диска применяется команда PopD. Алгоритм действий:
1. Откройте окно командной строки (приложения Command Prompt).
2. Введите:
PUSHD Server\Share\path
где \Server\Share\path — сетевой каталог, к которому производится подключение назначенного диска.
Произойдёт подключение указанного диска к заданной папке и Command Prompt автоматически переключится на этот диск. По завершению нужных операций просто введите POPD, сетевой диск отключится и вы вернётесь на тот диск, с которым работали до начала процедуры.
Имейте в виду, что команда PUSHD назначает буквы диска в обратном алфавитном порядке, начиная с Z, используя для подключения первую незадействованную букву.
Автор: Грег Шульц (Greg Shultz)
Версия на английском: techrepublic.com.com
Копирование статьи разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник русскоязычной версии.
Оцените статью: Голосов
Copyright © 2006-2022 Winblog.ru All rights reserved.
Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
Сайт для посетителей возрастом 18+
Стек директорий. Снова простая вещь + дополнения
Мало кто знает о таких командах bash как pushd и popd.
Они позволяют работать со стеком директорий.
pushd $DIR позволяет перейти в $DIR и добавить текущую в стек. При каждом выполнении команды стек пополняется текущей директорией.
popd позволяет перейти к последней директории в стеке и извлечь её оттуда. Таким образом после каждого выполнения команды стек уменьшается на одну директорию, а текущая директория становится директорией на вершине стека.
Например:
[user@laptop ~]
basg# cd /
[user@laptop /]
bash# pushd /var/log/
/var/log /
[user@laptop log]
bash# pushd /usr/share/
/usr/share /var/log /
[user@laptop share]
bash# popd
/var/log /
[user@laptop log]
bash# popd
/
[user@laptop /]
bash#
Эта вещь крайне удобна в скриптах, когда не хватает простого «cd -» (которое, к слову, переходит к директории, которая была перед последним выполнением команды cd), а также в повседневной работе в консоли.
`cd` переход в домашнюю директорию пользователя.
`cd ~user` переход в домашнюю директорию другого пользователя.
`cat /proc/cpuinfo`
`watch !!` подставит предыдущую команду текущей.
`!123` выполнит команду под номером из bash_history.
`sl[ctrl+t]` поменять местами два символа.