Путь к файлу
Путь (англ. 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.TXTA:PICTURE.JPG\\SERVER01\USER\DOCS\LETTER.TXT | |
| OS/2 | cmd.exe | [буква диска:]\ |
/ или \ |
. |
.. |
C:\user\docs\Letter.txt
| |
| Microsoft Windows | cmd.exe | [буква диска:]/ или [буква диска:]\ или\\[имя сервера]\примечание: для команды CD, / treated as relative path (same as [буква диска:].\) |
/ или \ (примечание: для команды CD, / treated as relative path (same as .\)) |
. |
.. |
C:\user\docs\Letter.txt
| |
| Microsoft Windows | Windows PowerShell | [имя диска:]/ или [имя диска:]\или \\[имя сервера]\ или
|
/ или \ |
. |
.. |
~ |
C:\user\docs\Letter.txt
|
| TOPS-20 | DCL | [имя устройства:] |
. |
PS:<USER.DOCS>LETTER.TXT,4 | |||
| RSX-11 | DCL | [имя устройства:] |
DR0:[30,12]LETTER.TXT;4 | ||||
| OpenVMS | DCL | [имя устройства:] или
|
. |
[] |
[-] |
SYS$LOGIN: |
SYS$SYSDEVICE:[USER.DOCS]PHOTO.JPG
|
| Classic Mac OS | [volume or drive name]: |
: |
: |
:: |
Macintosh HD:Documents:Letter | ||
| ProDOS | AppleSoft BASIC | /[volume or drive name]/ |
/ |
/SCHOOL.DISK/APPLEWORKS/MY.REPORT
| |||
| AmigaOS | Amiga CLI / AmigaShell | [drive, volume, device or assign name]: |
/ |
"" (empty string) |
/ |
Workbench:Utilities/MultiView
| |
| 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
|
| Symbian OS | File manager | \ |
\ |
\user\docs\Letter.txt | |||
| Domain/OS | Shell | // (root of domain)
|
/ |
. |
\ |
~ |
//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
| ||
| CP/M | CCP | [буква диска:] |
Нет подкаталогов | Нет подкаталогов | Нет родителей | Нет подкаталогов | A:LETTER.TXT |
| GS/OS | :[имя тома]: или .[имя устройства]: или [префикс]:
прим.: префикс может быть числом (0-31), |
: или / |
@ |
:Apps:Platinum.Paint:Platinum.Paint*:System:Finder.APPLEDISK3.5B/file |
UNC в Windows
Общее соглашение об именах (англ. Uniform Naming Convention) или универсальное соглашение об именовании (universal naming convention), UNC — соглашение об именовании файлов и других ресурсов, дающее машинонезависимое определение местоположения ресурса[1].
Имя, соответствующее соглашению об универсальном назначении имен, полное имя ресурса в сети, включающее имя сервера и имя совместно используемого ресурса (принтера, каталога или файла); для каталогов или файлов могут также включать относительный путь.
Синтаксис UNC-пути к принтеру следующий: \\Сервер\СетевойПринтер, где Сервер — сетевое имя компьютера, СетевойПринтер — это сетевое имя общего принтера на этом компьютере.
Синтаксис UNC-пути к каталогу или файлу следующий: \\Сервер\СетевойКаталог[\ОтносительныйПуть], где Сервер — сетевое имя компьютера, СетевойКаталог — это сетевое имя общего каталога на этом компьютере, а ОтносительныйПуть — путь к каталогу или файлу из общего каталога.
СетевойКаталог не обязательно называется так же, как ассоциированный с ним каталог на сервере, имя даётся в ходе открытия общего доступа к каталогу в файловой системе компьютера.
Некоторые API-вызовы в Microsoft Windows поддерживают использование так называемых Long UNC или UNCW: \\?\UNC\Сервер\СетевойКаталог[\ОтносительныйПуть] или \\?\Диск:[\Каталог][\Файл], где Диск — буква диска, Каталог — имя каталога на диске, Файл — имя файла в каталоге или на диске.
В версиях Windows, предшествовавших Windows XP, только API-вызовы, использующие Long UNC, могли использовать пути длиной более 260 символов.
Всего в 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.
Примечания
- ↑ Глоссарий. Дата обращения: 17 сентября 2011. Архивировано 20 декабря 2013 года.