Linux Labs

Первые шаги / Ступень 5 из 15

Навигация и пути

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 8 · теория · 4 мин

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

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

Все файлы и каталоги в Linux образуют одно дерево. Его начало — корень, каталог /. В корне лежат home, etc и другие каталоги, в home — домашние каталоги пользователей, и так далее вглубь. Путь перечисляет каталоги по дороге к файлу через /.

Абсолютный путь начинается с / и отсчитывается от корня. /home/student/path-lab/project/config/site.conf ведёт к одному и тому же файлу, в каком бы каталоге ты ни был.

Относительный путь начинается с имени и отсчитывается от текущего каталога. Из ~/path-lab/project путь config/site.conf ведёт к файлу коллеги. Из ~/path-lab он ведёт в ~/path-lab/config, а такого каталога нет.

Путь Отсчитывается от
абсолютный, /home/student/path-lab корня /
относительный, project/config текущего каталога

~ в начале пути оболочка заменяет домашним каталогом: ~/path-lab — то же самое, что /home/student/path-lab.

Проверь себя 1 вопрос

В инструкции сказано открыть etc/nginx/nginx.conf. Ты в /home/student. Что будет?

  • cd ~ ведёт в /home/student, где ты и так находишься. Путь сработал бы из корня, после cd /.

  • Оболочка идёт по пути от текущего каталога и ничего не ищет. Искать по имени умеет find, о нём — шаг о поиске.

  • Без / в начале путь отсчитывается от текущего каталога, и файл ищется в /home/student/etc/nginx. От корня ведёт /etc/nginx/nginx.conf.

etc/nginx/nginx.conf — относительный путь: он начинается с имени и отсчитывается от /home/student, где каталога etc нет. Нужен абсолютный /etc/nginx/nginx.conf — он работает из любого каталога.

Главное в шаге

  • Абсолютный путь начинается с / и ведёт в одно место из любого каталога.
  • Относительный путь отсчитывается от текущего каталога и меняет смысл вместе с ним.
Ubuntu 24.04
Загрузка…