CodeGym /행동 /Docker SELF /커맨드 라인 기본(CLI): 명령 구조, 터미널 사용법

커맨드 라인 기본(CLI): 명령 구조, 터미널 사용법

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

1. Linux 커맨드 라인과 친해지기

왜 커맨드 라인일까?

본격적으로 들어가기 전에, 먼저 이 질문부터! Linux에 멋진 GUI가 있는데 왜 굳이 커맨드 라인을 써야 할까? 커맨드 라인(Command Line Interface, CLI)은 진짜 프로, 시스템 관리자, 프로그래머들이 쓰는 도구야. CLI를 쓰면 작업을 훨씬 빠르게 할 수 있고, 반복적인 일도 자동화할 수 있고, 키보드에서 손 떼지 않고도 백그라운드에서 마법을 부릴 수 있어. CLI는 Linux 세계에서 진짜 슈퍼파워 같은 거라서, 효율적으로 일하려면 꼭 익혀야 해.

터미널, 쉘, 그리고 CLI

첫 명령을 치기 전에, 터미널의 마법 뒤에 뭐가 있는지부터 알아보자.

1. 터미널

터미널은 커맨드 라인에 접근할 수 있게 해주는 프로그램이야. 텍스트로 OS랑 소통할 수 있게 해주지. Linux에서 많이 쓰는 터미널은:

  • GNOME Terminal (GNOME 환경에서).
  • Konsole (KDE 환경에서).
  • xterm (전설이지만 좀 올드함).
  • Windows Terminal for WSL

2. 쉘(Shell)

쉘은 명령을 해석해서 OS에 전달해주는 소프트웨어야. 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 쉘에서 $ 기호는 터미널 프롬프트(pormpt)로 쓰여. 시스템이 명령을 받을 준비가 됐다는 뜻이지. $는 사용자가 입력해야 하는 명령과 그 결과를 구분하는 데도 써.

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

이제 다음 단계, 파일 시스템과 그 안의 내용 다루기에 도전해보자!

8. CodeGym 플러그인이 뭐고 왜 필요할까?

문제는 웹사이트에서도 풀 수 있고, JetBrains IDE에 CodeGym 플러그인과 Shell Script가 설치되어 있으면 IDE에서도 풀 수 있어(보통 Shell Script는 이미 설치되어 있음).

IDE가 없다면 IntelliJ IDEA Community Edition 설치를 추천해.

  1. IntelliJ IDEA 설치 방법 안내.
  2. 첫 프로젝트 만드는 법.

CodeGym 플러그인은 Jetbrains 마켓플레이스에서 바로 IDE 안에서 설치할 수 있어.

  1. "설정" 메뉴로 들어가. Windows/Linux는 File - Settings, MacOS는 IntelliJ IDEA - Preferences. 설정 메뉴가 안 보이면 아무 프로젝트나 열거나 새로 만들어봐.

  2. 나온 창의 왼쪽 메뉴에서 Plugins를 선택하고 Marketplace 탭을 열어. 검색창에 codegym을 입력해.

  3. 플러그인을 선택하고 Install 버튼을 눌러.
  4. IntelliJ IDEA를 재시작(Restart IDE)하면 플러그인 사용 가능.
  5. 조금 바뀐 인터페이스와 상단에 로그인 버튼이 보일 거야.
  6. 눌러보면 계정 로그인 창이 뜨고, 거기서 비밀키를 입력해야 해. 비밀키는 “설정” → “보안 및 로그인”에서 찾을 수 있어.

  7. 새 문제를 열려면 왼쪽 패널에서 Tasks를 누르고, 왼쪽 사이드바에서 문제 카드를 클릭한 다음, 팝업 창에서 열기를 눌러.

  8. 두 개의 탭이 있는 창이 열릴 거야. 하나는 문제 조건, 다른 하나는 코드 입력용. shellcheck에서 shell 스크립트 체크 메시지가 뜨면 동의해.
  9. 이제 문제 풀이 코드를 입력하고 Validate 버튼으로 제출하거나, 로컬에서 실행해봐.

플러그인 설치 완료! 이제 문제 풀 수 있어.

문제 동기화: 사이트 ↔ 플러그인

문제 리스트와 상태는 자동으로 5분마다, 또는 문제를 제출할 때마다(CodeGym 서버) 갱신돼.

웹사이트에서 문제를 풀면, 플러그인에서도 해결된 문제로 표시돼. 지금 바로 상태를 새로고침하고 싶으면, 오른쪽 위 아바타를 눌러서 드롭다운 메뉴에서 문제 동기화를 선택해:

플러그인 초보자 모드

IntelliJ IDEA나 다른 IDE 경험이 없거나 적은 사람을 위한 간단 버전이야. 일부 기능이 숨겨져 있어. 이 모드를 끄려면 오른쪽 위 아바타를 눌러서 드롭다운 메뉴에서 설정을 선택해:

PRO 모드에서 플러그인 네비게이션 패널 숨기기

설정(⚙️)에서 "플러그인 네비게이션 패널 표시" 체크를 해제하면 돼:

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