Путь к файлу

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

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

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

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

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

Представления пути по операционной системе и оболочке

править
Операционная система Оболочка Корневой каталог Разделитель каталогов Текущий каталог Родительский каталог Домашний каталог Примеры
POSIX Systems/UNIX-подобная ОС Командная оболочка UNIX / / . .. ~ /home/user/docs/Letter.txt
DOS COMMAND.COM [буква диска:]\ или
\\[имя сервера]\
\ . .. 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 [буква диска:]/ или
[буква диска:]\ или
\\[имя сервера]\
примечание: для команды CD, / treated as relative path (same as [буква диска:].\)
/ или \ (примечание: для команды CD, / treated as relative path (same as .\)) . .. C:\user\docs\Letter.txt

..\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$LOGIN: 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]: / "" (empty string) / 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 // (root of domain)

/ (root of current node)

/ . \ ~ //node/home/user/docs/Letter.txt
./inthisdir
\\greatgrandparent
~rcinfo
MenuetOS CMD / /
Stratus VOS интерпретатор командной строки VOS %[имя_системы]#[имя_модуля]> > < %sysname#module1>SubDir>AnotherDir
NonStop Kernel TACL Tandem Advanced Command Language Нет корня . Нет родительского каталога \NODE.$DISK.SUBVOL.FILE

\NODE.$DEVICE

\NODE.$DEVICE.#SUBDEV.QUALIFIER

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

прим.: префикс может быть числом (0-31), * (загрузочный том) или @ (домашний каталог AppleShare)

: или / @ :Apps:Platinum.Paint:Platinum.Paint
*:System:Finder
.APPLEDISK3.5B/file

UNC в Windows

править

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

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

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

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

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

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

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

Всего в 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. — 2002. — ISBN 0-7356-1378-8.

Примечания

править
  1. Глоссарий. Дата обращения: 17 сентября 2011. Архивировано 20 декабря 2013 года.