Сегодня в практически в любой современной ОС есть удобный графический файловые менеджер: с вкладками, функциями предварительного просмотра файлов и удобными контекстными меню. Но бывают ситуации, когда без командной строки не обойтись.
Во-первых, это работа по 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 — посмотреть, какие папки сейчас лежат в стеке.
Удобно, если вы работаете сразу в нескольких местах и хотите быстро переключаться туда-сюда.
Навигация «по памяти»: zoxide, autojump, z
Эти утилиты запоминают, где вы бываете чаще всего. Потом достаточно ввести часть имени папки:
z proj
и вы окажетесь, например, в ~/work/projects/myproject.
Это экономит время, когда каталог глубоко «спрятан» и каждый раз писать путь долго.
Поиск с выбором: fzf
fzf — команда для поиска по фрагментам имен файлов. Работает это так: вы вводите кусочек названия, а программа находит совпадения и показывает список. Стрелками выбираете нужный каталог — и сразу туда попадаете.
Очень выручает, когда вы не помните точное имя или у вас десятки похожих папок.
4. Текстовые файловые менеджеры
Это программы похожи на классические файловые менеджеры , только в терминале. Вы можете перемещаться по папкам стрелками, открывать и просматривать файлы.
cd — это основа навигации в Linux: простая команда, без которой не обойтись ни новичку, ни опытному администратору. А вы чаще пользуетесь только базовым cd или уже подключаете инструменты вроде zoxide и fzf?