
백엔드 개발자를 위한 필수 리눅스(Linux) 터미널 명령어 총정리
클라우드 서버나 도커 환경을 다루려면 몇 가지 핵심 리눅스 터미널 명령어만 알면 됩니다. 탐색(pwd, ls, cd), 파일 조작(mkdir, cp, mv, rm), 로그 확인(cat, less, tail, grep), 시스템 관리(sudo, ps, kill, chmod)입니다. 처음부터 모든 명령어를 외우기보다는, 자주 쓰이는 핵심 명령어들의 역할을 이해하고 나머지는 필요할 때 찾아 쓰는 방식이 좋습니다.
백엔드 개발자에게 리눅스 터미널이 왜 필요할까?
전 세계 웹 서버의 압도적인 다수는 리눅스(Linux) 운영체제로 구동됩니다. 서버를 관리하고, 로그를 확인하고, 애플리케이션을 배포하기 위해서는 리눅스 터미널 명령어와 친숙해지는 것이 필수불가결합니다.
윈도우(Windows)나 맥(macOS)의 화려한 GUI(그래픽 유저 인터페이스) 환경에 익숙한 상태에서, 처음 AWS EC2 같은 원격 서버에 접속하면 까만 화면에 하얀 글씨만 깜빡이는 터미널 환경(CLI)에 당황하기 십상입니다. 아래 명령어들부터 손에 익혀 두면 됩니다.
리눅스에서 파일과 디렉토리는 어떻게 탐색할까?
탐색 명령어는 윈도우의 '파일 탐색기' 역할을 하는, 터미널에서 가장 기초적인 명령어들입니다.
pwd(Print Working Directory): 내가 지금 위치해 있는 폴더(디렉토리)의 전체 절대 경로를 보여줍니다. 길을 잃었을 때 나침반 역할을 합니다.ls(List): 현재 폴더 안에 있는 파일과 폴더 목록을 출력합니다.ls -l: 파일의 권한, 소유자, 용량, 수정 시간 등 상세한 목록을 세로로 보여줍니다. (가장 많이 씀)ls -a: 이름이.으로 시작하는 숨김 파일까지 모두 보여줍니다.ls -al: 위 두 옵션을 합쳐 상세히 숨김 파일까지 봅니다.
cd [경로](Change Directory): 다른 폴더로 이동합니다.cd /: 최상위 디렉토리(Root)로 이동cd ~: 현재 접속한 사용자의 홈 디렉토리로 이동 (예:/home/ubuntu)cd ..: 한 단계 위(부모) 폴더로 이동
파일은 어떻게 생성·복사·이동·삭제할까?
리눅스에서는 mkdir, cp, mv, rm으로 파일과 폴더를 생성·복사·이동·삭제합니다.
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)
- 폴더를 삭제하려면 역시
파일 내용과 로그는 어떻게 확인하고 검색할까?
cat, less, tail, grep으로 파일을 읽고 검색할 수 있으며, 코드를 수정하거나 서버의 에러 로그를 확인할 때 사용합니다.
cat [파일명]: 파일의 전체 내용을 터미널 화면에 한 번에 주르륵 출력합니다. 파일이 길면 스크롤이 올라가 버립니다.less [파일명]: 파일의 내용을 스크롤 가능한 형태로 띄워줍니다. (방향키로 이동,q를 눌러 종료)tail [파일명]: 파일의 마지막(꼬리) 부분만 보여줍니다. 기본적으로 마지막 10줄을 보여줍니다.tail -f error.log: 실무에서 가장 많이 쓰는 옵션! 실시간으로 파일에 새로 추가되는 내용(로그)을 계속 화면에 업데이트하며 보여줍니다.
grep [검색어] [파일명]: 파일 안에서 특정 단어나 패턴이 포함된 줄만 찾아냅니다.- 예:
grep "Error" server.log(서버 로그에서 Error라는 단어가 들어간 줄만 찾기) - 다른 명령어의 출력 결과를 넘겨받아 검색할 때 파이프(
|)와 함께 자주 씁니다. (예:ps -ef | grep node)
- 예:
프로세스와 권한은 어떤 명령어로 관리할까?
sudo, ps, kill, chmod로 관리자 권한 실행, 프로세스 관리, 파일 권한 변경을 처리합니다.
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)을 불러올 수 있습니다. 이 두 개의 키보드 조작만 습관화해도 작업 속도가 비약적으로 빨라질 것입니다.

