TGViewer
🐧 Linux Junior. Программирование под Linux. 🐧 Linux Junior. Программирование под Linux. @juniorlinux · 3.08K subscribers
Post #565 1.07K
🚀 Перемещайся по файловой системе молниеносно: CDPATH

Многие знают про:

🔴 автодополнение по TAB,
🔴 ~ для домашнего каталога,
🔴 cd - — переключение между текущей и предыдущей папками:

$ cd -
/home/xoadmin/Documents
$ cd -
/home/xoadmin/Music


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

💭 Проблема

Допустим, вы часто заходите в каталог
/home/smith/Family/Memories/Photos

Чтобы попасть туда, каждый раз приходится писать:

cd ~/Family/Memories/Photos


А хотелось бы просто:

cd Photos


Однако, если в текущей папке нет подкаталога Photos, Bash выдаст:

bash: cd: Photos: No such file or directory


📎 Решение: CDPATH

Переменная CDPATH говорит Bash, где ещё искать каталоги при выполнении cd.

CDPATH=$HOME/Family/Memories


Теперь, где бы вы ни находились:

$ pwd
/etc
$ cd Photos
/home/smith/Family/Memories/Photos


Работает!

🙂 Несколько путей

Можно указать сразу несколько мест (через двоеточие):

CDPATH=$HOME:$HOME/Projects:$HOME/Family/Memories:/usr/local


Bash будет проверять их по порядку. Первое совпадение — и переход произойдёт именно туда.

⚙️ Постоянная настройка

Чтобы не прописывать CDPATH вручную при каждом запуске терминала, добавьте строку в ~/.bashrc (для конкретного пользователя) или /etc/profile (для всех пользователей системы).

export CDPATH=$HOME:$HOME/Sources:/usr/local


🔍 Пример из практики

Пусть у вас есть каталог ~/Sources, где хранятся проекты:

echo $CDPATH
/home/xoadmin/Sources


Теперь:

$ pwd
/home/xoadmin/Music
$ cd picom
/home/xoadmin/Sources/picom


Без лишнего ввода — просто cd picom.

⚠️ Пара моментов

Если каталог найден через CDPATH, cd выведет полный путь:

$ cd Photos
/home/smith/Family/Memories/Photos


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

Текущее место (.) можно тоже включить в CDPATH, чтобы cd вела себя стандартно:

export CDPATH=.:$HOME/Projects


🟢 В сухом остатке

CDPATH — это как "умный поиск" для cd. Если вы часто прыгаете между проектами, архивами или каталогами с данными, он экономит десятки нажатий и делает навигацию в консоли почти мгновенной.
  • 👍 10
  • 🔥 3
  • ❤ 2
More from @juniorlinux
  1. Sep 28, 2026⚙️ Как устроена автоматизация задач через cron в Linux Если вам нужно регулярное выполнени…
  2. Sep 22, 2026По умолчанию rsync только добавляет и обновляет файлы, но не трогает то, что было удалено…
  3. Sep 22, 2026❓ Как удалить на приемнике файлы, которых больше нет в источнике, при синхронизации через…
  4. Sep 16, 2026Post #589
  5. Sep 10, 2026Как распаковать .tar.gz, .tar.bz2, .tar.xz и .tar.zst в Linux Для работы с архивами в Linu…
  6. Sep 4, 2026Посмотреть очередь задач, созданных через at, можно командой atq (или at -l). Она выведет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →