{{위키데이터 속성 추적}}
{{다른 뜻}}
'''경로'''(經路) 또는 '''패스'''(path)는 [[컴퓨터 파일|파일]]이나 [[디렉터리]]의 일반적인 형태로서 [[파일 시스템]]에서 고유한 위치를 지정한다. 경로는 [[문자열]]로 표현되는 디렉터리 트리 계층을 따라 시스템 위치를 가리키며 여기에서 구분자로 분리되는 경로 구성 요소를 통해 각각의 디렉터리를 대표하게 된다. 구분 문자는 대체적으로 [[슬래시]]("/"), [[역슬래시]] 문자("\"), 콜론(":")이지만 일부 [[운영 체제]]는 다른 [[구분 문자]]를 사용할 수 있다. 경로는 현대 운영 체제에서 일반화된 디렉터리/파일 관계를 표현하기 위해 [[컴퓨터 과학]] 분야에 널리 쓰이며 [[URL]]의 구성에 필수적이다. 리소스는 절대 경로와 상대 경로로 표현할 수 있다

== 역사 ==
멀틱스는 1960년대 중순에 >를 구분자로 하여 디렉터리가 있는 계층적 파일 시스템을 도입하였다<ref>{{저널 인용|author1=R.C. Daley|author2=P.G. Neumann|title=A general-purpose file system for secondary storage|journal=AFIPS Proceedings of the joint computer conference|date=1965|volume=Part I|pages=213-229|doi=10.1145/1463891.1463915|url=http://dl.acm.org/citation.cfm?id=1463915}}</ref>.

1970년 즈음에 유닉스는 슬래시 문자("/")를 디렉터리 구분자로 도입하였다.

1981년에 최초 버전의 마이크로소프트 도스가 출시되었다. MS-DOS 1.0은 파일 디렉터리를 지원하지 않았다. 또, MS-DOS 1.0에 포함된 유틸리티 명령들 상당수가 IBM에서 비롯되었으며 명령 줄 문법은 슬래시 문자를 스위치(switch) 두문자로 사용하였다. 이를테면 dir /w는 넓은 목록 포맷 옵션과 함께 dir 명령을 실행하라는 의미이다.

윈도우에서는 명령 인터페이스에서 슬래시 사용을 볼 수 있다. 반면에 유닉스는 대시("-") 문자를 명령 줄 스위치 두문자로 사용한다.

버전 2.0 들어 MS-DOS에 디렉터리 지원이 추가되었을 때 "/"는 하위 호환성을 위해 스위치 두문자로 유지되었다. 마이크로소프트는 백슬래시 문자("＼")를 디렉터리 구분자로 선택하고 있으며, 이는 슬래시 문자와 비슷하게 보인다.

== 운영 체제와 셸의 경로 표현 ==
{| class="wikitable" style="font-size:90%"
|-
! 운영 체제
! 셸
! 루트 디렉터리
! 디렉터리 구분자
! 현재 디렉터리
! 부모 디렉터리
! 홈 디렉터리
! 예
|-
! [[유닉스 계열]] OS
| [[유닉스 셸]]
| <code>/</code>
| align="center" | <code>/</code>
| align="center" | <code>.</code>
| align="center" | <code>..</code>
| align="center" | <code>~</code>
| <code>/home/user/docs/Letter.txt</code><br><code>./inthisdir</code><br><code>../../greatgrandparent</code><br><code>~/.rcinfo</code>
|-
! [[도스]]
| [[COMMAND.COM]]
| <code>''[드라이브 문자:]''\</code> 또는 <br /> <code>\\''[서버 이름]''\''[볼륨]''\</code>
| align="center" | <code>\</code>
| align="center" | <code>.</code>
| align="center" | <code>..</code>
| align="center" |
| <code>C:\USER\DOCS\LETTER.TXT</code><br /><code>A:PICTURE.JPG</code><br /> <code>\\SERVER01\USER\DOCS\LETTER.TXT</code>
|-
! [[OS/2]]
| [[Cmd.exe]]
| <code>''[드라이브 문자:]''\</code>
| align="center" | <code>/</code> 또는 <code>\</code>
| align="center" | <code>.</code>
| align="center" | <code>..</code>
| align="center" |
| <code>C:\user\docs\Letter.txt</code>
<code>A:Picture.jpg</code>
|-
! [[마이크로소프트 윈도우]]
| [[Cmd.exe]]
| <span style="white-space:nowrap;"><code>\</code> (현재 작업 디렉터리 루트에 상대적)</span><br />또는 <code>''[드라이브_문자]'':\</code><br />또는 <code style="white-space:nowrap;">\\''[서버]''\''[공유이름]''\</code><br />또는 <code style="white-space:nowrap;">\\?\''[드라이브_사양]'':\</code><br />또는 <code style="white-space:nowrap;">\\?\''[서버]''\''[공유이름]''\</code><br />또는&nbsp;<code style="white-space:nowrap;">\\?\UNC\''[서버]''\''[공유이름]''\</code><br />또는 <code style="white-space:nowrap;">\\.\''[물리_장치]''\</code><br />
| align="center" | <code>/</code> 또는 <code>\</code>
| align="center" | <code>.</code>
| align="center" | <code>..</code><ref>{{웹 인용|title=Microsoft Technet Command Line Reference|url=https://technet.microsoft.com/en-us/library/cc731237(v=ws.11).aspx|website=Microsoft}}</ref>
| align="center" |
| <code>C:\user\docs\Letter.txt</code><br /><code>/user/docs/Letter.txt</code><br/><code>C:Letter.txt</code><br /><code>\\Server01\user\docs\Letter.txt</code><br /><code>\\?\UNC\Server01\user\docs\Letter.txt</code><br /><code>\\?\C:\user\docs\Letter.txt</code><br /><code><span style="white-space:nowrap;">C:\user\docs\somefile.ext:[[NTFS#Alternate_data_streams (ADS)|alternate_stream_name]]</span></code> <br><code>./inthisdir</code><br><code>../../greatgrandparent</code><br>
|-
! [[마이크로소프트 윈도우]]
| [[윈도우 파워셸]]
| <code>''[드라이브 이름:]''/</code> 또는 <code>''[드라이브 이름:]''\</code>또는 <br /> <code>\\''[서버 이름]''\</code> 또는<br />
<code>''[PSSnapIn 이름]''\''[PSProvider 이름:][:PSDrive 루트]''</code>
| align="center" | <code>/</code> 또는 <code>\</code>
| align="center" | <code>.</code>
| align="center" | <code>..</code>
| align="center" | <code>~</code>
| <code>C:\user\docs\Letter.txt</code><br /><code>\\Server01\user\docs\Letter.txt</code><br /><code>cd ~\Desktop</code><br />
<code>UserDocs:/Letter.txt</code><br />
<code>Variable:PSVersionTable</code><br />
<code>Registry::HKEY_LOCAL_MACHINE\SOFTWARE\</code><br />
<code>Microsoft.PowerShell.Security\Certificate::CurrentUser\</code>
|-
! [[TOPS-20]]
| [[DIGITAL Command Language|DCL]]
| <code>''[장치 이름:]''</code>
| align="center" | <code>.</code>
| align="center" |
| align="center" |
| align="center" |
| <code>PS:<USER.DOCS>LETTER.TXT,4</code>
|-
! [[RSX-11]]
| [[모니터 콘솔 루틴|MCR]]
| <code>''[장치 이름:]''</code>
| align="center" |
| align="center" |
| align="center" |
| align="center" |
| <code>DR0:[30,12]LETTER.TXT;4</code>
|-
! [[OpenVMS]]
| [[DIGITAL Command Language|DCL]]
| <code>''[장치 이름:]''[000000]</code> 또는<br />
<code>''[NODE["accountname password"]]''::''[장치 이름]''[000000]:</code>
| align="center" | <code>.</code>
| align="center" | <code>[]</code>
| align="center" | <code>[-]</code>
| align="center" | <code>SYS$LOGIN:</code>
| <code>SYS$SYSDEVICE:[USER.DOCS]PHOTO.JPG</code>
<code>[]IN_THIS_DIR.COM;</code><br>
<code>[-.-]GreatGranParent.TXT</code><br>
<code>SYS$SYSDEVICE:[.DRAFTS]LETTER.TXT;4</code><br>
<code>GEIN::[000000]LETTER.TXT;4</code><br>
<code>SYS$LOGIN:LOGIN.COM</code><br>
|-
! [[맥 OS의 역사|클래식 맥 OS]]
|
| <code>''[볼륨 또는 드라이브 이름]'':</code>
| align="center" | <code>:</code>
| align="center" | <code>:</code>
| align="center" | <code>::</code>
| align="center" |
| <code>Macintosh HD:Documents:Letter</code><br><code>:fileincurrentdir</code><br><code>::fileinparent</code><br><code>:::fileingrandparent</code>
|-
! [[애플 ProDOS|ProDOS]]
| AppleSoft BASIC
| <code>/''[볼륨 또는 드라이브 이름]''/</code>
| align="center" | <code>/</code>
| align="center" |
| align="center" | 
| align="center" |
| <code>/SCHOOL.DISK/APPLEWORKS/MY.REPORT</code>
<code>FLIGHT.SIMULATOR,D2</code>
|-
! [[아미가OS]]
| Amiga CLI / AmigaShell
| <code>''[드라이브, 볼륨, 장치, 또는 할당 이름]:''</code>
| align="center" | <code>/</code>
| align="center" | <code>""</code> (빈 문자열)
| align="center" | <code>/</code>
| align="center" |
| <code>Workbench:Utilities/MultiView</code><br><code>DF0:S/Startup-Sequence</code><br><code>S:Startup-Sequence</code><br><code>TCP:en.wikipedia.com/80</code>
|-
! [[RISC OS]]
| ShellCLI
| <code>''[fs 유형[#옵션]:][:드라이브 문자 또는 디스크 이름.]''$</code>
&, % @을 사용하여 현재 사용자, 라이브러리, 현재 (작업) 디렉터리의 루트를 각각 참조할 수 있다.
| align="center" | <code>.</code>
| align="center" | <code>@</code>
| align="center" | <code>^</code>
| align="center" | <code>&</code>
| <code>ADFS::MyDrive.$.Documents.Letter</code><br><code>Net#MainServer::DataDrive.$.Main.sy10823</code><br><code>LanMan::WindowsC.$.Pictures.Japan/gif</code><br><code>NFS:&.!Choices</code><br><code>ADFS:%.IfThere</code><br><code>@.inthisdir</code><br><code>^.^.greatgrandparent</code><br>
<br>
파일 확장자가 포함된 파일 시스템들이 마운트되면 '.' 문자는 '/'로 변경된다.
|-
! [[심비안 OS]]
| File manager
| align="center" | <code>\</code>
| align="center" | <code>\</code>
| align="center" |
| align="center" |
|
| <code>''\user\docs\Letter.txt''</code>
|-
! [[도메인/OS]]
| Shell
| align="center" | 
<span style="white-space:nowrap;"><code>//</code> (도메인의 루트)</span><br/>
<span style="white-space:nowrap;"><code>/</code> (현재 노드의 루트)</span><br/>
| align="center" | <code>/</code>
| align="center" | <code>.</code>
| align="center" | <code>\</code>
| align="center" | <code>~</code>
| <code>//node/home/user/docs/Letter.txt</code><br><code>./inthisdir</code><br><code>\\greatgrandparent</code><br><code>~rcinfo</code>
|-
! [[미뉴엣OS]]
| CMD
| align="center" | <code>/</code>
| align="center" | <code>/</code>
| align="center" |
| align="center" |
|
|
|-
! [[Stratus VOS]]
| VOS command-line interpreter
| <code>%''[시스템_이름]''#''[모듈_이름]''></code>
| align="center" | <code>&gt;</code>
| align="center" |
| align="center" | <code>&lt;</code>
| align="center" |
|<code>%sysname#module1>SubDir>AnotherDir</code>
|-
! [[논스톱 커널]]
| TACL Tandem Advanced Command Language
| 루트 없음
| align="center" | <code>.</code>
| align="center" |
| align="center" | 부모 디렉터리 없음
| align="center" |
| <code>\NODE.$DISK.SUBVOL.FILE</code>
<code>\NODE.$DEVICE</code>

<code>\NODE.$DEVICE.#SUBDEV.QUALIFIER</code>
|-
! [[CP/M]]
| [[CP/M|CCP]]
| <code>''[드라이브 문자:]''</code>
| align="center" | 하위 디렉터리 없음
| align="center" | 하위 디렉터리 없음
| align="center" | 부모 없음
| align="center" | 하위 디렉터리 없음
| <code>A:LETTER.TXT</code>
|-
! [[애플 GS/OS|GS/OS]]
| 
| <code>'':[볼륨 이름]:''</code> 또는 <code>''.[장치 이름]:''</code> 또는 <code>''[두문자]:''</code>
참고: 두문자는 숫자(0-31), <code>*</code> (부트 볼륨) 또는 <code>@</code> (AppleShare 홈 디렉터리)가 올 수 있다
| align="center" | <code>:</code> 또는 <code>/</code>
| align="center" | 
| align="center" |  
| align="center" | <code>@</code>
| <code>:Apps:Platinum.Paint:Platinum.Paint</code><br><code>*:System:Finder</code><br><code>.APPLEDISK3.5B/file</code>
|}

한국어와 일본어 버전의 윈도우는 원래의 디렉터리 구분자 대신 [[원 기호|₩]] 문자와 [[엔 기호|¥]] 문자를 표시할 수 있다.

== 같이 보기 ==
* [[Basename]]
* [[장치 파일]]
* [[Dirname]]
* [[분산 파일 시스템]] (DFS)
* [[파일 이름]]
* [[파일시스템 계층구조 표준]] (FHS)
* [[PATH (변수)]]
* [[URL]]

== 각주 ==
{{FOLDOC}}
{{각주}}

== 외부 링크 ==
* {{언어링크|en}} [http://www.linfo.org/path.html Path Definition] - The Linux Information Project (LINFO)
* {{언어링크|en}} [https://msdn.microsoft.com/en-us/library/aa365247.aspx Naming Files, Paths, and Namespaces] - Microsoft Developer Network (MSDN)

{{컴퓨터 파일}}

[[분류:파일 시스템]]