路徑 (電腦科學)
此條目需要補充更多來源。 (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)