PQ
PQ.Hosting

Валюта

cd в Linux: всё, что нужно знать о навигации в терминале

Автор
PQ
24 февраля 2026
4 мин чтения
764 просмотров
cd в Linux: всё, что нужно знать о навигации в терминале

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

cd — одна из первых команд, с которой сталкивается любой, кто заходит на сервер по SSH. Расшифровывается как change directory. Казалось бы, проще некуда — указал путь, перешёл. Но у команды есть несколько нюансов и сокращений, которые реально ускоряют работу в терминале.

Синтаксис

cd [путь]

Без аргументов cd переходит в домашний каталог текущего пользователя — это эквивалент cd ~.

Основные варианты использования

Переход в конкретный каталог

cd /etc/nginx

Абсолютный путь — всегда начинается с /. Не зависит от того, где находится текущий каталог.

cd logs

Относительный путь — переход внутрь подкаталога logs от текущего местоположения.

На уровень выше

cd ..

Два точки — переход в родительский каталог. Можно комбинировать:

cd ../../etc

Поднимается на два уровня вверх, затем заходит в etc.

В домашний каталог

cd

или

cd ~

Оба варианта ведут в /home/username для обычного пользователя или в /root для root.

Тильда работает и в составе пути:

cd ~/projects/myapp

В предыдущий каталог

cd -

Возвращает в каталог, в котором находились до последнего cd. Удобно, когда нужно переключаться между двумя директориями — не нужно каждый раз вводить полный путь.

cd /var/log
cd /etc/nginx
cd -          # вернулись в /var/log
cd -          # снова в /etc/nginx

💡 cd - выводит путь, в который перешли. Это поведение стандартное для bash и zsh.

В корневой каталог

cd /

Пути с пробелами

Если в названии каталога есть пробелы — нужны кавычки или экранирование:

cd "My Projects"
cd My\ Projects

На серверах имена каталогов с пробелами почти не встречаются, но знать стоит.

Полезные комбинации с другими командами

Посмотреть текущий каталог

После перехода текущий путь отображается в приглашении командной строки. Если нужно вывести явно:

pwd

Посмотреть содержимое после перехода

cd /var/log && ls -lh

&& выполняет вторую команду только если первая прошла успешно. Если каталог не существует — ls не запустится.

Переход с созданием каталога

cd не создаёт несуществующие каталоги. Для этого сначала mkdir:

mkdir -p /opt/myapp/config && cd /opt/myapp/config

Переменная CDPATH

CDPATH — это переменная окружения, которая работает для cd так же, как PATH для исполняемых файлов. Если указать в ней часто используемые каталоги, можно переходить в их подкаталоги без полного пути.

export CDPATH=/var:/etc:/home

После этого команда cd nginx сработает как cd /etc/nginx — bash сам найдёт совпадение. Если совпадений несколько — перейдёт в первое найденное.

Чтобы добавить CDPATH постоянно, нужно прописать экспорт в ~/.bashrc.

Переход в каталог по символической ссылке

cd /var/www/html

Если html — символическая ссылка на другую директорию, cd перейдёт по ней прозрачно. pwd покажет путь через ссылку, а не реальный.

Чтобы увидеть реальный путь:

pwd -P

Флаг -P разворачивает все символические ссылки.

Частые ошибки

No such file or directory

bash: cd: /etc/ngnix: No such file or directory

Опечатка в пути или каталог не существует. Проверить, что есть рядом: ls /etc/ | grep ng.

Permission denied

bash: cd: /root: Permission denied

Недостаточно прав для входа в каталог. Решается через sudo — но sudo cd не работает, так как cd — встроенная команда оболочки. Нужно либо переключиться в root:

sudo -i
cd /root

Либо сменить пользователя:

su - root

cd работает не так, как ожидалось в скрипте

В bash-скриптах cd меняет каталог только для текущего процесса. Если вызвать скрипт как дочерний процесс — изменение не сохранится в родительской оболочке. Это нормальное поведение.

Шпаргалка

Команда Что делает
cd /путь Переход по абсолютному пути
cd папка Переход по относительному пути
cd .. На уровень выше
cd ../.. На два уровня выше
cd или cd ~ В домашний каталог
cd - В предыдущий каталог
cd / В корневой каталог
cd ~/папка В подкаталог домашнего каталога

Итог

cd — простая команда, но cd - и CDPATH заметно ускоряют работу при постоянной навигации по файловой системе. На любом Linux-сервере, в том числе на VPS из каталога PQ.Hosting, поведение команды стандартное — вне зависимости от дистрибутива.

Поделиться статьей

Похожие статьи