
백엔드 개발자를 위한 필수 리눅스(Linux) 터미널 명령어 총정리
마우스를 버리고 키보드와 친해지기
윈도우(Windows)나 맥(macOS)의 화려한 GUI(그래픽 유저 인터페이스) 환경에 익숙한 상태에서, 처음 AWS EC2 같은 원격 서버에 접속하면 까만 화면에 하얀 글씨만 깜빡이는 터미널 환경(CLI)에 당황하기 십상입니다.
전 세계 웹 서버의 압도적인 다수는 리눅스(Linux) 운영체제로 구동됩니다. 서버를 관리하고, 로그를 확인하고, 애플리케이션을 배포하기 위해서는 리눅스 터미널 명령어와 친숙해지는 것이 필수불가결합니다. 처음에는 모든 명령어를 외우려 하기보다는, 자주 쓰이는 핵심 명령어들의 역할을 이해하고 필요할 때 찾아 쓰는 방식으로 접근하는 것이 좋습니다.
1. 파일 및 디렉토리 탐색기능
윈도우의 '파일 탐색기' 역할을 하는 가장 기초적인 명령어들입니다.
pwd(Print Working Directory): 내가 지금 위치해 있는 폴더(디렉토리)의 전체 절대 경로를 보여줍니다. 길을 잃었을 때 나침반 역할을 합니다.ls(List): 현재 폴더 안에 있는 파일과 폴더 목록을 출력합니다.ls -l: 파일의 권한, 소유자, 용량, 수정 시간 등 상세한 목록을 세로로 보여줍니다. (가장 많이 씀)ls -a: 이름이.으로 시작하는 숨김 파일까지 모두 보여줍니다.ls -al: 위 두 옵션을 합쳐 상세히 숨김 파일까지 봅니다.
cd [경로](Change Directory): 다른 폴더로 이동합니다.cd /: 최상위 디렉토리(Root)로 이동cd ~: 현재 접속한 사용자의 홈 디렉토리로 이동 (예:/home/ubuntu)cd ..: 한 단계 위(부모) 폴더로 이동
2. 파일 조작 (생성, 복사, 이동, 삭제)
mkdir [폴더명](Make Directory): 새로운 폴더를 생성합니다.cp [원본] [목적지](Copy): 파일이나 폴더를 복사합니다.- 폴더 전체를 안에 있는 내용물까지 통째로 복사하려면
-r(recursive) 옵션을 붙입니다. (cp -r myfolder backup_folder)
- 폴더 전체를 안에 있는 내용물까지 통째로 복사하려면
mv [원본] [목적지](Move): 파일이나 폴더를 다른 곳으로 '이동'시킵니다. 원본 파일의 이름을 '변경'할 때도 이 명령어를 사용합니다. (mv old_name.txt new_name.txt)rm [파일/폴더명](Remove): 파일을 삭제합니다. (주의: 윈도우 휴지통처럼 복구할 수 없으니 매우 신중해야 합니다!)- 폴더를 삭제하려면 역시
-r옵션이 필요합니다. - 묻지도 따지지도 않고 강제로 지우려면
-f(force) 옵션을 붙입니다. (예:rm -rf node_modules)
- 폴더를 삭제하려면 역시
3. 파일 내용 확인 및 검색
코드를 수정하거나 서버의 에러 로그를 확인할 때 사용합니다.
cat [파일명]: 파일의 전체 내용을 터미널 화면에 한 번에 주르륵 출력합니다. 파일이 길면 스크롤이 올라가 버립니다.less [파일명]: 파일의 내용을 스크롤 가능한 형태로 띄워줍니다. (방향키로 이동,q를 눌러 종료)tail [파일명]: 파일의 마지막(꼬리) 부분만 보여줍니다. 기본적으로 마지막 10줄을 보여줍니다.tail -f error.log: 실무에서 가장 많이 쓰는 옵션! 실시간으로 파일에 새로 추가되는 내용(로그)을 계속 화면에 업데이트하며 보여줍니다.
grep [검색어] [파일명]: 파일 안에서 특정 단어나 패턴이 포함된 줄만 찾아냅니다.- 예:
grep "Error" server.log(서버 로그에서 Error라는 단어가 들어간 줄만 찾기) - 다른 명령어의 출력 결과를 넘겨받아 검색할 때 파이프(
|)와 함께 자주 씁니다. (예:ps -ef | grep node)
- 예:
4. 시스템 관리 및 권한
sudo [명령어](SuperUser DO): 최고 관리자(root) 권한으로 명령어를 실행합니다. 프로그램 설치나 시스템 설정 변경 시 명령어 앞에 붙여야 'Permission Denied(권한 거부)' 에러를 피할 수 있습니다.ps(Process Status): 현재 실행 중인 프로세스 목록을 확인합니다. 보통ps -ef옵션으로 모든 프로세스 정보를 띄웁니다.kill [PID]: 문제가 생겨 멈춘 프로세스를 강제로 종료시킬 때 사용합니다.ps명령어로 확인한 고유 식별 번호(PID)를 입력합니다. 확실히 죽이고 싶을 땐kill -9 [PID]를 씁니다.chmod [권한값] [파일명](Change Mode): 파일이나 폴더의 읽기(r), 쓰기(w), 실행(x) 권한을 변경합니다. (예: 실행 권한 주기chmod +x script.sh)
팁: 탭(Tab) 키와 방향키 위(↑)
터미널에서 모든 파일명을 끝까지 타이핑하는 것은 비효율적입니다. 파일명의 앞글자만 치고 Tab 키를 누르면 자동으로 나머지 이름이 완성됩니다. 또한 **방향키 위(↑)**를 누르면 이전에 내가 입력했던 명령어 기록(History)을 불러올 수 있습니다. 이 두 개의 키보드 조작만 습관화해도 작업 속도가 비약적으로 빨라질 것입니다.

