Разработчики) | AT&T Bell Laboratories , MetaComCo , Microsoft , IBM , DR , Novell , HP , JP Software , участники ReactOS |
---|---|
Операционная система | Unix , Unix-like , V , DOS , MSX-DOS , FlexOS , OS / 2 , TRIPOS , Windows , MPE / iX , Plan 9 , Inferno , ReactOS , KolibriOS , SymbOS , DexOS |
Платформа | Кроссплатформенность |
Тип | Командование |
Команда cd
, также известная как chdir
( ch ange dir ectory), представляет собой команду оболочки командной строки, используемую для изменения текущего рабочего каталога в различных операционных системах . Его можно использовать в сценариях оболочки и пакетных файлах .
Реализации
Команда была реализована в таких операционных системах, как Unix , DOS , IBM OS / 2 , [1] MetaComCo TRIPOS , [2] AmigaOS [3] (где если указан пустой путь , подразумевается cd ), Microsoft Windows , ReactOS , [4] и Linux . В MS-DOS он доступен в версиях 2 и новее. [5] DR - DOS 6.0 также включает в себя реализацию из cd
и chdir
команд. [6] Команда также доступна вэмулятор MS-DOS с открытым исходным кодом DOSBox и в оболочке EFI . [7] Он назван chdir
в HP MPE / iX . [8] Команда аналогична команде Stratus OpenVOS change_current_dir
. [9]
cd
часто включается непосредственно в интерпретатор командной строки. Это имеет место в большинстве оболочек Unix ( оболочка Bourne , tcsh , bash и т. Д.), В cmd.exe
Microsoft Windows NT / 2000 + и Windows PowerShell в Windows 7 + и COMMAND.COM
в DOS / Microsoft Windows 3.x - 9x / ME .
Системный вызов , что эффекты команды в большинстве операционных систем , chdir
что определяется POSIX .
Оболочки командной строки в Windows обычно используют Windows API для изменения текущего рабочего каталога, тогда как в системах Unix cd
вызывает функцию chdir()
POSIX C. Это означает, что при выполнении команды не создается новый процесс для миграции в другой каталог, как в случае с другими командами, такими как ls . Вместо этого оболочка сама выполняет эту команду. Это происходит потому , что, когда новый процесс создается, дочерний процесс наследует каталог , в котором родительский процесс был создан. Если cd
команда наследует каталог родительского процесса, то цель команды cd никогда не будет достигнута.
Windows PowerShell , объектно-ориентированная оболочка командной строки и язык сценариев Microsoft , выполняет cd
команду ( командлет ) в процессе оболочки. Однако, поскольку PowerShell основан на .NET Framework и имеет другую архитектуру, чем предыдущие оболочки, все командлеты PowerShell, такие как ls
и rmт. Д., Выполняются в процессе оболочки. Конечно, это неверно для устаревших команд, которые по-прежнему выполняются в отдельном процессе.
Использование
Каталог представляет собой логическое сечение файловой системы , используемую для хранения файлов. Каталоги могут также содержать другие каталоги. С помощью этой cd
команды можно перейти в подкаталог, вернуться в родительский каталог, полностью вернуться в корневой каталог или перейти в любой заданный каталог.
Рассмотрим следующий подраздел файловой системы Unix, в котором показан домашний каталог пользователя (обозначенный как ~
) с файлом text.txt
, и три подкаталога.
Если текущий рабочий каталог пользователя является домашним каталогом ( ~
), то при вводе команды с ls
последующим cd games
может быть получен следующий текст:
user @ wikipedia: ~ $ ls workreports энциклопедия игр text.txt user @ wikipedia: ~ $ cd games user @ wikipedia: ~ / games $
Теперь пользователь находится в каталоге "игры".
Аналогичный сеанс в DOS (хотя концепция «домашнего каталога» может не применяться, в зависимости от конкретной версии [ расплывчато ] ) будет выглядеть так:
C: \> dirworkreports <DIR> Ср, 9 октября, 9:01 games <DIR> Вт, 8 октября, 14:32 энциклопедия <DIR> Пн, 1 октября, 10:05 text txt 1903, чт, 10 октября, 12:43 C: \> cd игры C: \ игры>
DOS поддерживает отдельные рабочие каталоги для каждого диска , обозначенного буквами , а также имеет концепцию текущего рабочего диска. Команда cd
может использоваться для изменения рабочего каталога рабочего диска или другого диска с буквами. Ввод буквы диска в качестве отдельной команды изменяет рабочий диск, например C:
; в качестве альтернативы cd
с помощью /d
переключателя можно изменить рабочий диск и рабочий каталог этого диска за один шаг. Современные версии Windows имитируют это поведение для обратной совместимости с CMD.EXE . [10]
Обратите внимание, что выполнение cd
из командной строки без аргументов имеет разный эффект в разных операционных системах. Например, если cd
выполняется без аргументов в DOS, OS / 2 или Windows, отображается текущий рабочий каталог (эквивалент Unix pwd
). Если cd
в Unix выполняется без аргументов, пользователь возвращается в домашний каталог.
Выполнение cd
команды в сценарии или пакетном файле также имеет разный эффект в разных операционных системах. В DOS текущий каталог вызывающего может быть напрямую изменен использованием этой команды пакетным файлом . В Unix текущий каталог вызывающего абонента не изменяется при вызове команды сценарием cd
. Это связано с тем, что в Unix сценарий обычно выполняется в подоболочке .
Параметры
Unix, Unix-подобный
cd
сам по себе илиcd ~
всегда помещает пользователя в свой домашний каталог.cd .
оставит пользователя в том же каталоге, в котором он сейчас находится (т.е. текущий каталог не изменится). Это может быть полезно, если внутренний код оболочки пользователя не может работать с каталогом, в котором они воссоздаются; runningcd .
поместит их оболочку в воссозданный каталог.cd ~username
поместит пользователя в домашний каталог с именем пользователя.cd dir
(без a/
) поместит пользователя в подкаталог; например, если они находятся в/usr
, набравcd bin
поместит их в/usr/bin
, в то время какcd /bin
помещает их в/bin
.cd ..
переместит пользователя на один каталог вверх. Итак, если они есть/usr/bin/tmp
,cd ..
перемещает их на/usr/bin
, аcd ../..
перемещает на/usr
(то есть на два уровня вверх). Пользователь также может использовать это косвенное обращение для доступа к подкаталогам. Итак, из/usr/bin/tmp
, они могут использоватьcd ../../local
для перехода в/usr/local
.cd -
переключит пользователя в предыдущий каталог. Например, если они вошли/usr/bin/tmp
и перейдут в/etc
, они могут ввести,cd -
чтобы вернуться/usr/bin/tmp
. Пользователь может использовать это для переключения между двумя каталогами.
DOS, OS / 2, Windows, ReactOS
- никакие атрибуты не выводят полный путь к текущему каталогу.
-p
Распечатайте окончательный стек каталогов, точно так же, как dirs.-n
Записи обертываются до того, как достигнут края экрана.-v
записи печатаются по одной в строке, им предшествуют их позиции в стопке.cd\
(Только для DOS и Windows) возвращается в корневой каталог. Следовательно, командаcd\subdir
всегда переводит пользователя в указанный подкаталог в корневом каталоге , независимо от того, где он находится на момент выполнения команды.
Интерпретаторы, отличные от оболочки операционной системы
В протоколе передачи файлов соответствующая команда записывается CWD
в потоке управления, но доступна, как и cd
в большинстве клиентских программ командной строки. Некоторые клиенты также имеют lcd
для изменения рабочего каталога л ocally.
В численных вычислительных средах MATLAB и GNU Octave включают в себя cd
функцию с аналогичной функциональностью. [11] [12] Команда также относится к интерпретаторам командной строки различного другого прикладного программного обеспечения.
См. Также
- Структура каталогов
- pushd и popd
- chroot
- Список интерпретаторов командной строки
Ссылки
- ^ «Справка JaTomes - Команды OS / 2» . www.jatomes.com . Архивировано из оригинала на 2019-04-14 . Проверено 11 августа 2019 .
- ^ «Введение в Tripos» (PDF) . Проверено 1 мая 2020 .
- ^ Рюгхаймер, Ханнес; Спаник, Кристиан (1 мая 1988 г.). «Краткий справочник по AmigaDOS» . Гранд-Рапидс, Mi: Abacus - через Интернет-архив.
- ^ "Reactos / reactos" . GitHub .
- ^ Wolverton, Ван (2003). Запуск MS-DOS версии 6.22 (20-летняя редакция), 6-я пересмотренная редакция . Microsoft Press . ISBN 0-7356-1812-7.
- ^ «Руководство пользователя DR DOS 6.0 Советы по оптимизации и настройке» (PDF) . Архивировано из оригинального (PDF) 30 сентября 2019 года . Проверено 13 августа 2019 .
- ^ «Оболочки EFI и сценарии» . Intel . Проверено 25 сентября 2013 .
- ^ "Справочное руководство по командам MPE / iX" (PDF) .
- ^ «Справочное руководство по командам OpenVOS» (PDF) . stratadoc.stratus.com . Проверено 12 сентября 2020 .
- ^ «11 октября 2010 г.» . Старая новая вещь .
- ^ "Изменить текущую папку - компакт-диск MATLAB" . www.mathworks.com .
- ^ "Справочник по функциям: компакт-диск" . octave.sourceforge.io .
Дальнейшее чтение
- Волвертон, Ван (1990). Команды MS-DOS: Краткий справочник Microsoft, 4-е исправленное издание . Microsoft Press . ISBN 978-1-55615-289-4.
- Джон Пол Мюллер (2007). Администрирование Windows из командной строки для Windows Vista, Windows 2003, Windows XP и Windows 2000 . Джон Вили и сыновья . ISBN 978-0-470-16579-9.
- Барретт, Дэниел Дж. (2012). Карманное руководство по терминалу Macintosh: командуйте своим Mac . О'Рейли . ISBN 978-1-4493-2898-6.
Внешние ссылки
- Windows XP> Справочник по командной строке AZ> Chdir (Cd) из Microsoft TechNet
- : сменить рабочий каталог - Справочник по командам и утилитам, Единая спецификация UNIX , Выпуск 7 от Open Group