Гид по технологиям

Команда cd в Linux — полное руководство

6 min read Linux Обновлено 31 Dec 2025
Команда cd в Linux — полное руководство
Команда cd в Linux — полное руководство

Команда cd меняет текущую рабочую директорию в терминале. Используйте абсолютные пути (начинаются с /) или относительные (от текущей папки). Специальные токены: ~ для домашней, / для корня, .. для родительской и - для предыдущей директории. Для папок с пробелами оборачивайте путь в кавычки или экранируйте пробелы.

Как использовать команду cd в терминале Linux

В этой статье подробно объяснено, как работает cd, какие бывают варианты использования, типичные ошибки и готовые шаблоны команд для повседневной работы. В конце — краткие контрольные списки и шпаргалка.

Введение

Навигация по файловой системе — одна из самых базовых задач при работе с Linux. Графические файловые менеджеры делают это визуально, а командная строка даёт больше контроля и скорость для повторяющихся действий. Команда cd (Change Directory) — основной инструмент для перехода между папками в оболочке (bash, zsh и др.).

Определение: cd — команда оболочки для смены текущей рабочей директории в сессии терминала.

Важно: cd обычно реализована как встроенная команда (builtin) оболочки, потому что смена директории должна воздействовать на текущий процесс оболочки.

Основной синтаксис

cd [путь]

Здесь [путь] — абсолютный или относительный путь к директории. В большинстве случаев дополнительных опций у cd нет; поведение зависит от оболочки.

Краткий пример:

cd /home/username/Documents
cd ~/Desktop
cd ..
cd -

Абсолютные и относительные пути

  • Абсолютный путь начинается с / и даёт полный маршрут от корня файловой системы, например /home/username/Desktop.
  • Относительный путь задаётся относительно текущей директории. Например, если вы находитесь в /home/username, команда cd Desktop приведёт в /home/username/Desktop.

Ментальная модель: представьте дерево каталогов. Абсолютный путь — это путь от ствола дерева до листа. Относительный — от текущей ветки.

Примеры:

# абсолютный
cd /var/log

# относительный
cd ../other-folder

Домашняя директория и тильда

~ (тильда) — сокращение для домашней директории текущего пользователя. Она разворачивается оболочкой.

cd ~
cd ~/Downloads
cd ~otheruser

Совет: использовать ~ удобно в скриптах, если путь должен быть привязан к пользовательской директории.

Переход в корневую директорию

Слеш / обозначает корень всей файловой системы. Чтобы перейти в корень:

cd /

Переход в предыдущую директорию

Гипен - возвращает вас в директорию, в которой вы были до последней команды cd. Это удобно при переключении между двумя папками.

cd /var/log
cd /etc
cd -   # вернёт в /var/log и выведет путь

Примечание: многие оболочки отображают путь при выполнении cd -.

Переход в родительскую директорию

.. обозначает родительскую директорию. . обозначает текущую.

cd ..
cd ../../
cd ../folder

Можно использовать несколько .. подряд для подъёма на несколько уровней.

Имена папок с пробелами и специальными символами

Если в имени каталога есть пробелы или другие специальные символы, используйте одно из решений:

  • Обернуть путь в одиночные или двойные кавычки:
cd 'Important Documents'
cd "My Projects"
  • Экранировать пробел обратной косой чертой:
cd Important\ Documents

Важно: кавычки зачастую удобнее и безопаснее, особенно если в имени есть символы вроде & или $.

Дополнительные приёмы и полезные шаблоны

  • Быстрый переход в корневую домашнюю папку другого пользователя:
cd ~alice
  • Комбинирование с командой ls для проверки содержимого:
cd /var && ls -la
  • Использование автодополнения (Tab) для сокращения ввода и избежания ошибок в именах файлов.

Когда cd не срабатывает и как диагностировать

Частые причины отказа команды cd:

  • Неправильный путь или опечатка. Ошибка: bash: cd: путь: Нет такого файла или каталога.
  • Попытка перейти в файл вместо каталога. Ошибка: bash: cd: filename: Not a directory.
  • Недостаточно прав доступа. Ошибка: bash: cd: каталог: Permission denied.

Диагностика:

  • Проверьте существование папки: ls -ld путь
  • Посмотрите права: ls -ld путь
  • Если нужно, используйте sudo для доступа к защищённым каталогам (только если это безопасно): sudo -i && cd /protected/path

Важно: sudo cd не работает напрямую, потому что sudo запускает новую оболочку как подпроцесс. Вместо этого используйте sudo -i для входа в интерактивную оболочку root.

Альтернативы и расширенные инструменты

  1. pushd / popd
  • pushd добавляет текущую директорию в стек и переходит в указанную. popd возвращает из стека. Удобно при переключении между несколькими папками.
