경로
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
경로는 파일 시스템에서 파일이나 디렉터리의 위치를 나타내는 문자열이다. 1960년대 중반 멀틱스에서 처음으로 디렉터리를 사용하는 계층적 파일 시스템이 도입된 이후, 유닉스, MS-DOS, 윈도우 등 다양한 운영 체제에서 경로 표현 방식이 발전해 왔다. 유닉스 계열은 슬래시(/)를, MS-DOS와 윈도우는 백슬래시(\) 또는 슬래시(/)를 디렉터리 구분자로 사용하며, 절대 경로와 상대 경로의 개념을 가진다. 또한, UNC(범용 명명 규칙)는 네트워크 리소스의 위치를 나타내는 데 사용된다. 프로그래밍 언어에서도 파일 접근 시 경로를 사용하며, 운영 체제에 따라 경로 표현 방식이 다르므로 이식성을 고려하여야 한다.
파일 경로의 역사는 운영체제 발전과 함께한다. 초기에는 파일 디렉터리 개념이 없었으나, 멀틱스와 유닉스가 계층적 파일 시스템을 도입하면서 경로 구분의 필요성이 생겼다. 멀틱스는 '>'를, 유닉스는 '/'를 구분자로 사용했다.[16] MS-DOS는 초기에는 디렉터리를 지원하지 않았고, 명령어에 '/'를 스위치 문자로 사용했다. 이후 디렉터리 지원이 추가되면서 백슬래시('\')를 구분자로 도입했다.[2][3]
절대 경로는 루트 디렉터리부터 시작하여 파일의 전체 위치를 나타낸다. 따라서 현재의 작업 디렉터리에 관계없이 파일 시스템 내의 동일한 위치를 가리킨다.
API 경로의 일관된 부분으로, 여기에 엔드포인트 경로가 추가된다.
2. 역사
2. 1. 초기 시스템
멀틱스는 1960년대 중반에 디렉터리 구분자로 '>'를 사용하여 계층적 파일 시스템을 도입하였다.[1][16] 1970년경, 유닉스는 슬래시('/')를 디렉터리 구분자로 도입하였다.
2. 2. MS-DOS와 윈도우
1981년에 출시된 최초 버전의 MS-DOS는 파일 디렉터리를 지원하지 않았다. MS-DOS 1.0에 포함된 유틸리티 명령들 상당수는 IBM에서 비롯되었으며, 명령어에 슬래시(/)를 스위치 문자로 사용하였다. (예: `dir /w`)[16]
MS-DOS 2.0에서 디렉터리 지원이 추가되었을 때, 하위 호환성을 위해 '/'는 스위치 문자로 유지되었다. 마이크로소프트는 백슬래시('\')를 디렉터리 구분자로 선택했는데, 이는 슬래시와 비슷하게 보인다.[2][3] 한편, 한국어와 일본어 마이크로소프트 윈도우에서는 백슬래시 대신 ₩나 ¥가 표시되기도 한다.
3. 절대 경로와 상대 경로
반대로, 상대 경로는 주어진 작업 디렉터리에서 시작하므로 전체 절대 경로를 제공할 필요가 없다. 파일명은 현재 작업 디렉터리를 기준으로 하는 상대 경로로 간주할 수 있다. 작업 디렉터리가 파일의 상위 디렉터리가 아닌 경우, 파일 이름을 사용하여 파일을 참조하면 파일을 찾을 수 없음 오류가 발생한다.
4. Base URL
5. 운영 체제별 경로 표현
\\[서버 이름]\[볼륨]\
\
.
..
align="center" | C:\USER\DOCS\LETTER.TXT
A:PICTURE.JPG
\\SERVER01\USER\DOCS\LETTER.TXT
OS/2 Cmd.exe [드라이브 문자:]\
/
또는 \
.
..
align="center" | C:\user\docs\Letter.txt
A:Picture.jpg
마이크로소프트 윈도우 Cmd.exe \
(현재 작업 디렉터리 루트에 상대적)
또는 [드라이브_문자]:\
또는 \\[서버]\[공유이름]\
또는 \\?\[드라이브_사양]:\
또는 \\?\[서버]\[공유이름]\
또는 \\?\UNC\[서버]\[공유이름]\
또는 \\.\[물리_장치]\
/
또는 \
.
..
[17]align="center" | 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
마이크로소프트 윈도우 윈도우 파워셸 [드라이브 이름:]/
또는 [드라이브 이름:]\
또는
\\[서버 이름]\
또는/
또는 \
.
..
~
C:\user\docs\Letter.txt
\\Server01\user\docs\Letter.txt
cd ~\Desktop
TOPS-20 DCL [장치 이름:]
.
align="center" | align="center" | align="center" | PS:
RSX-11 MCR [장치 이름:]
align="center" | align="center" | align="center" | align="center" | DR0:[30,12]LETTER.TXT;4
OpenVMS DCL [장치 이름:][000000]
또는.
[]
[-]
SYS$LOGIN:
SYS$SYSDEVICE:[USER.DOCS]PHOTO.JPG
[]IN_THIS_DIR.COM;
클래식 맥 OS [볼륨 또는 드라이브 이름]:
:
:
::
align="center" | Macintosh HD:Documents:Letter
:fileincurrentdir
::fileinparent
:::fileingrandparent
ProDOS AppleSoft BASIC /[볼륨 또는 드라이브 이름]/
/
align="center" | align="center" | align="center" | /SCHOOL.DISK/APPLEWORKS/MY.REPORT
FLIGHT.SIMULATOR,D2
아미가OS Amiga CLI / AmigaShell [드라이브, 볼륨, 장치, 또는 할당 이름]:
/
""
(빈 문자열)/
align="center" | Workbench:Utilities/MultiView
DF0:S/Startup-Sequence
S:Startup-Sequence
TCP:en.wikipedia.com/80
RISC OS ShellCLI [fs 유형[#옵션]:][:드라이브 문자 또는 디스크 이름.]$
&, % @을 사용하여 현재 사용자, 라이브러리, 현재 (작업) 디렉터리의 루트를 각각 참조할 수 있다..
@
^
&
ADFS::MyDrive.$.Documents.Letter
Net#MainServer::DataDrive.$.Main.sy10823
LanMan::WindowsC.$.Pictures.Japan/gif
NFS:&.!Choices
ADFS:%.IfThere
@.inthisdir
^.^.greatgrandparent
파일 확장자가 포함된 파일 시스템들이 마운트되면 . 문자는 /로 변경된다.심비안 OS File manager \
align="center" | align="center" | \user\docs\Letter.txt
도메인/OS Shell //
(도메인의 루트)/
(현재 노드의 루트)/
.
\
~
//node/home/user/docs/Letter.txt
./inthisdir
\\greatgrandparent
~rcinfo
미뉴엣OS CMD /
align="center" | align="center" | Stratus VOS VOS command-line interpreter %[시스템_이름]#[모듈_이름]>
>
align="center" | <
align="center" | %sysname#module1>SubDir>AnotherDir
논스톱 커널 TACL Tandem Advanced Command Language 루트 없음 .
align="center" | 부모 디렉터리 없음 align="center" | \NODE.$DISK.SUBVOL.FILE
\NODE.$DEVICE
\NODE.$DEVICE.#SUBDEV.QUALIFIER
CP/M CCP [드라이브 문자:]
하위 디렉터리 없음 하위 디렉터리 없음 부모 없음 하위 디렉터리 없음 A:LETTER.TXT
GS/OS :[볼륨 이름]:
또는 .[장치 이름]:
또는 [두문자]:
참고: 두문자는 숫자(0-31), *
(부트 볼륨) 또는 @
(AppleShare 홈 디렉터리)가 올 수 있다.:
또는 /
align="center" | align="center" | @
:Apps:Platinum.Paint:Platinum.Paint
*:System:Finder
.APPLEDISK3.5B/file
OpenHarmony (incl. HarmonyOS) exec[6][7] hb set -root [ROOT_PATH]
hb set -p --product [PRODUCT_NAME]
>
./
../
LOCAL>MEDIA_TYPE_>Download>Letter.txt