본문 바로가기

🧑🏻‍💻 Dev/Git & Github

[Git] CLI 명령어 사용하기

Git을 터미널에서 원활하게 사용하기 위해서 필요한 CLI 명령어에 대해서 먼저 알아보는 시간을 가져보자.

 

CLI 명령어

CLI란 Command Line Interface의 약어로 우리가 사용하는 검은색 화면의 터미널을 말한다. CLI 명령어는 검은색 화면에서 내가 직접 칠 수 있는 글자(명령어)라는 의미이다.

 

Git을 다뤄보기 전에 CLI 명령어에 대해서 알아보는 시간을 가져보자.

 

 

# pwd

내가 현재 위치해 있는 경로를 확인할 수 있는 명령어이다.

우리가 폴더에서 폴더를 클릭하면서 옮겨다닐 때는 눈에 다 보여서 상관이 없지만, 터미널에서 글자만 가지고 이 폴더 저 폴더를 옮겨 다니다 보면 내가 지금 어디에 위치해 있는지 헷갈릴 때가 있다. 이럴 때 사용해 주면 유용하게 쓰일 수 있다.

 

 

# ls

현재 경로에 존재하는 파일, 디렉터리들의 목록을 출력할 수 있다.

 

 

# ls -a

현재 경로에 존재하는 파일, 디렉터리들의 목록을 출력하는데, 추가적으로 숨길 파일까지 모두 출력해준다.

위에 보면 .이 붙은 파일들이 있는데, 이 파일들이 모두 숨김 파일들이다. 우리가 클릭해서 폴더로 들어가면 볼 수 없게 숨겨져 있다.

 

 

# cd {이동하고자 하는 경로}

이동하고자 하는 경로 또는 디렉터리를 입력해 주면 된다. 위에 ls -a의 결과로 나온 화면 중에서 만약 IdealProjects로 이동하고 싶다면 아래와 같이 치면 된다.

pwd 명령어로 바로 현재 경로까지 확인해 봤다.

 

 

# cd ..

상위 디렉터리로 이동할 수 있는 명령어이다. 여기서 상위 디렉터리란 내가 지금 /Users/kimhunsope/IdealProjects에 있을 때, /Users/kimhunsope이 현재 나의 상위 디렉터리를 말한다.

cd ..을 사용 후에 pwd 명령어로 확인해봤을 때, 정상적으로 상위 디렉터리로 이동된 것을 볼 수 있다.

 

 

# cd .

현재 디렉터리로 이동할 수 있는 명령어이다. 이 명령어는 현재 디렉터리로 이동하기 때문에 쳐도 아무 변화도 일어나지 않습니다.

 

 

# cd ~

Home 경로로 이동하는 명령어이다. Home 경로는 뭔데? 각자 컴퓨터마다 Home 경로가 있다. 보통 터미널을 처음 켰을 때, 처음 위치한 곳이 Home 경로이다. 이 경로는 변경하지 않는 것이 좋다고 한다.

 

처음 pwd를 했을 때인 /Users/kimhunsope이 내 Home 경로일 것이다. 한번 다른 경로로 이동했다가 Home으로 돌아와 보자.

 

 

# touch {파일 이름}

{파일 이름}을 이름으로 가지는 비어있는 파일이 하나 생성된다. 예시 코드로 test.txt라는 비어있는 텍스트 파일을 하나 만들어보자.

test.txt라는 파일이 새로 생성된 것을 볼 수 있다.

 

 

# cat {파일 이름}

{파일 이름}을 이름으로 가지는 파일의 내용을 출력해 주는 명령어이다. 위에서 새롭게 만든 test.txt 파일의 내용을 한번 출력해 보자.

몇 번을 쳐봐도 아무것도 출력되지 않는다. 왜냐하면 우리가 touch로 만들어준 test.txt는 비어있는 텍스트 파일이기 때문이다. 그럼 이 test.txt 파일에 내용을 추가해 보자.

 

 

# vi {파일 이름}

{파일 이름}을 이름으로 가지는 파일의 내용을 수정해 줄 수 있는 vi 편집기 창이 열린다. vi 편집기는 터미널 상에서 내용을 수정할 수 있도록 해주는 편집창이다. 

 

vi 편집기를 사용하기 위해서는 아래 2가지 정도의 내용은 알고 시작해야 한다.

 

1. 내용을 입력할 수 있는 모드

