리눅스 입문자를 위한 필수 기본 명령어 15가지 (초보자도 5분이면 이해)

Picture of Ethan Blake
Ethan Blake

미국 실리콘밸리에서 작은 스타트업을 운영하고 있습니다. 주로 서버, 네트워크와 IT 관련된 스마트기기 사용법을 서술합니다.

Table of Contents

지난 글에서 “리눅스를 왜 배워야 하는가”를 이야기했다면, 이번 글은 그 다음 단계입니다. 막상 검은 터미널 화면을 마주하면 어디서부터 뭘 입력해야 할지 막막하죠. 이 글에서는 리눅스를 처음 만지는 분이 딱 이것만 알아도 기본기는 잡는다 싶은 명령어 15가지를 실제 사용 예시와 함께 정리했습니다.

들어가기 전에: 터미널이 두렵지 않아도 되는 이유

리눅스를 어렵게 느끼는 가장 큰 이유는 마우스가 아니라 ‘글자’로 컴퓨터에 명령을 내리기 때문입니다. 하지만 뒤집어 생각하면, 클릭 몇 번으로 헤맬 일을 명령어 한 줄로 끝낼 수 있다는 뜻이기도 합니다.

명령어는 대부분 동사(무엇을 할지) + 대상(어디에/무엇을) 구조로 되어 있습니다. 예를 들어 cd 폴더이름은 “그 폴더로 이동하라”는 뜻이죠. 이 구조만 이해하면 나머지는 단어를 외우는 문제일 뿐입니다.

그럼 실제로 가장 많이 쓰는 명령어부터 하나씩 살펴보겠습니다.


1. pwd — 지금 내가 어디에 있는지 확인하기

pwd(print working directory)는 현재 위치한 디렉터리(폴더)의 전체 경로를 보여줍니다. 파일 작업을 하다 보면 “지금 어디에 있는 거지?” 싶을 때가 많은데, 그때 길을 잃지 않게 해주는 나침반 같은 명령어입니다.

pwd
# 출력 예시: /home/user/documents

2. ls — 현재 폴더의 파일 목록 보기

ls(list)는 현재 폴더 안에 어떤 파일과 폴더가 있는지 나열합니다. 뒤에 옵션을 붙이면 더 자세히 볼 수 있습니다.

ls          # 파일 이름만 간단히
ls -l       # 권한, 크기, 수정 날짜까지 자세히
ls -a       # 숨김 파일(.으로 시작)까지 모두
ls -lh      # 파일 크기를 사람이 읽기 쉬운 단위(KB, MB)로

옵션은 ls -la처럼 묶어서 쓸 수도 있습니다.

3. cd — 폴더 이동하기

cd(change directory)는 다른 폴더로 이동할 때 씁니다. 리눅스에서 가장 자주 치게 될 명령어 중 하나입니다.

cd documents      # documents 폴더로 이동
cd ..             # 상위(부모) 폴더로 이동
cd ~              # 홈 디렉터리로 바로 이동
cd /              # 최상위 루트로 이동

cd만 입력하면 어디에 있든 홈으로 돌아옵니다. 길을 잃었을 때 유용합니다.

4. mkdir — 새 폴더 만들기

mkdir(make directory)로 새 폴더를 생성합니다.

mkdir project              # project 폴더 생성
mkdir -p work/2025/docs    # 중간 폴더까지 한 번에 생성

-p 옵션은 부모 폴더가 없어도 필요한 경로를 통째로 만들어 주기 때문에 실무에서 자주 씁니다.

5. touch — 빈 파일 만들기

touch는 원래 파일의 수정 시각을 갱신하는 명령어지만, 실무에서는 빈 파일을 빠르게 만들 때 더 많이 씁니다.

touch memo.txt
touch index.html style.css   # 여러 개 동시에 생성

6. cp — 파일 복사하기

cp(copy)는 파일이나 폴더를 복사합니다.

cp memo.txt backup.txt          # 파일 복사
cp -r project project_backup    # 폴더 통째로 복사(-r 필수)

폴더를 복사할 때는 반드시 -r(recursive) 옵션을 붙여야 합니다.

7. mv — 파일 이동하거나 이름 바꾸기

mv(move)는 파일을 다른 위치로 옮기거나, 같은 자리에서 이름만 바꿀 때 씁니다. 두 기능을 하나로 처리하는 게 특징입니다.

mv memo.txt documents/      # documents 폴더로 이동
mv old.txt new.txt          # 이름 변경

8. rm — 파일 삭제하기 (주의!)

