터미널 명령어 기초 정리 - 개발자 입문자가 반드시 알아야 할 필수 가이드
명령어 한 줄로 파일을 옮기고, 검색하고, 자동화까지 처리하는 방법을 정리했습니다. 터미널이 처음이라면 이 글의 명령어부터 익혀두세요. macOS와 리눅스 환경 기준입니다
![]()
개발 영상이나 강의를 보다 보면 검은 화면에 글자만 입력해서 척척 작업하는 모습이 자주 나옵니다. 처음 보면 신기하고, 직접 따라 하려고 하면 어떤 명령어부터 익혀야 할지 막막합니다. 사실 터미널에서 매일 쓰는 명령어는 30개 안팎입니다. 아래 정리한 명령어만 익혀도 파일 정리, 로그 확인, 간단한 자동화까지 충분히 처리할 수 있습니다.
터미널을 처음 켰을 때 알아야 할 기본 개념
터미널은 운영체제에 명령을 직접 전달하는 도구입니다. macOS의 Terminal, 리눅스의 bash/zsh, 윈도우의 PowerShell이나 WSL 모두 같은 역할을 합니다. 그래픽 화면에서 마우스로 폴더를 여는 동작이, 터미널에서는 cd라는 한 줄 명령으로 처리됩니다.
화면에 보이는 $ 또는 % 기호는 프롬프트입니다. 명령을 입력하라는 신호로, 이 뒤에 명령어를 적고 엔터를 누르면 실행됩니다. 명령어는 띄어쓰기로 구분되며, 띄어쓰기 뒤에 오는 단어들은 보통 옵션이나 인자입니다.
경로의 의미
터미널에서 가장 자주 보게 될 개념은 경로(path)입니다. 절대경로는 /로 시작하는 전체 주소를, 상대경로는 현재 위치 기준의 상대적 위치를 가리킵니다. .은 현재 폴더, ..은 상위 폴더, ~는 사용자 홈 디렉토리를 의미합니다.
파일과 디렉토리를 다루는 핵심 명령어
가장 빈도가 높은 작업은 파일과 폴더를 만들고, 옮기고, 지우는 일입니다. 다음 표가 매일 손에 익혀둘 명령어 묶음입니다.
| 명령어 | 역할 | 예시 |
|---|---|---|
pwd | 현재 위치 확인 | pwd |
ls | 파일 목록 보기 | ls -lh |
cd | 폴더 이동 | cd ~/Documents |
mkdir | 폴더 생성 | mkdir project |
cp | 파일 복사 | cp a.txt b.txt |
mv | 이동/이름 변경 | mv old.txt new.txt |
rm | 삭제 | rm -i file.txt |
cat | 파일 내용 출력 | cat readme.md |
ls -lh의 -l은 상세 정보 표시, -h는 사람이 읽기 쉬운 단위로 파일 크기를 변환해 출력합니다. 결과에 표시되는 4.2K, 13M 같은 단위가 정확히 몇 바이트인지 빠르게 확인하고 싶다면 단위 변환기 같은 도구로 즉시 변환해 볼 수 있습니다.
rm은 휴지통을 거치지 않고 바로 삭제합니다. 처음 몇 달은 반드시 -i 옵션을 붙여 확인 절차를 거치세요. 실수로 rm -rf /를 입력하지 않도록 항상 경로를 한 번 더 확인하는 습관이 중요합니다.텍스트 검색과 편집을 위한 명령어
로그 파일이나 코드에서 특정 문자열을 찾을 때는 grep, 파일을 한 줄씩 빠르게 훑을 때는 head와 tail이 유용합니다.
- grep "error" app.log - app.log 파일에서 "error"가 포함된 줄만 출력
- grep -r "TODO" ./src - src 폴더 전체를 재귀적으로 뒤져 TODO 검색
- head -n 20 file.txt - 파일의 앞 20줄만 보기
- tail -f server.log - 로그 파일을 실시간으로 따라가며 출력
파일을 직접 편집해야 한다면 nano가 입문자에게 가장 부담이 적습니다. 화면 하단에 단축키 안내가 항상 표시되기 때문에 별도 학습 없이 바로 쓸 수 있습니다. vim은 학습 곡선이 가파르지만 익숙해지면 압도적으로 빠른 속도로 편집할 수 있습니다.
처음에는 nano로 시작하고, 같은 작업을 두 번 이상 반복할 때마다 더 효율적인 방법이 없는지 찾아보세요. 명령어는 외우는 것이 아니라 자주 쓰면서 손에 익는 것입니다.
시스템 정보 확인과 프로세스 관리
컴퓨터가 어떤 상태인지 확인하는 명령어들입니다. 개발 서버가 갑자기 느려지거나 멈췄을 때 가장 먼저 쓰게 됩니다.
실행 중인 프로세스 확인
ps aux는 모든 프로세스 목록을 출력합니다. 특정 프로세스만 찾을 때는 ps aux | grep node처럼 파이프(|)로 grep과 연결해 결과를 걸러냅니다. top이나 htop은 CPU와 메모리 사용량을 실시간으로 보여주는 모니터링 도구입니다.
프로세스 종료
응답하지 않는 프로세스는 kill PID로 종료합니다. PID는 프로세스 ID로, ps 결과에서 확인할 수 있습니다. 일반 종료가 통하지 않을 때는 kill -9 PID로 강제 종료합니다.
디스크와 메모리 확인
- df -h - 전체 디스크 사용량을 사람이 읽기 쉬운 형태로 표시
- du -sh ./folder - 특정 폴더가 차지하는 용량 합계
- free -h - 메모리 사용량 확인 (리눅스 전용)
네트워크와 파일 다운로드 명령어
터미널에서 웹 요청을 보내거나 파일을 받는 작업도 자주 합니다. curl과 wget이 대표 도구입니다.
| 명령어 | 용도 |
|---|---|
curl https://example.com | HTTP 요청 보내고 응답을 화면에 출력 |
curl -o file.html https://example.com | 응답 결과를 파일로 저장 |
wget https://example.com/file.zip | 파일 다운로드 |
ping google.com | 네트워크 연결 상태 확인 |
ssh user@server | 원격 서버 접속 |
API 응답을 테스트하거나 임시 데이터를 만들 때 셸 변수 $RANDOM으로 0부터 32767 사이의 정수를 얻을 수 있습니다. 셸 환경 밖에서 빠르게 난수가 필요한 경우라면 랜덤 숫자 생성기처럼 웹에서 즉시 값을 뽑을 수 있는 도구를 함께 쓰면 편리합니다.
작업 효율을 높이는 단축키와 팁
같은 명령을 매번 처음부터 입력할 필요는 없습니다. 터미널에는 입력 시간을 절반으로 줄이는 단축키가 있습니다.
- Tab - 자동완성 (파일명, 명령어 모두 가능)
- ↑/↓ - 이전 명령어 불러오기
- Ctrl + R - 명령어 기록 검색
- Ctrl + C - 현재 실행 중지
- Ctrl + L - 화면 지우기 (clear와 동일)
- Ctrl + A / Ctrl + E - 줄 맨 앞 / 맨 뒤로 커서 이동
같은 명령을 자주 쓴다면 alias로 줄일 수 있습니다. ~/.zshrc 또는 ~/.bashrc에 alias gs='git status'를 추가하면 이후 gs만 입력해도 됩니다. 셸 설정 파일을 수정한 뒤에는 source ~/.zshrc 명령으로 변경 사항을 적용해야 합니다.
지금 바로 시작하려면 두 가지를 추천합니다. 첫째, 매일 쓰는 폴더 이동을 마우스 대신 cd로 해보세요. 일주일이면 손에 익습니다. 둘째, history 명령으로 자기가 가장 자주 쓴 명령어를 확인하고, 그중 빈도가 높은 5개를 alias로 만들어두면 작업 속도가 체감될 만큼 빨라집니다.