pathname: root-nameopt root-directoryopt relative-path
root-name: operating system dependent sequences of characters implementation-defined sequences of characters
root-directory: directory-separator
relative-path: filename filename directory-separator relative-path an empty path
filename: non-empty sequence of characters other than directory-separator characters
directory-separator: preferred-separator directory-separatoropt fallback-separator directory-separatoropt
preferred-separator: operating system dependent directory separator character
fallback-separator: /, if preferred-separator is not /
[ Note:
Операционные системы часто накладывают ограничения на символы, которые могут использоваться в файле filename. Для широкой переносимости пользователи могут захотеть ограничить количество filename
символов набором символов переносимого имени файла POSIX: ]
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -
— end note
За исключением a root-name, несколько следующих друг за другом directory-separatorсимволов считаются одним directory-separatorсимволом.
Имя файла dot ([fs.def.filename]) рассматривается как ссылка на текущий каталог. Имя файла dot-dot ([fs.def.filename]) рассматривается как ссылка на родительский каталог. То , что имя файл dot-dot относится к относительно root-directoryявляется реализацией. Определенные имена файлов могут иметь особое значение для конкретной операционной системы.
A root-nameопределяет начальное местоположение для разрешения имени пути ([fs.def.pathres]). Если нет зависимостей от операционной системы root-names, требуется по крайней мере одна реализация, определяемая root-name. [ Note: Многие операционные системы определяют имя, начинающееся с двух directory-separatorсимволов, как, root-nameкоторое идентифицирует расположение сети или других ресурсов. Некоторые операционные системы определяют одну букву, за которой следует двоеточие, как спецификатор диска - root-name идентифицирующий конкретное устройство, такое как диск. ] — end note
Если a root-nameв остальном неоднозначно, выбирается вариант с самой длинной последовательностью символов. [ Note: В операционной системе, подобной POSIX, невозможно иметь root-nameи relative-path без промежуточных root-directoryэлементов. ] — end note