rm(remove)은 파일을 삭제합니다. 리눅스에는 휴지통 개념이 없어서, 지운 파일은 되돌리기가 매우 어렵습니다. 특히 아래 명령은 신중하게 사용해야 합니다.

rm memo.txt          # 파일 삭제
rm -r project        # 폴더와 그 안의 모든 것 삭제
rm -i memo.txt       # 삭제 전 확인 물어보기(안전)

⚠️ 초보자 주의: rm -rf / 같은 명령은 시스템 전체를 날려버릴 수 있습니다. 인터넷에서 본 명령어를 뜻도 모르고 그대로 복사·실행하지 마세요.

9. cat — 파일 내용 화면에 출력하기

cat(concatenate)은 파일 내용을 터미널에 그대로 보여줍니다. 짧은 텍스트 파일을 빠르게 확인할 때 편리합니다.

cat memo.txt
cat file1.txt file2.txt    # 여러 파일 이어서 출력

10. less — 긴 파일을 페이지 단위로 보기

내용이 긴 파일은 cat으로 보면 화면이 순식간에 지나가 버립니다. 이때 less를 쓰면 위아래 방향키로 천천히 읽을 수 있습니다.

less long_log.txt

읽는 중에 /검색어로 특정 단어를 찾을 수 있고, q를 누르면 빠져나옵니다.

11. grep — 원하는 글자가 들어간 줄만 찾기

grep은 파일 안에서 특정 단어가 포함된 줄만 골라 보여줍니다. 로그 파일에서 오류 메시지를 찾는 등, 익숙해지면 없으면 안 될 명령어가 됩니다.

grep "error" server.log        # error가 들어간 줄만 출력
grep -i "error" server.log     # 대소문자 구분 없이
grep -rn "TODO" ./             # 폴더 전체에서 TODO 찾기(줄 번호 포함)

12. find — 파일 위치 검색하기

find는 조건에 맞는 파일을 폴더 안에서 찾아줍니다.

find . -name "*.txt"           # 현재 폴더 이하 모든 txt 파일
find . -name "report*"         # report로 시작하는 파일

13. sudo — 관리자 권한으로 실행하기

시스템 설정을 바꾸거나 프로그램을 설치할 때는 관리자 권한이 필요합니다. 명령어 앞에 sudo를 붙이면 됩니다. 실행 시 비밀번호를 물어봅니다.

sudo apt update

sudo는 “이 명령이 시스템에 영향을 줄 수 있다”는 신호이기도 하니, 붙일 때 한 번 더 생각하는 습관을 들이면 좋습니다.

14. apt — 프로그램 설치·업데이트 (우분투 계열)

우분투나 데비안 계열 리눅스에서는 apt로 프로그램을 관리합니다. 윈도우의 설치 마법사 대신 명령어 한 줄로 끝난다는 게 매력입니다.

sudo apt update                # 패키지 목록 갱신
sudo apt install git           # git 설치
sudo apt upgrade               # 설치된 프로그램 업데이트

15. man — 명령어 사용법 직접 찾아보기

마지막은 어쩌면 가장 중요한 명령어입니다. man(manual)은 각 명령어의 공식 설명서를 보여줍니다. 옵션이 기억나지 않을 때 검색 대신 여기서 바로 확인할 수 있습니다.

man ls        # ls 명령어의 모든 옵션 설명

q를 누르면 빠져나옵니다. 모든 명령어를 외우려 하기보다, “필요할 때 man으로 찾아본다”는 태도가 리눅스를 오래 쓰는 비결입니다.


마무리: 손에 익히는 게 반이다

여기까지 15개 명령어를 훑어봤습니다. 한 번 읽는다고 바로 외워지지는 않습니다. 중요한 건 직접 터미널에 쳐보는 것입니다.

추천 연습 방법은 이렇습니다. 먼저 mkdir로 연습용 폴더를 하나 만들고, cd로 들어가서, touch로 파일 몇 개를 만든 뒤, ls, cp, mv, rm을 이것저것 시험해 보세요. 실제 시스템 파일이 아니라 연습 폴더 안에서만 놀면 안전하게 감을 익힐 수 있습니다.

이 15가지가 손에 익으면, 리눅스 화면이 더 이상 낯선 검은 창이 아니라 내 명령을 정확히 따르는 든든한 도구로 느껴질 겁니다.

다음 글에서는 여러 명령어를 파이프(|)로 연결해 한 번에 처리하는 방법을 다뤄보겠습니다. 궁금한 점이나 잘 안 되는 부분이 있으면 댓글로 남겨주세요.

사용자 리뷰