Raspberry Pi_Kor_16.1.3 폴더와 파일의 경로 지정


Published Book on Amazon


All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1

All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)

최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


16.1.3  폴더와 파일의 경로 지정

 

Linux에서 directory나 파일의 경로를 지정하는 방법은 경로를 지정할 때 기술하는 시작 위치에 따라 두 가지가 있다. 하나는 "/" (root directory)에서 시작하는 절대경로 방식이고, 다른 하나는 현재의 작업위치를 기준으로 기술하는 상대경로 방식이다.   

 

16.1.3.1    절대 경로(absolute path)

 

절대경로 방식은 파일 시스템의 최 상단인 "/" (root directory)부터 시작하는 완벽한 경로를 지정하는 방식이다이 방식은 최 상단 위치부터 지정 위치까지 도달하는 모든 경로를 빠짐없이 기술함으로써 directory나 파일의 위치에 대해서 자체적으로 완벽한 정보를 제공해 준다.

 

예를 들면 사용자 계정 "pi" home directory 속에 있는 "testdata" directory 속에 "DebianManual.txt"이라는 파일이 있는 경우에 이 파일에 대한 절대경로는 "/home/pi/testdata/DebianManual.txt"의 형식으로 경로를 지정한다

 

pi@raspberrypi ~ $ cd testdata

pi@raspberrypi ~/testdata $ ls -l

total 20

-rw-rw---- 2 pi pi   80 Apr 12 15:12 DebianManual.txt

drwxr-xr-x 3 pi pi 4096 Apr 11 02:17 TestFolder01

drwxr-xr-x 2 pi pi 4096 Apr 10 13:32 TestFolder02

-rw-rw---- 1 pi pi   81 Apr 11 09:03 user_guide01.txt

 

시스템에서 현재위치에 대한 절대경로를 알고 싶으면 "pwd" 명령을 사용하면 된다.

 

pi@raspberrypi ~/testdata $ pwd

/home/pi/testdata

 


 

16.1.3.2    상대 경로(relative path)

 

시스템에서 특별한 지정을 하지 않으면 기본적으로 적용되는 위치를 "현재 작업위치"라고 하는데, 이를 기준으로 특정 directory나 파일의 위치를 기술하는 방식을 상대경로 방식이라고 한다

 

시스템에서 대상 directory나 파일의 위치를 지정할 때는 아래와 같은 기준위치를 시작점으로 지정한다.

    ./    -- "현재 작업위치"를 가리킨다.

    ../   -- "현재 작업위치"보다 한 수준 상위에 있는 부모 directory를 가리킨다.

 

상대경로 지정방식은 현재 작업위치에 따라 대상 파일이 있는 위치가 완전히 달라지므로 경로 자체만 가지고 특정 대상을 정할 수가 없다. 따라서 항상 "현재 작업위치"에 대한 정확한 확인이 필요하다.

 

예를 들면 사용자 계정 "pi" home directory 속에 있는 "testdata" directory 속에 "DebianManual.txt"이라는 파일이 있고, 현재의 작업위치가 "/home/pi"이면 이 파일에 대한 상대경로는 "./testdata/DebianManual.txt" 형식으로 경로를 지정한다

 

pi@raspberrypi ~ $ ls l testdata

total 20

-rw-rw---- 2 pi pi   80 Apr 12 15:12 DebianManual.txt

drwxr-xr-x 3 pi pi 4096 Apr 11 02:17 TestFolder01

drwxr-xr-x 2 pi pi 4096 Apr 10 13:32 TestFolder02

-rw-rw---- 1 pi pi   81 Apr 11 09:03 user_guide01.txt

pi@raspberrypi ~ $ ls l Downloads

total 1808

-rw-r--r-- 1 pi pi   17842 Apr  7 02:17 commands.md

-rw-rw---- 2 pi pi      80 Apr 12 15:12 DebianManual.txt

-rw-r--r-- 1 pi pi 1296587 Apr 11 09:19 debian-reference.en.txt

-rw-r--r-- 1 pi pi  275957 Apr  1 04:06 debian-reference.en.txt.gz

-rw-r--r-- 1 pi pi  245423 Mar 31 03:58 RaspiCam-Documentation.pdf

 

 


 

위 예에서 "testdata" directory "Downloads" directory에 모두 "DebianManual.txt"이라는 파일이 존재하고 있는데, 상대경로로 "./DebianManual.txt"라고 했을 때는 현재의 작업위치가 "/home/pi/testdata"인지, "/home/pi/Downloads"인지에 따라서 대상 파일이 완전히 달라질 수 있다는 것을 알 수 있다.

 

아래는 "/home/pi/testdata"가 현재위치인 경우 그것의 상위에 있는 "Downloads" directory에 대한 정보를 조회하기 위해서 parent directory "../"에서 시작하여 경로를 표시하여 명령을 실행한 사례이다.

 

pi@raspberrypi ~ $ cd testdata

pi@raspberrypi ~/testdata $ ls ../Downloads -l

total 1808

-rw-r--r-- 1 pi pi   17842 Apr  7 02:17 commands.md

-rw-rw---- 2 pi pi      80 Apr 12 15:12 DebianManual.txt

-rw-r--r-- 1 pi pi 1296587 Apr 11 09:19 debian-reference.en.txt

-rw-r--r-- 1 pi pi  275957 Apr  1 04:06 debian-reference.en.txt.gz

-rw-r--r-- 1 pi pi  245423 Mar 31 03:58 RaspiCam-Documentation.pdf

 


 

Leave a Reply