Найти в Дзене
UFO.Hosting

cd в Linux: команда, без которой не обойтись в терминале

Сегодня в практически в любой современной ОС есть удобный графический файловые менеджер: с вкладками, функциями предварительного просмотра файлов и удобными контекстными меню. Но бывают ситуации, когда без командной строки не обойтись. Во-первых, это работа по SSH на сервере. VPS и Dedicated поставляются без графического окружения для экономии ресурсов. Поэтому никакого Konqueror или Nautilus — только командная строка, только хардкор. Во-вторых, терминал незаменим, если скорость и точность критично важны. Например, если нужно быстро повторить шаги из инструкции, переименовать сотню файлов по маске или запустить скрипт деплоя. В таких случаях консоль экономит время и сводит риск ошибок к минимуму. Навигацию в терминале сложно представить без команды cd — это базовая утилита, с помощью которой меняется текущий каталог. А по промокоду DZEN вы сможете получить скидку 10% при заказе выделенных и виртуальных серверов от UFO.Hosting. Используйте его при покупке услуги и получите надежную базу
Оглавление

Сегодня в практически в любой современной ОС есть удобный графический файловые менеджер: с вкладками, функциями предварительного просмотра файлов и удобными контекстными меню. Но бывают ситуации, когда без командной строки не обойтись.

Во-первых, это работа по SSH на сервере. VPS и Dedicated поставляются без графического окружения для экономии ресурсов. Поэтому никакого Konqueror или Nautilus — только командная строка, только хардкор.

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

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

А по промокоду DZEN вы сможете получить скидку 10% при заказе выделенных и виртуальных серверов от UFO.Hosting. Используйте его при покупке услуги и получите надежную базу для развития ваших проектов.

Основные команды cd — что нужно знать новичку

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

→ Домашний каталог:

cd # то же, что cd ~

→ Назад в предыдущую директорию:

cd -

→ На уровень выше или на два уровня:

cd ..

cd ../..

→ В корень файловой системы:

cd /

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

cd /var/log # абсолютный путь (начинается с /)

cd ../build # относительный путь — от текущего каталога

→ К домашнему каталогу другого пользователя (если есть доступ):

cd ~username

→ Сложные имена каталогов:

если имя начинается с дефиса, используйте --:

cd -- -cache

если в имени есть пробелы, заключите его в кавычки:

cd "My Projects/site A"

CDPATH: навигация по избранным каталогам

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

Пример для ~/.bashrc или ~/.zshrc:

export CDPATH=".:~/work:~/playground"

Теперь команда cd myproject найдёт ~/work/myproject, даже если вы находитесь в другой директории. Важно оставлять точку (.) первой — так оболочка сначала проверит текущий каталог и не отправит вас в «неожиданное путешествие».

Частые ошибки и их решения

Даже если вы хорошо освоили cd, иногда она может «выбрасывать» непонятные сообщения. Чаще всего это не баги, а обычные ситуации, с которыми сталкивается каждый новичок. Давайте разберем самые частые ошибки и посмотрим, как их быстро решить.

No such file or directory

Сообщение переводится как «Такого файла или каталога нет». Это значит, что путь, который вы указали в cd, не существует. Чаще всего причина в опечатке или неверном относительном пути.

Что делать:

1. Убедитесь, где вы находитесь сейчас:

pwd

2. Посмотрите список файлов и папок в текущем каталоге:

ls

3. Сверьтесь с именем нужной папки и повторите команду без ошибок.

Permission denied

Это значит, что у вас нет прав зайти в этот каталог. Такое бывает, если каталог принадлежит другому пользователю или в его настройках запрещён вход.

Что делать:

1. Проверьте права доступа и владельца:

ls -ld имя_каталога

2. Если вы администратор, можно дать себе доступ:

chmod +x имя_каталога

Альтернативный вариант — смена пользователя:

sudo chown ваш_пользователь имя_каталога

Путаница с симлинками

Симлинк (symbolic link) — «ярлык», который указывает на другой каталог. Иногда вы думаете, что находитесь в одной папке, а на деле попадаете в другую.

Что делать:

1. Чтобы идти по ярлыку (по умолчанию):

cd -L путь

2. Чтобы попасть в настоящий каталог, на который ссылается ярлык:

cd -P путь

3. Чтобы проверить, где вы реально находитесь:

pwd -P

Ошибки с шаблонами (*, ?)

Оболочка подставляет вместо * и ? подходящие файлы/папки ещё до того, как запускается команда cd.

Например:

cd project*

Если в папке есть project1, project2, оболочка подставит их. Если ничего не совпало, то команда выдаст ошибку.

Что делать:

Сначала проверьте совпадения:

ls project*

Далее уточните имя каталога или используйте правильный шаблон.

Чем можно заменить или дополнить cd

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

Стек директорий: pushd, popd, dirs

Представьте стопку книг: можно положить книгу сверху и потом взять её обратно. Так же работает стек директорий:

→ pushd каталог — зайти в папку и добавить её в стек.

→ popd — вернуться назад и убрать папку из стека.

→ dirs — посмотреть, какие папки сейчас лежат в стеке.

Удобно, если вы работаете сразу в нескольких местах и хотите быстро переключаться туда-сюда.

Эти утилиты запоминают, где вы бываете чаще всего. Потом достаточно ввести часть имени папки:

z proj

и вы окажетесь, например, в ~/work/projects/myproject.

Это экономит время, когда каталог глубоко «спрятан» и каждый раз писать путь долго.

Поиск с выбором: fzf

fzf — команда для поиска по фрагментам имен файлов. Работает это так: вы вводите кусочек названия, а программа находит совпадения и показывает список. Стрелками выбираете нужный каталог — и сразу туда попадаете.

Очень выручает, когда вы не помните точное имя или у вас десятки похожих папок.

4. Текстовые файловые менеджеры

Это программы похожи на классические файловые менеджеры , только в терминале. Вы можете перемещаться по папкам стрелками, открывать и просматривать файлы.

Двухпанельные менеджеры вроде Midnight Commander позволяют работать с двумя директориями одновременно.
Двухпанельные менеджеры вроде Midnight Commander позволяют работать с двумя директориями одновременно.

cd — это основа навигации в Linux: простая команда, без которой не обойтись ни новичку, ни опытному администратору. А вы чаще пользуетесь только базовым cd или уже подключаете инструменты вроде zoxide и fzf?