路徑 (計算機科學)
此條目需要補充更多來源。 (2017年11月9日) |
此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
路徑(英語:path)是一種電腦檔案或目錄的名稱的通用表現形式,它指向文件系統上的一個唯一位置。指向一個文件系統位置的路徑通常採用以字符串表示的目錄樹分層結構,首個部分表示文件系統位置,之後以分隔字符分開的各部分路徑表示各級目錄,最後是該文件/文件夾。分隔字符最常採用斜線(/)、反斜線(\)或冒號(:)字符,不同操作系統與環境可能採用不同的字符。路徑在計算機科學中被廣泛採用,用以表示現代操作系統中常見的文件夾/文件關係,在構建統一資源定位符(URL)時也必不可少。資源可以採用絕對路徑表示,也可採用相對路徑表示。
絕對與相對路徑
絕對路徑也可稱完整路徑,是指向文件系統中某個固定位置的路徑,不會因當前的工作目錄而產生變化。為做到這點,它必須包括根目錄。
相對路徑則是以指定的工作目錄作為基點,避開提供完整的絕對路徑。檔案名稱就可以被視為以指定工作目錄為基點的一個相對路徑(雖然一般不將其稱之為路徑)。
各操作系統與shell中路徑的表示法
操作系統 | Shell | 根目錄 | 目錄分隔符 | 當前目錄 | 父目錄 | 家(Home)目錄 | 示例 |
---|---|---|---|---|---|---|---|
類Unix系統 | Unix shell | /
|
/
|
.
|
..
|
~
|
/home/user/docs/Letter.txt ./inthisdir ../../greatgrandparent ~/.rcinfo
|
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
| |
Microsoft Windows | cmd.exe | \ (相對於當前工作目錄的根)或 [驱动器号]:\ or \\[服務器]\[共享名稱]\ 或 \\?\[drive_spec]:\ 或 \\?\[服務器]\[共享名稱]\ or \\?\UNC\[服務器]\[共享名稱]\ or \\.\[物理設備]\ |
/ 或\
|
.
|
.. [1]
|
C:\user\docs\Letter.txt /user/docs/Letter.txt C:Letter.txt \\Server01\user\docs\Letter.txt \\?\UNC\Server01\user\docs\Letter.txt \\?\C:\user\docs\Letter.txt C:\user\docs\somefile.ext:alternate_stream_name ./inthisdir ../../greatgrandparent | |
Microsoft Windows | Windows PowerShell | [驱动器名称:]/ 或[驱动器名称:]\ or \\[服务器名称]\ or
|
/ 或\
|
.
|
..
|
~
|
C:\user\docs\Letter.txt \\Server01\user\docs\Letter.txt cd ~\Desktop
|
TOPS-20 | DCL | [驱动器名称:]
|
.
|
PS:<USER.DOCS>LETTER.TXT,4
| |||
RSX-11 | MCR | [驱动器名称:]
|
DR0:[30,12]LETTER.TXT;4
| ||||
OpenVMS | DCL | [驱动器名称:][000000] or
|
.
|
[]
|
[-]
|
SYS$LOGIN:
|
SYS$SYSDEVICE:[USER.DOCS]PHOTO.JPG
|
Classic Mac OS | [卷或驱动器名称]:
|
:
|
:
|
::
|
Macintosh HD:Documents:Letter :fileincurrentdir ::fileinparent :::fileingrandparent
| ||
ProDOS | AppleSoft BASIC | /[卷或驱动器名称]/
|
/
|
/SCHOOL.DISK/APPLEWORKS/MY.REPORT
| |||
AmigaOS | Amiga CLI / AmigaShell | [驱动器、卷、设备或分配名称]:
|
/
|
"" (empty string)
|
/
|
Workbench:Utilities/MultiView DF0:S/Startup-Sequence S:Startup-Sequence TCP:en.wikipedia.com/80
| |
RISC OS | ShellCLI | [fs type[#option]:][:驱动器名或光盘名]$
註:&、%和@也可以用來引用當前用戶的根目錄、庫和當前(工作)目錄。 |
.
|
@
|
^
|
&
|
ADFS::MyDrive.$.Documents.Letter Net#MainServer::DataDrive.$.Main.sy10823 LanMan::WindowsC.$.Pictures.Japan/gif NFS:&.!Choices ADFS:%.IfThere @.inthisdir ^.^.greatgrandparent
|
Symbian | 文件管理器 | \
|
\
|
\user\docs\Letter.txt
| |||
Domain/OS | Shell |
|
/
|
.
|
\
|
~
|
//node/home/user/docs/Letter.txt ./inthisdir \\greatgrandparent ~rcinfo
|
MenuetOS | CMD | /
|
/
|
||||
Stratus VOS | VOS命令行解釋器 | %[系统名称]#[模块名称]>
|
>
|
<
|
%sysname#module1>SubDir>AnotherDir
| ||
NonStop Kernel | TACL Tandem高級命令語言 | 無根 | .
|
無父目錄 | \NODE.$DISK.SUBVOL.FILE
| ||
CP/M | CCP | [驱动器号:]
|
無子目錄 | 無子目錄 | 無父目錄 | 無子目錄 | A:LETTER.TXT
|
GS/OS | :[卷名称]: 或.[驱动器名称]: 或[前缀]:
註:前綴可能為一個數字(0-31)、 |
: 或/
|
@
|
:Apps:Platinum.Paint:Platinum.Paint *:System:Finder .APPLEDISK3.5B/file
|
日語和韓語版本的Windows可能經常顯示「¥」或「₩」字符代表目錄分隔符。此種情況是反斜槓的代碼被繪製為這些字符。非常早期的MS-DOS版本在顯示器上用這些字形替代了反斜槓,以便只能理解7位ASCII的程序顯示它們(其他字符如方括號也被替換,見ISO/IEC 646、Windows Codepage 932 (Japanese Shift JIS) (頁面存檔備份,存於網際網路檔案館)和Codepage 949 (Korean) (頁面存檔備份,存於網際網路檔案館))。儘管Windows的首個版本就支持8位ISO/IEC 8859-1字符集並且¥(Yen)字符位於U+00A5,以及現代版本Windows支持Unicode而₩(Won)字符位於U+20A9,許多軟件仍繼續以這種ASCII形式顯示反斜槓,以保持向後兼容性。[2]
MacOS作為UNIX的派生,在內部採用UNIX路徑。
但是,為保持軟件兼容性和用戶的習慣,許多用戶圖形界面會在內部將使用者輸入的"/"符號替換為":"符號,並且在向使用者顯示檔案名稱時替換回"/"符號 (反之亦然,使用者輸入的":"符號將在內部被替換為"/"符號,但顯示時並不會反向替換回":"符號)
參見
參考資料
本條目部分或全部內容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。
- ^ Microsoft Technet Command Line Reference. Microsoft. [2017-11-09]. (原始內容存檔於2017-11-10).
- ^ Sorting it all Out: When is a backslash not a backslash?. [2017-11-09]. (原始內容存檔於2016-03-23).
外部連結
- Path Definition (頁面存檔備份,存於網際網路檔案館) - The Linux Information Project (LINFO)
- Naming Files, Paths, and Namespaces (頁面存檔備份,存於網際網路檔案館) - Microsoft Developer Network (MSDN)