CodeGym /행동 /Docker SELF /명령줄 인터페이스(CLI) 기본: 명령 구조, 터미널 작업

명령줄 인터페이스(CLI) 기본: 명령 구조, 터미널 작업

Docker SELF
레벨 1 , 레슨 4
사용 가능

명령줄 인터페이스(CLI) 기본: 명령 구조, 터미널 작업

1. Linux 명령줄과의 첫 만남

왜 명령줄인가?

우리가 깊이 들어가기 전에, 먼저 가장 중요한 질문에 답하자: 왜 Linux에서 예쁜 그래픽 인터페이스가 있는데도 명령줄이 필요한 걸까? 명령줄(Command Line Interface, CLI)은 전문가들, 시스템 관리자 및 프로그래머들을 위한 도구야. CLI를 사용하면 작업을 더 빠르게 수행하고, 반복적인 작업을 자동화하며, 손을 키보드에서 떼지 않고도 백그라운드 마법 같은 것도 처리할 수 있어. CLI는 Linux 세계에서 너를 더 효율적으로 만들어 줄 초능력 같은 거지.

터미널, 쉘과 CLI

첫 명령을 입력하기 전에, 터미널의 마법 뒤에 어떤 비밀이 숨어 있는지 함께 알아보자.

1. 터미널

터미널은 명령줄에 접근할 수 있게 해주는 프로그램이야. 텍스트를 통해 운영체제와 상호작용할 수 있어. Linux에서는 다음과 같은 인기 있는 터미널들이 있어:

  • GNOME Terminal (GNOME에서).
  • Konsole (KDE에서).
  • xterm (전설적이지만 오래된).
  • Windows Terminal for WSL

2. 쉘 (Shell)

쉘은 명령을 해석하고 이를 운영체제에 전달하는 소프트웨어야. Linux에서 가장 인기 있는 쉘은 Bash (Bourne Again Shell)이고, 대안들도 있어:

  • Zsh: 커스터마이징 애호가들을 위한 확장된 명령 쉘.
  • Sh: 클래식 Unix 쉘 (최소주의).

우리는 시작 단계에서는 Bash로 작업할 거야. 왜냐하면 그게 표준이니까.


2. 명령의 구조

CLI에서 명령은 엄격한 형식을 가지고 있으며 이를 이해하는 것이 성공의 열쇠야.

명령의 기본 형식

모든 명령은 세 부분으로 구성돼:

[명령] [옵션] [인수]
  • 명령: 시스템에 요청하는 작업. 예를 들어, ls (파일 목록 보기).
  • 옵션 (또는 플래그): 명령의 동작을 수정해. 예를 들어, -l (ls 명령에 대한 자세한 목록).
  • 인수: 명령에 전달하는 추가 데이터. 예: 파일 또는 폴더의 경로.

예제:

ls -l /home

여기서:

  • ls — 명령;
  • -l — 자세한 목록 옵션;
  • /home — 인수 (내용을 보고 싶은 폴더).

3. 네비게이션과 CLI 기본 명령

시스템과 상호작용을 시연하는 가장 간단한 명령부터 시작하자.

1. 나는 누구인가? 나는 어디에 있는가?

  • whoami: 현재 사용자를 보여준다.

    $ whoami
    student
    
  • pwd (print working directory): 현재 디렉토리를 보여준다.

    $ pwd
    /home/student
    
중요!

대부분의 Unix/Linux 쉘에서는 $ 기호가 터미널에서 프롬프트로 사용된다. 이는 시스템이 명령을 받을 준비가 되었음을 나타낸다. $ 기호는 사용자가 입력해야 하는 명령과 해당 명령의 출력물을 구분하는 데 사용된다.

2. 주변을 살펴보자

  • ls (list): 현재 디렉토리의 내용을 보여준다.

      $ ls
      Documents  Downloads  Music
    

    유용한 옵션:

    • -l: 파일 및 폴더에 대한 자세한 정보.
    • -a: 숨겨진 파일 표시.