pushd /etc
# работаем в /etc
pushd /var/log
# возвращаемся в /etc
popd
  1. cdargs, autoenv, z
  • cdargs и z позволяют быстро прыгать по часто используемым путям.
  • autoenv автоматически выполняет скрипты при заходе в директорию (используется осторожно из соображений безопасности).
  1. Файловые менеджеры и интегрированные терминалы
  • Иногда удобнее открыть файловый менеджер (Nautilus, Dolphin) и вызвать терминал на месте (обычно пункт «Открыть терминал»).

Типичные ошибки и как их избегать

  • Ввод пути, начинающегося с /, когда нужен относительный путь. Помните: / в начале делает путь абсолютным.
  • Попытка использовать sudo cd. Решение: sudo -i или su -
  • Неправильное экранирование пробелов. Используйте автодополнение или кавычки.

Шпаргалка команд

cd /              # перейти в корень
cd ~              # перейти в домашнюю директорию
cd                # без аргументов тоже переходит в домашнюю
cd -              # перейти в предыдущую директорию
cd ..             # подняться на уровень вверх
cd ../../         # подняться на два уровня
cd ~/projects     # перейти в projects в домашней
cd 'My Folder'    # папка с пробелом

Факты в одном месте:

  • Специальные токены: ~, /, ., .., -
  • cd обычно встроена в оболочку
  • pushd/popd управляют стеком директорий

Роли и чек-листы

Для новичка:

  • Научитесь переходить в домашнюю и родительскую директорию.
  • Попрактикуйтесь с относительными путями.
  • Используйте автодополнение Tab.

Для разработчика:

  • Освойте pushd/popd для переключения между проектами.
  • Настройте алиасы для часто используемых путей: alias proj=”cd ~/projects/myproject”

Для системного администратора:

  • Используйте sudo -i для переключения в root при необходимости.
  • Проверяйте права доступа перед переходом в системные каталоги.

Критерии приёмки

  • Команда cd должна менять рабочую директорию оболочки. Проверка: выполнить cd путь && pwd и сверить путь.
  • Для папки с пробелом переход через кавычки должен работать: cd “My Folder” && pwd завершится без ошибок.
  • cd - должно возвращать в предыдущую директорию и выводить её путь.

Примеры сценариев и тесты

  1. Переключение на домашнюю директорию
cd ~
pwd  # ожидается /home/youruser
  1. Переход в родительскую директорию
cd /usr/bin
cd ..
pwd  # ожидается /usr
  1. Переход в директорию с пробелом
mkdir -p "Test Folder"
cd "Test Folder"
pwd  # ожидается путь к Test Folder
  1. Использование pushd/popd
pushd /tmp
pushd /var
popd  # вернёт в /tmp

Когда не стоит использовать cd

  • В скриптах, которые должны работать в контексте вызывающей оболочки, использование cd меняет окружение. В таких сценариях лучше запускать команды с полными путями или экспортировать нужные переменные.
  • Не применяйте автоматический запуск неизвестных скриптов при заходе в директорию (autoenv) без проверки их содержимого.

Безопасность и приватность

  • Никогда не выполняйте автоматически команды, найденные в чужих директориях.
  • Будьте осторожны с автозагрузкой скриптов при входе в директорию (autoenv) — это может быть вектором атаки.

Краткое резюме

Команда cd — простой и надёжный инструмент для навигации по системе. Освойте абсолютные и относительные пути, специальные токены (~, /, .., -), а также методы работы с пробелами и правами доступа. Для частой навигации используйте pushd/popd или утилиты вроде z, а в скриптах предпочитайте явные пути.

Важно

Практикуйтесь в безопасном окружении и применяйте автодополнение, чтобы снизить количество опечаток.

1‑строчный глоссарий:

  • cd — смена директории; ~ — домашняя; / — корень; .. — родитель; - — предыдущая директория.

Конец статьи.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как добавлять и управлять виджетами на Android
Android.

Как добавлять и управлять виджетами на Android

Удалить куки для конкретного сайта — Chrome, Firefox, Edge
Браузеры

Удалить куки для конкретного сайта — Chrome, Firefox, Edge

Как подключить контроллер PS3 к Android
Гайды

Как подключить контроллер PS3 к Android

Конвертация FLAC в MP3 бесплатно
Аудио

Конвертация FLAC в MP3 бесплатно

Как хакеры крадут Wi‑Fi пароли и как защититься
Кибербезопасность

Как хакеры крадут Wi‑Fi пароли и как защититься

Автоматическое резервное копирование реестра в Windows 11
Windows

Автоматическое резервное копирование реестра в Windows 11