내용을 입력하기 위해서는 vi 편집기 창으로 가서 알파벳 i 또는 a를 누르면 아래에 INSERT라는 메시지가 뜨고 입력을 할 수 있는 모드로 변경된다.

이때부터 이제 vi 편집기에 내용을 입력할 수 있다.

 

2. 명령을 입력할 수 있는 모드

입력이 모두 완료됐으면 이제 저장을 하고, vi 편집기에서 나가야 한다. 이때 명령어를 사용해서 진행하는데, 이 명령어를 치기 위한 모드로 가기 위해서는 esc를 눌러주면 된다.

 

esc를 누르면 -- INSERT --라는 메시지가 사라지고 명령을 입력할 수 있는 모드가 된다. 이때 저장하는 명령어는 :w이고, 편집기에서 나가는 명령어는 :q이다. w는 write의 약자고, q는 quit의 약자이다. 기억하기 더 쉬울 것이다.

 

추가로 저장을 하고 바로 편집기에서 나가기 위한 명령어는 :wq이다.

 

이제 test.txt에 안녕하세요라는 내용을 입력하고 저장해 보자.

알파벳 i를 누르고 INSERT 모드에서 '안녕하세요.'를 입력했다. 그리고 항상 저장할 때는 엔터를 한 번 더 치고 나서 저장하는 것이 좋다. 이제 :wq 명령어로 저장을 하고 나가보자.

저장까지 모두 완료했다. cat 명령어로 우리가 저장한 내용이 잘 출력되는지 확인해 보자.

내용이 잘 출력되는 것을 확인할 수 있다.

 

 

# rm {파일 이름}

{파일 이름}의 이름을 가지는 파일을 삭제할 수 있다. test.txt 파일을 삭제해 보자.

두 번째 ls 명령어의 결과에서는 test.txt 파일이 사라진 것을 볼 수 있다.

 

 

# mkdir {디렉터리 이름}

{디렉터리 이름}을 이름으로 가지는 비어있는 디렉터리를 생성하는 명령어. 여기서 디렉터리란 윈도우에서는 폴더라는 말이 더 익숙할 수도 있다. mkdir이란 make directory의 약자이다. 외우기 쉽겠다. my_dir이라는 새로운 디렉터리를 만들어보자.

새로운 디렉터리가 생성된 것을 볼 수 있다. my_dir는 디렉터리이기 때문에 해당 디렉터리로 cd 명령어를 통해서도 들어갈 수 있다. 직접 해보시길 바란다.

 

 

# rmdir {디렉터리 이름}

생성도 있으면 삭제도 있어야 한다. {디렉터리 이름}을 이름으로 가지는 디렉터리를 삭제하는 명령어이다. 하지만 나중에 해보면 알 수 있지만 비어있는 디렉터리가 아니라면 rmdir을 이용해서 삭제할 수 없다. 이에 대한 내용은 다음에 알아보도록 하자. 앞서 만든 my_dir을 삭제해 보자.

두 번째 ls 명령어의 결과에서는 my_dir가 사라진 것을 볼 수 있다. 

 

 

# rm -rf {디렉터리 이름}

위에서 의문이었던 점을 여기서 해결할 수 있다. 이 명령어는 비어있지 않는 디렉터리도 강제로 삭제해 주는 명령어이다. 그렇기 때문에 사용할 때는 반드시 주의가 필요하다. 해당 명령어로 삭제하는 디렉터리는 복구 못한다고 생각하는 게 편하다. 사용할 때는 주의하자!

 

my_dir이라는 디렉터리를 하나 만들고, my_dir 안에 second_dir라는 디렉터리와 test.txt라는 파일을 한 번 생성한 뒤에 my_dir을 강제로 삭제해 보자.

생성하고, 삭제하는 모든 과정을 캡처해 봤다.

 

빨간색 네모 부분이 my_dir을 생성하고, my_dir 안으로 들어가서 second_dir과 test.txt를 생성하는 과정이다.

 

파란색 네모 부분이 my_dir을 삭제하는 부분인데, 비어있지 않은 디렉터리는 rmdir 명령어로 삭제되지 않는 것을 보여주기 위해서 한번 삭제해 봤다. 해당 디렉터리가 비어있지 않다는 메시지와 함께 삭제되지 않는다.

 

그리고 바로 rm -rf 명령어로 my_dir을 정상적으로 삭제해봤다.

 

다음 게시글에서는 Git과 Github가 무엇이 다르며 각각 어떤 기능을 하는지에 대해서 알아볼 생각이다.