티스토리 뷰

linux 기초 -기본명령어 pwd, cd

              (절대경로, 상대경로) 





기본 명령어




◎ pwd  현재 위치를 확인하는 명령어 입니다.


 - 현재 위치를 확인한다. 즉, 현재 디렉터리의 절대경로를 출력한다.

형식 - pwd



↑현재 나의 위치가, /root 라는것을 알 수 있습니다. 

 기본적인 디렉토리는 root 디렉토리(홈 디렉터리)로 되어 있습니다.



◎ cd → cd 명령어는 현재 디렉터리를 변경하는 명령어 입니다.


 - 현재 디렉터리를 변경한다.

형식 - cd [디렉터리명]   

사용 예 - cd, cd /tmp, cd /etc





↑위의 디렉토리 전부 있는것은 아니지만, 대부분의 리눅스 운영체제의 

디렉터리  구조가 위와 같이 생겼습니다.




↑최상위 디렉터리인 ' 루트(/) 디렉터리' 그 아래,  /etc, /root, /bin ...등의 디렉터리들이 있습니다.





↑cd명령어를 이용해 루트(/) 디렉터리홈(root) 디렉터리로 이동 했습니다.





↑cd명령어를 이용해 etc 디렉터리로 이동 했습니다.





↑그냥 cd명령어만 치면, 기본설정 위치인 홈(/root) 디렉터리로 오게됩니다.

홈(root) 디렉터리에서 etc 디렉터리로 가려면 어떻게 해야 할까요? 


cd etc 라고 생각하시면 틀렸습니다!

cd /etc 라고 쳐야 etc디렉터리로 이동할 수 있는데, 

이는 시작은 항상 ' / '(최상위 루트 디렉터리)로 하기 때문입니다.



이러한  설명한 이유는 앞으로 경로를 설명할때 알아야 할' 절대경로 '  와 ' 상대경로 '  를

설명할때 중요한 개념이기 때문입니다.


 리눅스 파일 시스템에서 디렉터리 계층 구조에 있는 특정 파일이나 디렉터리의 위치를 나타내는것을 경로명(path name)이라고 

합니다. 경로명에서 각 경로를 구분하는 구분자로는 /을사용합니다. 경로명에서 가장 앞에 있는 /은 루트 디렉터리를 뜻하지만

경로명 중간에 있는 /은 구분자 입니다. 예를 들어 /usr/bin/ls에서 맨 앞의 /은 루트 디렉터리를 의미하고, 중간에 있는 /두개는

디렉터리 이름과 파일 이름을 구분하는 구분자 입니다.


경로에는 절대 경로명과 상대 경로명이 있습니다. 절대 경로명은 항상 루트(/)디렉터리부터 시작하며 다음과 같은 특징이 있습니다.


     ▶ 반드시 /으로 시작한다.

     ▶ 루트 디렉터리부터 시작하여 특정 파일이나 디렉터리의 위치까지 이동하면서 거치게되는 모든 중간 디렉터리의 

         이름을 표시한다.

     ▶ 특정 위치를 가리키는 절대 경로명은 항상 동일하다.


상대 경로명은 현재 디렉터리를 기준으로 시작합니다. 현재 디렉터리는 사용자가 어느 디렉터리에서 작업중이냐에 따라 달라

지므로 상대 경로명은 맴번 달라질 수 있습니다. 상대 경로명은 다음과 같은 특징이 있습니다.


     ▶ / 이외의 문자로 시작합니다.

     ▶ 현재 디렉터리를 기준으로 서브 디렉터리로 내려가면 그냥 서브 디렉터리의 이름을 추가합니다.

     ▶ 현재 디렉터리를 기준으로 상위 디렉터리로 가려면  ..(마침표 두 개)를 추가합니다. ← 현 위치는   . (마침표 하나)

     ▶ 상대 경로명은 현재 디렉터리가 어디냐에 따라 달라집니다.





예를 들면, 위 디렉터리  구조를 보고, 현재 디렉터리가 local이라고 가정한다면,

local의 절대 경로명은 /usr/local이 됩니다.

또 local 아래 bin 의 절대 경로는 /usr/local/bin이 됩니다.



그렇다면, bin의 상대 경로는 무엇일까요???

 현재 디렉터리인 local의 기준으로 서브(하위) 디렉터리로 이동하는 것이므로 그냥 

서브 디렉터리의 이름을 추가 하면 됩니다. 따라서 상대 경로 명은  'bin' 이됩니다.

즉, 현재 디렉터리 local에서 cd bin을 사용하며녀 bin으로 이동할 수 있습니다.



※여기서  .(마침표)를 이용하여 cd ./bin라고 할 수 도 있습니다. 하지만

./ 는 생략이 가능하다는 사실!

즉, cd bin = cd ./bin



그렇다면 omega의 상대 경로명은 어떻게 될까요??

local 디렉터리에서 omega디렉터리로 가려면 상위 디렉터리를 통해 이동해야 하므로 ..(마침표 두 개 )로

시작 합니다. 따라서 local에서 omega까지의 상대 경로명은 ' ../../home/omega ' 가 됩니다.





절대 경로와 상대경로는 처음에 확실한 개념을 잡아두어야 

앞으로  리눅스를 다루는데 매끄럽게 진행 할 수 있습니다.