본문 바로가기

2일차 터미널(CLI) 정복 (Mouse-less)

1. 필수 명령어 : 컴퓨터와 대화하는 법

우리가 윈도우 탐색기나 파인더에서 하던 짓(폴더 클릭, 뒤로 가기, 새 폴더 만들기)을 텍스트로 수행합니다.

  • 내비게이션(탐험)
    • pwd(Print Working Directory) : "나 지금 어디 있어?" (현재 위치 확인) 
    • ls(List) : "여기 뭐 있어?" (현재 폴더의 파일 목록 조회) 
      • ls -al : 숨긴 파일까지 자세히 보여줘 
    • cd(Change Directory) : "여기로 이동해"(win에서는 경로에 \이걸 넣어야 하고 맥에서는 /을 넣어야 함)
      • cd .. : 상위 폴더로 이동.
      • cd~/cd : 홈 디렉토리(내 방)로 이동(win에서는 cd ~, 맥에서는 cd만 입력해도 됨)
  • 조작(CRUD)
    • 파일과 폴더를 다루는 가장 기본적인 명령어 입니다.
명령어 의미 예시 비고
mkdir 폴더 생성(Make directory) mkdir my-project  
vi 빈 파일 생성 vi index.html 맥/윈도우 등등 OS마다 명령어가 다르니 주의! vi는 맥 리눅스에서 사용 가능
cp 복사(Copy) cp a.txt b.txt  
mv 이동/이름 변경(Move) mv a.txt folder/ 파일명을 바꿀 때도 씀 (mv old.txt new.txt)
rm 삭제(Remove) rm useless.txt 주의: 휴지통으로 안가고 즉시 삭제됨

주의: rm *이나 rm -rf / 같은 명령어는 모든 파일 혹은 디렉토리들을 날려버릴수도 있으니 굉장히 주의하고 사용해야 함.

 

 

2. vi 입문 : 개발자의 메모장

서버에는 메모장이나 우리가 사용하는 IDE(vscode)같은 툴이 없습니다. 오직 vi만 있습니다. 

  1. 명령 모드(Normal Mode) : 키보드가 단축키로 작동(이동, 삭제 등). 켜자마자 이 상태임
  2. 입력 모드(Insert Mode) : 글자를 타이핑하는 상태

실습 시나리오(따라 하기 맥 기준임)

  1. 파일 생성 : 터미널에 vi test.txt입력 후 엔터
  2. 입력 모드 진입 : 키보드에서 i(Insert)를 누릅니다.
  3. 텍스트 입력 : "This is test"라고 입력합니다.
  4. 저장 및 종료:
    1. ESC키를 눌러 명령 모드로 돌아간 후
    2. shift+ zz 또는 :wq를 입력하고 엔터. 

 

 

3. 권한 관리(Permission): 내 구역은 내가 지킨다.

리눅스/유닉스 시스템은 다중 사용자 시스템입니다. 내 파일을 남이 함부로 못 보게 잠가야 합니다. 이때 사용하는 것이 chmod(Change Mode)입니다.

  • 권한의 3요소
    • 파일의 권한은 Read(읽기), Write(쓰기), Execute(실행) 3가지로 구성되며, 각각 숫자로 표현됩니다.
  • R(Read) : 4
  • W(Write) : 2
  • X(Execute) : 1

(이 숫자들을 더해서 권한을 설정합니다.)

 

  • 755와 777의 의미
    • 권한은 소유자(Me), 그룹(Group), 나머지(Others) 순서로 3자리를 적습니다.
  • 777(위험) :
    • 소유자(4+2+1=7), 그룹(7), 나머지(7).
    • 의미 : "누구나 읽고, 쓰고, 실행할 수 있다."(보안상 최악)
  • 755(국룰):
    • 소유자(7): 다 할 수 있음.
    • 그룹(4+1=5):읽고 실행만 가능(수정 불가).
    • 나머지(5): 읽고 실행만 가능
    • 의미: "나는 수정할 수 있고, 남들은 보기만 해"
chmod 755 script.sh  # 실행 권한 부여

 

 오늘의 미션 (Homework)

로드맵의 'Hardcore Edition' 답게, 눈으로만 보지 말고 터미널을 켜고 다음 과정을 수행한 뒤 스크린숏이나 결과를 확인하세요.

  1. 터미널을 켭니다.
  2. mkdir academy로 폴더를 만들고, cd academy로 들어갑니다.
  3. vi day2.txt로 파일을 만들고, 본인의 각오를 한 문장 적고 저장(:wq)하세요.
  4. chmod 400 day2.txt를 입력해 봅니다. (나만 읽을 수 있음, 수정 불가)
  5. 다시 vi day2.txt를 열어 수정해 보세요. (수정이 안 되거나 경고가 뜰 겁니다. 이게 권한의 힘입니다!)
  6. 마지막으로 cd .. 로 나와서 rm -rf academy 로 흔적 없이 삭제합니다.
컴공이지만 코딩 못함 잘하면 이름 바꿀거임
@컴공이지만 코딩 못함 잘하면 이름 바꿀거임 :: 맥북 산 김에 개발하기

맥북 산 김에 코딩 공부 열심히 해서 개발이나 해보겠습니다.

열심히 해보겠습니다

목차