Путь к файлу

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Путь (англ. path) — набор символов, показывающий расположение файла в файловой системе, адрес каталога.

В операционных системах UNIX разделительным знаком при записи пути является «/». В Windows — «\». В других операционных системах таким знаком может быть «:» или другой знак[источник не указан 941 день]. Эти знаки служат для разделения названия каталогов, составляющих путь к файлу.

Например, в следующей записи адресации /home/user_kolia/foo/bar.txt часть bar.txt — это имя файла, а /home/user_kolia/foo/ — путь к нему.

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

Для эффективного поиска файлов UNIX-подобные операционные системы, как правило, имеют системную переменную $PATH в командной оболочке (например, sh), которая задает перенаправления к важнейшим исполняемым файлам. Узнать значение этой переменной можно с помощью команды echo $PATH или аналогичной.

Представления пути по операционной системе и оболочке[править | править исходный текст]

Операционная система Оболочка Корневой каталог Разделитель каталогов Родительский каталог Примеры
UNIX-подобная ОС Командная оболочка UNIX / / .. /home/user/docs/Letter.txt
DOS COMMAND.COM [буква диска:]\ или
\\[имя сервера]\
/ или \ (примечание: command.com does not treat / as a directory separator) .. C:\USER\DOCS\LETTER.TXT
A:PICTURE.JPG
\\SERVER01\USER\DOCS\LETTER.TXT
OS/2 cmd.exe [буква диска:]\ / или \ .. C:\user\docs\Letter.txt

A:Picture.jpg

Microsoft Windows cmd.exe [буква диска:]/ или
[буква диска:]\ или or
\\[имя сервера]\
примечание: для команды CD, / treated as relative path (same as [буква диска:].\)
/ или \ (примечание: для команды CD, / treated as relative path (same as .\)) .. C:\user\docs\Letter.txt

A:Picture.jpg
\\Server01\user\docs\Letter.txt

Microsoft Windows Windows PowerShell [имя диска:]/ или [имя диска:]\или
\\[имя сервера]\ или

[PSSnapIn name]\[PSProvider name:][:PSDrive root]

/ или \ .. C:\user\docs\Letter.txt

\\Server01\user\docs\Letter.txt
UserDocs:/Letter.txt
Variable:PSVersionTable
Registry::HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft.PowerShell.Security\Certificate::CurrentUser\

TOPS-20 DCL [имя устройства:] . PS:<USER.DOCS>LETTER.TXT,4
RSX-11 DCL [имя устройства:] DR0:[30,12]LETTER.TXT;4
OpenVMS DCL [имя устройства:] или

[NODE["accountname password"]]::[имя устройства]:

. [-] SYS$SYSDEVICE:[USER.DOCS]PHOTO.JPG

GEIN::[.DRAFTS]LETTER.TXT;4

Classic Mac OS [volume or drive name]: : :: Macintosh HD:Documents:Letter
ProDOS AppleSoft BASIC /[volume or drive name]/ / /SCHOOL.DISK/APPLEWORKS/MY.REPORT

FLIGHT.SIMULATOR,D2

AmigaOS Amiga CLI / AmigaShell [drive, volume, device or assign name]: / / Workbench:Utilities/MultiView

DF0:S/Startup-Sequence
S:Startup-Sequence
TCP:en.wikipedia.com/80

RISC OS Task window [fs type[#option]:][:drive number or disc name.]$

примечание: &, % and @ can also be used to reference the root of the current user, the library and the current (working) directory respectively.

. ^ ADFS::MyDrive.$.Documents.Letter

Net#MainServer::DataDrive.$.Main.sy10823
LanMan::WindowsC.$.Pictures.Japan/gif
NFS:&.!Choices
ADFS:%.IfThere

Когда файловые системы монтируются с поддержкой расширений файлов, символы '.' заменяются на '/', как в примере с Japan/gif выше.

Symbian OS File manager \ \ \user\docs\Letter.txt
Domain/OS Shell // /
MenuetOS CMD / /
Stratus VOS интерпретатор командной строки VOS %[имя_системы]#[имя_модуля]> > <
NonStop Kernel TACL Tandem Advanced Command Language Нет корня . Нет корня \NODE.$DISK.SUBVOL.FILE

\NODE.$DEVICE

\NODE.$DEVICE.#SUBDEV.QUALIFIER

CP/M CCP [буква диска:] Нет подкаталогов Нет родителей A:LETTER.TXT

UNC в Windows[править | править исходный текст]

Общее соглашение об именах (англ. Uniform Naming Convention) или универсальное соглашение об именовании (universal naming convention), UNC — соглашение об именовании файлов и других ресурсов, дающее машинонезависимое определение местоположения ресурса[1].

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

Синтаксис UNC-пути к принтеру следующий: \\Сервер\СетевойПринтер, где Сервер — сетевое имя компьютера, СетевойПринтер — это сетевое имя общего принтера на этом компьютере.

Синтаксис UNC-пути к каталогу или файлу следующий: \\Сервер\СетевойКаталог[\ОтносительныйПуть], где Сервер — сетевое имя компьютера, СетевойКаталог — это сетевое имя общего каталога на этом компьютере, а ОтносительныйПуть — путь к каталогу или файлу из общего каталога.

СетевойКаталог не обязательно называется так же, как ассоциированный с ним каталог на сервере, имя даётся в ходе открытия общего доступа к каталогу в файловой системе компьютера[источник не указан 941 день].

Некоторые API-вызовы в Microsoft Windows поддерживают использование так называемых Long UNC или UNCW: \\?\UNC\Сервер\СетевойКаталог\ОтносительныйПуть] или \\?\Диск:[\Каталог][\Файл], где Диск — буква диска, Каталог — имя каталога на диске, Файл — имя файла в каталоге или на диске[источник не указан 941 день].

В версиях Windows, предшествовавших Windows XP, только API-вызовы, использующие Long UNC, могли использовать пути длиной более 260 символов[источник не указан 941 день].

Всего в Microsoft Windows используются следующие типы путей:

  • LFS (англ. local file system) — имена в локальной файловой системе, например: C:\Folder\File.
  • UNC — сетевые имена, например: \\Server\SharedFolder\Folder\File.
  • Long UNC или UNCW — длинные имена, например: \\?\UNC\Server\SharedFolder\Folder\File или \\?\C:\Folder\File.

Литература[править | править исходный текст]

Mitch Tulloch, Ingrid Tulloch Microsoft Encyclopedia of Networking, Second Edition. — ISBN 0-7356-1378-8

Примечания[править | править исходный текст]