Что такое абсолютный и относительный путь?

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

Что такое файловая система и как она устроена?

Файловая система (англ. file system) – это средство для организации хранения файлов на каком-либо носителе в соответствии со строгой иерархией элементов (дисков, папок, файлов и т.д.).

В примере ниже, мы имеем:

  • Диск C: на котором размещается папка TopFolder;
  • Папка TopFolder содержит папку SubFolder и файл FileInTopFolder.html;
  • Папка SubFolder содержит файл FileInSubFolder.html.

строгая иерархия элементов в файловой системе
Строгая иерархия элементов в файловой системе

Примечание: файловая система представляет собой древовидную структуру. Корнем служит – диск, ветви – папки, а листики – файлы.

В Windows принято обозначать диск одной из букв алфавита, с символом двоеточия (:) на конце. Элементы же файловой системы разделяются символом обратной косой черты (\).

В Unix используется один общий корневой каталог, обозначающийся символом косой черты (/). Диски обозначаются, как и папки. Элементы же файловой системы разделяются символом косой черты (/).

Примечание: в примерах ниже, я буду рассматривать построение абсолютного и относительного пути в MS Windows.

Что такое абсолютный путь к файлу?

Абсолютным (англ. absolute path) считается полный путь к файлу или папке от корневого (зачастую, диска) элемента файловой системы.

В примере ниже, абсолютный путь к файлу FileInTopFolder.html начинается с корневого элемента файловой системы – диска C:, потом идёт папка TopFolder и заканчивается всё именем файла.

абсолютный путь к файлу
Абсолютный путь к файлу

Примечание: абсолютный путь предпочтителен в том случае, когда не планируется перемещение файлов и/или папок.

Что такое относительный путь к файлу?

Относительным (англ. relative path) считается путь к одному из элементов файловой системы относительно места расположения другого элемента файловой системы.

В примере ниже, относительный путь к файлу FileInSubFolder.html от файла FileInTopFolder.html проходит через папку SubFolder и заканчивается именем файла.

относительный путь к файлу
Относительный путь к файлу

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

Для того чтобы указать путь от ниже стоящего файла к выше стоящему файлу по иерархии файловой системы нужно использовать «выход из папки» имеющий имя из двух точек (..).

В примере ниже, относительный путь к файлу FileInTopFolder.html от файла FileInSubFolder.html осуществляется через «выход» из папки SubFolder и заканчивается именем файла.

выход из папки
выход из папки

Примечание: относительный путь предпочтителен в том случае, когда планируется перемещение файлов и/или папок, но с сохранением их иерархии.