hyperskill - Walking through directories in the command line 영어 원문
당신은 아마 파일시스템이 무엇인지 알 것이고, 이 파일시스템이 주로 많은 디렉토리와 파일을 포함한다는 것을 압니다.
이제 다음 단계는 이러한 시스템을 어떻게 조종하는지 알아내는 것 입니다.
따라서 이번 주제에서 우리는 당신의 현재 디렉토리와 이전 디렉토리를 식별하는 법,
다른 디렉토리로 이동하는 법을 배울 겁니다.
Root directory - 루트 디렉토리
첫 번째로, 당신이 어떠한 디렉토리에 있던, 당신은 root 디렉토리의 일부분에 있다는 것을 이해할 필요가 있습니다.
내가 본 문법 중 한국스럽다고 느낀 문법.
이는 주요 Linux directory 이며, 다른 모든 디렉토리와 파일들을 포함합니다.
root 디렉토리는 / 일명 슬래시로 표시됩니다.
모든 파일들의 주소는 루트에서 시작합니다.
예를 들어, 당신이 home 디렉토리에 있을 때, 이것의 실제 주소는 /home 입니다.
모든 부가적인 파티션들, 플래시 드라이브, 광학 디스크들 또한 root 디렉토리와 연결되어 있습니다.
우리의 다음 단계는 우리가 현재 있는 정확한 디렉토리를 지정하는 것 입니다.
pwd command - 현재 디렉토리 출력하기
현재 우리가 있는 디렉토리를 결정하기 위해서, pwd 명령어가 있습니다.
영어식 표현으로
determine이 결정하다 인데,
컴퓨터에서 사용자에게 주소를 알려주는 과정에서 결정하기 때문에 이런 표현을 쓴 게 아닐까? 싶어요.
이것의 이름은 Print Working Directory에 대한 약자입니다.
당신은 터미널에 pwd 명령어를 칠 수 있습니다.
만약 당신이 빠르게 터미널을 열어 명령어를 구동한다면,
결과는 당신의 home 디렉토리 일 것 입니다. :
$ pwd
/home/<your username> # 이는 사용자의 운영체제에 따라 다를 수 있습니다.
만약 당신이 home 의 서브디렉토리 Document에서 이 명령어를 실행한다면,
결과는 root 디렉토리에서 서브디렉토리까지의 전체 경로가 될 겁니다 :
$ pwd
/home/user/Documents
이제 우리가 있는 디렉토리를 알고 있습니다.
이제 다른 디렉토리로 바꾸는 법을 찾아 봅시다.
cd command - 디렉토리 이동하기
우리는 cd 명령어를 사용하여 디렉토리 사이를 이동 할 수 있습니다.
이 명령어를 사용하는 데 서로 다른 방법들이 있습니다.
첫 번째로, 만약 우리가 home 디렉토리에 있다면, 곧바로 하위(서브) 디렉토리인 Documents 로 갈 수 있습니다.
$ cd Documents
Documents 내의 몇 가지 디렉토리로 이동하기 위해서, 위의 명령어를 수행할 수 있습니다.
따라서, Documents 내부로 깊숙히 갑니다.
parent 디렉토리 즉, 현재 디렉토리의 상위 디렉토리로 가기 위해서는 cd .. 명령어를 사용합니다.
cd ../명령어로도 갈 수 있습니다.
예를 들어,
홈 서브디렉토리인 Documents에서 또다른 홈 서브 디렉토리인 Music 으로 가는 또 다른 방법은,
home 디렉토리를 상징하는 ~ 와 상대경로를 사용하여 지정 할 수 있습니다 :
$ cd ~/Music/
위와 동일하게 수행하는 또 다른 방식은 현재 디렉토리에서 상대 경로를 사용하여,
Music 디렉토리로 가는 겁니다 :
$ cd ../Music
이제 우리는 Music 디렉토리에 있습니다.
이전에 있었던 Documents 디렉토리로 돌아가기 위해서, cd - 를 사용합니다.
몰랐던 내용인데, 너무 긴 경로를 쳤는데 다시 돌아가고 싶으면 너무 유용 할 명령어인것 같습니다.
결과적으로 당신이 어느 디렉토리나 서브디렉토리에 있던,
당신이 시작한 home 디렉토리로 언제나 돌아 갈 수 있습니다.
이를 수행하기 위해서,
파라미터 없이 cd 만 입력하거나, cd ~ 를 입력하세요.
cd 명령어는 만약 당신이 현재 디렉토리에서 다른 디렉토리로 변경 할 필요가 있을 때 유용합니다.
만약 당신이 건너가야 할 경로들의 전체 시퀀스를 기억하고 싶다면,
여기 두 개의 다른 명령어 pushd 와 popd 가 있습니다.
이 명령어들은 작업 할 디렉토리의 경로를 stack 즉, 쌓게 해 주며,
현재 작업 디렉토리를 바꾸게 해 줍니다.
이는 Linux 나 또다른 Unix-like 한 운영체제에서 가능합니다.
밑에서 이 두 명령어를 설명해보죠.
pushd command - 디렉토리 스택으로 저장하기
디렉토리 스택은 이전에 당신이 지정 해 둔 디렉토리들의 경로 리스트(목록) 입니다.
pushd 명령어는 스택에 디렉토리들에 대한 경로들을 추가하며,
현재 있는 경로를 방금 저장한 경로 즉, 맨 위의 경로로 바꿉니다.
pushd명령어로 어떠한 경로를 추가 할 경우, 해당 경로로 작업 경로가 즉시 바뀐다는 소리입니다.
만약, 현재 디렉토리에서 작업 중인데, 또 다른 디렉토리에서 작업을 마치고, 다시 돌아와서 작업을 이어가야 하는 경우,
이 명령어로 경로를 스택처럼 쌓는 것은 유용 해 보입니다.
디렉토리를 추가하기 위해서는, 해당 경로의 상대 경로나, 절대 경로를 입력해야 합니다.
예를 들어, Downloads 와 Project 라는 home 의 서브디렉토리의 경로들을 스택에 추가 해 봅시다 :
$ pushd ~/Downloads
~/Downloads ~
$ pushd ~/Project
~/Project ~/Downloads ~
우리가 만약에 스택에 어떠한 디렉토리들도 추가하지 않았다면,
스택은 현재 작업중인 디렉토리만 포함하고 있으며,
우리의 예제에서는 이 작업중인 디렉토리가 home 디렉토리인 ~ 디렉토리가 될 겁니다.
dirs -v 명령어를 사용하여 디렉토리 스택 내부의 내용을 볼 수 있습니다 :
$ dirs -v
0 ~/Project
1 ~/Downloads
2 ~
각각의 디렉토리는 스스로의 인덱스를 가지고 있는데,
이 인덱스는 cd 명령어를 사용하여 접속 될 수 있습니다.
예를 들어, 만약 우리가 Downloads 디렉토리로 가야 한다면,
cd ~1 을 치면 됩니다.
따라서, 위의 내용은 스택에 디렉토리 경로를 넣을 수 있는 방법이었습니다.
밑에서는 어떻게 이들을 pop 하는지에 대해서 말할 겁니다.
popd command - 디렉토리 스택에서 경로 꺼내기
디렉토리 스택의 최상위 경로를 pop 하고 이전 디렉토리 (최상위 바로 밑) 로 가기 위해서,
필요 한 것은 popd 명령어입니다.
이전 맥락의 예제를 이어 가 봅시다.
스택의 최상위에 있던 Project 디렉토리 경로는 스택으로부터 pop 되고,
Downloads 경로와 ~ 디렉토리, 두 개의 경로만 남습니다 :
$ popd
~/Downloads ~
$ dirs -v
0 ~/Downloads
1 ~
이제 디렉토리 스택의 최상위 디렉토리는 Downloads 이며, 우리는 현재 이 디렉토리에 있습니다.
만약 우리가 popd 명령어를 한 번 더 실행한다면,
작업하고 있던 home 디렉토리로 돌아 올 겁니다.
이 방식으로 우리는 디렉토리 스택이 빌 때 까지 계속적으로 디렉토리 경로를 pop 합니다.
만약 당신이 최상위 디렉토리가 아닌, 오로지 지정한 하나의 디렉토리만 지우고 싶다면,
인덱스를 참조하여 이를 수행 할 수 있습니다 :
$ popd +1
~/Downloads
$ dirs -v
0 ~/Downloads
이제 당신은 디렉토리 스택으로부터 pop 하는 법을 압니다.
Conclusion - 결론
위의 내용을 요약하면,
pwd명령어로 우리가 있는 디렉토리를 알 수 있다.cd명령어는 디렉토리 사이를 움직이기 위해 사용된다.- 만약 당신이 건너다닐 경로들의 전체 시퀀스를 기억하고 싶다면,
pushd,popd명령어를 사용 할 수 있다. pushd명령어는 디렉토리 경로의 스택을 생성한다.popd명령어는 스택으로부터 디렉토리를 pop 한다.
words to remember
optical : 광학, 눈의, 광학의, 광학상의
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Git' 카테고리의 다른 글
| Software lifecycle - 소프트웨어 생명 주기 (2) | 2024.06.18 |
|---|---|
| Introduction to software development models - 소프트웨어 개발 모델에 대한 기초적인 이해 (0) | 2024.06.17 |
| Searching with git - Git 에서 검색하는 법 (0) | 2024.06.13 |
| Editing the commit - 커밋 내용 수정하기 (0) | 2024.06.12 |
| SSH - SSH (Secure Shell) 기초 (1) | 2024.06.11 |