Команда cd в сеансе rc работает на Plan 9 от Bell Labs | |
Разработчик (и) | ATT Bell Laboratories, MetaComCo, Microsoft, IBM, DR, Novell, HP, JP Software, участники ReactOS |
---|---|
Операционная система | Unix, Unix-подобная, V, DOS, MSX-DOS, FlexOS, OS / 2, TRIPOS, Windows, MPE / iX, Plan 9, Inferno, ReactOS, KolibriOS, SymbOS, DexOS |
Платформа | Кросс-платформенность |
Введите | Команда |
Команда cd
, также известная как chdir
(change dir ectory), является командной строкой shell команда, используемая для изменения текущего рабочего каталога в различных операционных системах. Его можно использовать в сценариях оболочки и пакетных файлах.
Команда реализована в таких операционных системах, как Unix, DOS, IBM OS / 2, MetaComCo TRIPOS, AmigaOS (если указан пустой путь , подразумевается cd), Microsoft Windows, ReactOS и Linux. В MS-DOS он доступен в версиях 2 и более поздних. DR DOS 6.0 также включает реализацию cd
и chdir
команды. Команда также доступна в open source MS-DOS эмуляторе DOSBox и в оболочке EFI. Он называется chdir
в HP MPE / iX. Эта команда аналогична команде Stratus OpenVOS change_current_dir
.
cd
часто встроен непосредственно в интерпретатор командной строки. Так обстоит дело в большинстве оболочек Unix (Bourne shell, 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 и язык сценариев, выполняет команду (cmdlet) cd
в процессе оболочки. Однако, поскольку PowerShell основан на .NET Framework и имеет другую архитектуру, чем предыдущие оболочки, все командлеты PowerShell, такие как ls
, rm
и т. Д. запустить в процессе оболочки. Конечно, это неверно для устаревших команд, которые по-прежнему выполняются в отдельном процессе.
A каталог - это логический раздел файловой системы, используемый для хранения файлов. Каталоги могут также содержать другие каталоги. Команду cd
можно использовать для перехода в подкаталог, возврата в родительский каталог, полного возврата в корневой каталог или перехода в любой заданный каталог.
Рассмотрим следующий подраздел файловой системы Unix, который показывает домашний каталог пользователя (представленный как ~
) с файлом text.txt
и три подкаталога.
~
). Оттуда дерево может распространяться на другие подкаталоги и / или файлы. Если текущий рабочий каталог пользователя является домашним каталогом (~
), введите команду ls
, а затем cd games
может выдать следующую расшифровку:
user @ wikipedia: ~ $ ls workreports games encyclopedia text.txt user @ wikipedia: ~ $ cd games user @ wikipedia: ~ / games $
Пользователь сейчас в каталоге "игры".
Подобный сеанс в DOS (хотя концепция «домашнего каталога» может не применяться, в зависимости от конкретной версии) будет выглядеть так:
C:\>dir workreportsсреда, 9 октября, 9:01 игры вторник, 8 октября, 14:32 энциклопедия понедельник, 1 октября, 10:05 текст txt 1903, четверг, 10 октября 12:43 C: \>cd games C: \ games>
DOS поддерживает отдельные рабочие каталоги для каждого диска с буквами , а также имеет понятие текущего рабочего диска. Команда cd
может использоваться для изменения рабочего каталога рабочего диска или другого диска с буквами. Ввод буквы диска в качестве отдельной команды изменяет рабочий диск, например С:
; в качестве альтернативы cd
с переключателем / d
может использоваться для смены рабочего диска и рабочего каталога этого диска за один шаг. Современные версии Windows имитируют это поведение для обратной совместимости в CMD.EXE.
. Обратите внимание, что выполнение cd
из командной строки без аргументов имеет разные эффекты в разных операционных системах. Например, если cd
выполняется без аргументов в DOS, OS / 2 или Windows, отображается текущий рабочий каталог (эквивалент Unix pwd
). Если cd
выполняется без аргументов в Unix, пользователь возвращается в домашний каталог.
Выполнение команды cd
в сценарии или пакетном файле также имеет разные эффекты в разных операционных системах. В DOS текущий каталог вызывающего может быть напрямую изменен с помощью этой команды командным файлом . В Unix текущий каталог вызывающего абонента не изменяется при вызове скриптом команды cd
. Это связано с тем, что в Unix сценарий обычно выполняется в подоболочке .
cd
сам по себе или cd ~
всегда будет указывать вам в вашем домашнем каталоге.cd.
оставит вас в том же каталоге, в котором вы сейчас находитесь (т.е. ваш текущий каталог не изменится). Это может быть полезно, если внутренний код вашей оболочки не может работать с каталогом, в котором вы воссоздаете; запуск cd.
поместит вашу оболочку в воссозданный каталог.cd ~ username
поместит вас в домашний каталог имени пользователя.cd dir
(без /
) поместит вас в подкаталог; например, если вы находитесь в / 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
. Вы можете использовать это для переключения между двумя каталогами.-p
Распечатать окончательный стек каталогов, как и каталоги.-n
Записи обертываются до того, как достигнут края экрана.-v
записи печатаются по одной в строке, им предшествуют их позиции в стеке.cd \
(DOS и Только для Windows) возвращается в корневой каталог. Следовательно, команда cd \ subdir
всегда переводит пользователя в указанный подкаталог в корневом каталоге, независимо от того, где он находится на момент выполнения команды.В протоколе передачи файлов соответствующая команда записывается в потоке управления как CWD
, но доступна как cd
в большинстве клиентов программы командной строки. У некоторых клиентов также есть lcd
для изменения рабочего каталога l на месте.
среды численных вычислений MATLAB и GNU Octave включают функцию cd
с аналогичной функциональностью. Эта команда также относится к интерпретаторам командной строки другого прикладного программного обеспечения.
В Викиучебнике есть книга по теме: Руководство по командам Windows |
Викибуке Руководство по Unix есть страница по теме: Команды |
cd
: изменить рабочий каталог - Справочник по командам и утилитам, Единая спецификация UNIX, выпуск 7 из Открытая группа