Cd — Команда смены директории — различия между версиями

Материал из VAAL-WIKI
Перейти к: навигация, поиск
(Новая страница: «Краткое описание утилиты cd»)
 
 
Строка 1: Строка 1:
Краткое описание утилиты cd
+
'''<tt>cd</tt>''' — в DOS/Windows также доступная как '''<tt>chdir</tt>''' (от англ. '''ch'''ange '''dir'''ectory — изменить каталог) — команда командной строки для изменения текущего рабочего каталога в Unix, DOS и других операционных системах. Она также доступна для использования в скриптах командного интерпретатора или в пакетных файлах. <code>'''cd'''</code> обычно встроена в оболочки, такие как bash(Bourne shell), csh, tcsh, где вызывается POSIX-функция языка Си <code>chdir()</code> и в DOS.
 +
 
 +
== Использование ==
 +
Каталог как логическая секция файловой системы используется для содержания файлов. Каталоги могут также содержать и другие каталоги. Команда <code>'''cd'''</code> может быть использована для перехода во вложенные каталоги (подкаталоги), перехода обратно в родительский каталог, перехода в корневой каталог (<tt>/</tt> в UNIX, <tt>\</tt> в DOS) или для перехода в любой другой каталог.
 +
 
 +
Пусть имеются следующие подкаталоги из файловой системы Unix, которые расположены в домашнем каталоге пользователя (обозначенного как <tt>~</tt>) с файлом (<tt>text.txt</tt>) и тремя подкаталогами.
 +
 
 +
[[Файл:chdir example.png|center|framed|Пользовательский вид файловой системы Unix-подобных систем, начинающейся с домашнего каталога (обозначаемого <tt>~</tt>). Данные три каталога могут содержать другие подкаталоги и/или файлы]]
 +
Если текущий пользовательский рабочий каталог — это домашний (<tt>~</tt>), тогда ввод команды <code>[[Ls_—_Команда_печати_содержимого_каталога|ls]]</code> с последующим <code>cd games</code> может привести к следующему:
 +
<pre>
 +
me@host:~$ ls
 +
workreports games encyclopedia text.txt
 +
me@host:~$ cd games
 +
me@host:games$
 +
</pre>
 +
Рабочий каталог изменится на <tt>~/games</tt>.
 +
 
 +
Для перехода на каталог выше:
 +
<pre>
 +
user@debian:/mnt/multi$cd ..
 +
user@debian:/mnt$ 
 +
</pre>
 +
Подобным образом в сессии DOS (общепринятый «домашний каталог» отсутствует и зависит от конкретной реализации) можно наблюдать следующее:
 +
<pre>
 +
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>
 +
</pre>
 +
<tt>cd</tt> даёт различный эффект в разных операционных системах, если её использовать без аргументов. Например, если выполнить без аргументов в DOS, будет показан полный путь к текущему рабочему каталогу, а в Unix осуществится переход в домашний каталог. Эффект от команды <tt>cd</tt> в различных скриптах или пакетах также варьируется.
 +
 
 +
Например, в DOS множно напрямую изменить рабочий каталог из пакетного файла посредством команды, а в Unix вызов в скрипте <tt>cd</tt> как правило не меняет рабочий каталог пользователя (поскольку скрипт выполняется отдельной оболочкой с собственным адресным пространством).
 +
 
 +
== Другие упоминания ==
 +
<code>chdir()</code> (или <code>CHDIR()</code>, в некоторых случаях регистрозависимо) также может быть одной из функций изменения каталога в языках программирования, например Perl, стандартных библиотеках Cи, Visual Basic и т. д.

Текущая версия на 16:27, 23 марта 2017

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

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

Каталог как логическая секция файловой системы используется для содержания файлов. Каталоги могут также содержать и другие каталоги. Команда 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, стандартных библиотеках Cи, Visual Basic и т. д.