Введение

Последовательность, идентифицирующая местоположение в иерархии каталогов, – это переменная среды. Путь (или путь к файлу, файловый путь, pathname или подобное) – это строка символов, используемая для однозначной идентификации местоположения в структуре каталогов. Он формируется путем следования иерархии дерева каталогов, в которой компоненты, разделенные разделителем, представляют каждый каталог. Наиболее распространенными разделителями являются прямой слеш ("/"), обратный слеш ("\") или двоеточие (":"), хотя некоторые операционные системы могут использовать другие разделители. Пути широко используются в информатике для представления отношений между каталогами и файлами, типичных для современных операционных систем, и необходимы при создании универсальных указателей ресурсов (URL). Ресурсы могут быть представлены как абсолютными, так и относительными путями.

История

Multics впервые представила иерархическую файловую систему с каталогами (разделенными символом ">") в середине 1960-х годов. Около 1970 года Unix ввел символ слэша ("/") в качестве разделителя каталогов. В 1981 году была выпущена первая версия Microsoft DOS. MS DOS 1.0 не поддерживала файловые каталоги. Более того, значительная часть утилит, поставляемых с MS DOS 1.0, была взята от IBM, и их синтаксис командной строки использовал символ слэша в качестве префикса параметра. Например, команда dir /w запускает dir с опцией широкого формата вывода. Это использование слэша до сих пор встречается в командном интерфейсе Microsoft Windows. В отличие от этого, Unix использует символ дефиса ("-") в качестве префикса параметра командной строки. Когда поддержка каталогов была добавлена в MS DOS в версии 2.0, символ "/" был сохранен в качестве префикса параметра для обеспечения обратной совместимости. Microsoft выбрала символ обратной косой черты ("\") в качестве разделителя каталогов, который визуально похож на прямую косую черту, хотя более современные версии Windows нечувствительны к типу косой черты, позволяя использовать оба типа в пути к файлу.

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

Абсолютный или полный путь указывает на одно и то же местоположение в файловой системе, независимо от текущего рабочего каталога. Для этого он должен включать корневой каталог. В отличие от него, относительный путь начинается от некоторого заданного рабочего каталога, что позволяет избежать указания полного абсолютного пути. Имя файла можно рассматривать как относительный путь, отсчитываемый от текущего рабочего каталога. Если текущий рабочий каталог не является родительским каталогом файла, то при обращении к файлу по имени возникнет ошибка "Файл не найден".

Базовый URL

Базовый URL — это постоянная часть адреса API, к которой добавляются пути к конечным точкам.

Пути в языках программирования

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

uxFile = fopen("project/readme.txt", "r")

winFile = fopen("C:\\Program Files\\bin\\config.bat", "r")

Этот прямой доступ к путям операционной системы может снижать переносимость программ. Для поддержки переносимости Java использует File.separator для различения путей, разделенных символами "/" и "\\". Seed7 использует иной подход к представлению путей. В Seed7 все пути используют соглашения Unix, независимо от операционной системы. В Windows происходит преобразование (например, путь /c/users преобразуется в c:\users).