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 studentpwd(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로 풀어보자.
과제:
- 현재 사용자 알아내기.
- 홈 디렉토리로 이동하기.
- 거기 뭐 있는지 보기.
test_folder폴더 만들기.- 폴더가 생겼는지 확인하기.
풀이:
# 현재 사용자 알아내기
whoami
# 홈 디렉토리로 이동
cd ~
# 디렉토리 내용 보기
ls
# 폴더 만들기
mkdir test_folder
# 폴더 있는지 확인
ls -l
단계별 설명:
whoami로 내가 어떤 사용자로 로그인했는지 확인.cd ~로 홈 디렉토리로 이동.~는 항상 현재 사용자의 홈 폴더를 의미해.ls로 폴더 만들기 전후로 디렉토리 내용을 확인.
6. 흔한 실수와 피하는 법
커맨드 라인 쓰다 보면, 특히 처음엔 실수하기 쉽지. 자주 나오는 상황 몇 가지:
파일/폴더 이름에 공백. 이름에 공백이 있으면 꼭 따옴표로 감싸야 해. 예시:
mkdir "My Folder"잘못된 경로.
No such file or directory메시지가 뜨면, 경로가 잘못된 거야.cd /unknown/path명령어 오타. 터미널은 오타를 용서하지 않아:
lss대신ls를 써야 해. 아니면 없는 명령일 수도 있어.
7. 이걸 왜 배워야 할까?
CLI는 어떤 시스템이든 관리할 수 있는 강력한 도구야. 서버 세팅부터 자동화 스크립트 작성까지 다 쓸 수 있어. 면접에서도 터미널로 작업하는 명령을 자주 물어보니까, 지금 배우는 게 나중에 진짜 쓸모 있을 거야.
게다가 CLI를 알면 git 같은 버전 관리 시스템도 쉽게 익힐 수 있고, 서버 개발이나 자동화 스크립트도 만들 수 있어. 명령 구조, 폴더 이동, 기본 단축키 같은 기초부터 시작하는 거지.
실습 조금 더!
다음 과제도 한번 해봐:
- 현재 날짜 알아내기.
logs폴더 만들기.- 그 안에
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 설치를 추천해.
- IntelliJ IDEA 설치 방법 안내.
- 첫 프로젝트 만드는 법.
CodeGym 플러그인은 Jetbrains 마켓플레이스에서 바로 IDE 안에서 설치할 수 있어.
"설정" 메뉴로 들어가. Windows/Linux는
File - Settings, MacOS는IntelliJ IDEA - Preferences. 설정 메뉴가 안 보이면 아무 프로젝트나 열거나 새로 만들어봐.나온 창의 왼쪽 메뉴에서 Plugins를 선택하고 Marketplace 탭을 열어. 검색창에 codegym을 입력해.
- 플러그인을 선택하고 Install 버튼을 눌러.
- IntelliJ IDEA를 재시작(Restart IDE)하면 플러그인 사용 가능.
- 조금 바뀐 인터페이스와 상단에 로그인 버튼이 보일 거야.
새 문제를 열려면 왼쪽 패널에서
Tasks를 누르고, 왼쪽 사이드바에서 문제 카드를 클릭한 다음, 팝업 창에서 열기를 눌러.- 두 개의 탭이 있는 창이 열릴 거야. 하나는 문제 조건, 다른 하나는 코드 입력용. shellcheck에서 shell 스크립트 체크 메시지가 뜨면 동의해.
- 이제 문제 풀이 코드를 입력하고
Validate버튼으로 제출하거나, 로컬에서 실행해봐.
눌러보면 계정 로그인 창이 뜨고, 거기서 비밀키를 입력해야 해. 비밀키는 “설정” → “보안 및 로그인”에서 찾을 수 있어.
플러그인 설치 완료! 이제 문제 풀 수 있어.
문제 동기화: 사이트 ↔ 플러그인
문제 리스트와 상태는 자동으로 5분마다, 또는 문제를 제출할 때마다(CodeGym 서버) 갱신돼.
웹사이트에서 문제를 풀면, 플러그인에서도 해결된 문제로 표시돼. 지금 바로 상태를 새로고침하고 싶으면, 오른쪽 위 아바타를 눌러서 드롭다운 메뉴에서 문제 동기화를 선택해:
플러그인 초보자 모드
IntelliJ IDEA나 다른 IDE 경험이 없거나 적은 사람을 위한 간단 버전이야. 일부 기능이 숨겨져 있어. 이 모드를 끄려면 오른쪽 위 아바타를 눌러서 드롭다운 메뉴에서 설정을 선택해:
PRO 모드에서 플러그인 네비게이션 패널 숨기기
설정(⚙️)에서 "플러그인 네비게이션 패널 표시" 체크를 해제하면 돼:

GO TO FULL VERSION