cd (команда)

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

cd

cd, в DOS/Windows также доступная как chdir (англ. change directory — изменить каталог) — команда командной строки для изменения рабочего каталога в Unix, DOS и других операционных системах. Она также доступна для использования в скриптах командного интерпретатора или в пакетных файлах. cd обычно встроена в оболочки, такие как Bourne shell, csh, tcsh, bash (где вызывается POSIX-функция языка Си chdir()) и в DOS COMMAND.COM.

Использование

Каталог как логическая секция файловой системы используется для содержания файлов. Каталоги могут также содержать и другие каталоги. Команда cd может быть использована для перехода во вложенные каталоги (подкаталоги), перехода обратно в родительский каталог, перехода в корневой каталог (/ в UNIX, \ в DOS) или для перехода в любой другой каталог.

Пусть имеются следующие подкаталоги из файловой системы Unix, которые расположены в домашнем каталоге пользователя (обозначенного как ~) с файлом (text.txt) и тремя подкаталогами.

Пользовательский вид файловой системы Unix-подобных систем, начинающейся с домашнего каталога (обозначаемого ~). Данные три каталога могут содержать другие подкаталоги и/или файлы

Если текущий пользовательский рабочий каталог — это домашний (~), тогда ввод команды ls с последующим cd games может привести к следующему:

me@host:~$ ls
workreports games encyclopedia text.txt
me@host:~$ cd games
me@host:games$

Рабочий каталог изменится на ~/games.

Для перехода на каталог выше:

user@debian:/mnt/multi$cd ..
user@debian:/mnt$  

Подобным образом в сессии DOS (общепринятый «домашний каталог» отсутствует и зависит от конкретной реализации) можно наблюдать следующее:

C:\>dir
workreports        <DIR>       Wed Oct 9th   9:01
games              <DIR>       Tue Oct 8th  14:32
encyclopedia       <DIR>       Mon Oct 1st  10:05
text        txt           1903 Thu Oct10th  12:43
C:\>cd games
C:\games>

cd даёт различный эффект в разных операционных системах, если её использовать без аргументов. Например, если выполнить без аргументов в DOS, будет показан полный путь к текущему рабочему каталогу, а в Unix осуществится переход в домашний каталог. Эффект от команды cd в различных скриптах или пакетах также варьируется.

Например, в DOS можно напрямую изменить рабочий каталог из пакетного файла посредством команды, а в Unix вызов в скрипте cd, как правило, не меняет рабочий каталог пользователя (поскольку скрипт выполняется отдельной оболочкой с собственным адресным пространством).

Другие упоминания

chdir() (или CHDIR(), в некоторых случаях регистрозависимо) также может быть одной из функций изменения каталога в языках программирования, например Perl, стандартных библиотеках Си, Visual Basic и т. д.

См. также