예제:

ls -la

3. 폴더 간 이동

  • cd (change directory): 디렉토리 간 이동을 가능하게 한다.
    $ cd /home
    $ pwd
    /home
    

4. 터미널 단축키

커맨드 라인은 여러 편리한 키 조합을 제공해:

  • Ctrl+C: 현재 명령 실행 중단.
  • Ctrl+D: 현재 세션 종료.
  • Tab: 파일이나 폴더 자동 완성. 진짜 유용하니까 자주 써봐.
  • Arrow Up/Down: 최근 명령들 간 전환.

실용적인 팁: 너가 해커가 된 기분을 느끼고 싶으면, Ctrl+C를 누르고 멋쩍은 시선으로 옆을 보는 게 완벽한 스타일이야.


5. 간단한 명령어 예제: 이제 시작하자!

간단한 실습 과제를 만들어서 CLI로 해결해 보자.

과제:

  1. 현재 사용자를 알아내기.
  2. 홈 디렉토리로 이동하기.
  3. 그곳에 무엇이 있는지 확인하기.
  4. test_folder 폴더 생성하기.
  5. 폴더가 생성되었는지 확인하기.

해결 방법:


# 현재 사용자 확인
whoami

# 홈 디렉토리로 이동
cd ~

# 디렉토리 내용 확인
ls

# 폴더 생성
mkdir test_folder

# 폴더 생성 확인
ls -l

단계 설명:

  1. whoami 명령어로 우리가 어떤 사용자로 작업 중인지 확인했다.
  2. cd ~ 명령어로 홈 디렉토리로 이동했다. ~ 기호는 항상 현재 사용자의 홈 폴더를 가리킨다.
  3. ls 명령어는 폴더를 생성하기 전과 생성 후의 디렉토리 내용을 보여주었다.

6. 흔한 실수와 피하는 방법

커맨드 라인을 사용하다 보면 특히 처음에는 항상 실수를 하게 돼. 여기 몇 가지 흔한 상황들이 있어:

  • 파일/폴더 이름에 공백. 이름에 공백이 포함되어 있다면 반드시 따옴표로 감싸줘. 예를 들어:

    mkdir "My Folder"
    
  • 잘못된 경로. No such file or directory 메시지가 보인다면, 존재하지 않는 경로를 지정한 거야.

    cd /unknown/path
    
  • 명령어 오타. 터미널은 실수를 허용하지 않아: lss 대신 ls를 써야 돼 — 아니면 그 명령어가 아예 없을 수도 있어.


7. 이게 왜 필요할까?

CLI는 어떤 시스템이든 제어할 수 있는 강력한 도구야. 서버를 설정하거나 자동화 스크립트를 작성할 때까지 어디에서나 사용돼. 회사 면접에서도 종종 터미널로 작업을 수행하는 명령어를 묻기도 하니까, 지금 배우는 지식이 나중에 중요한 무기가 될 거야.

추가로 CLI는 git 같은 버전 관리 시스템을 다루거나, 서버 애플리케이션 개발, 자동화 스크립트 작성에도 도움을 줄 거야. 명령 구조, 폴더 간 이동, 기본 키 조합 같은 기초를 이해하는 것부터 시작해.

실습 조금 해보기

다음 과제를 한번 해결해 봐:

  1. 현재 날짜를 확인하기.
  2. logs 폴더 만들기.
  3. 그 안에 log.txt 파일을 만들어 현재 날짜를 기록하기.
해답 예제

# 현재 날짜 확인하기
date

# logs 폴더 만들기
mkdir logs

# 날짜를 log.txt에 기록하기
date > logs/log.txt

# 파일 내용 확인하기
cat logs/log.txt

이제 다음 단계로 넘어갈 준비가 됐어 — 파일 시스템과 그 내용 작업!

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION