Type something to search...
백엔드 개발자를 위한 필수 리눅스(Linux) 터미널 명령어 총정리

백엔드 개발자를 위한 필수 리눅스(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)을 불러올 수 있습니다. 이 두 개의 키보드 조작만 습관화해도 작업 속도가 비약적으로 빨라질 것입니다.

Related Post

AWS EC2 입문: 나만의 첫 클라우드 서버 구축하기

AWS EC2 입문: 나만의 첫 클라우드 서버 구축하기

Amazon EC2는 클릭 몇 번으로 AWS 데이터 센터의 가상 서버를 빌려 쓰는 서비스이고, 프리티어 덕분에 학습용으로도 부담이 적습니다. 첫 인스턴스는 리전, AMI, 인스턴스 유형, 키 페어, 보안 그룹, 스토리지 여섯 가지만 설정하면 만들 수 있고, 이후 터미널에서 SSH로 접속합니다. 웹 애플리케이션에 왜 서버가 필요할까? 내 컴퓨터의

GitHub Actions로 시작하는 완벽한 CI/CD 파이프라인 자동화

GitHub Actions로 시작하는 완벽한 CI/CD 파이프라인 자동화

CI/CD는 실수하기 쉬운 수동 배포를 자동화된 빌드·테스트·릴리즈로 바꾸는 방법론이고, GitHub Actions는 GitHub 리포지토리 안에서 바로 동작하기 때문에 가장 쉽게 도입할 수 있는 도구 중 하나입니다. .github/workflows/에 YAML 파일 하나만 두면 푸시할 때마다 테스트가 자동으로 돌아갑니다. 수동 배포는 왜 문제

플랫폼 엔지니어링(Platform Engineering): DevOps의 다음 진화 단계

플랫폼 엔지니어링(Platform Engineering): DevOps의 다음 진화 단계

플랫폼 엔지니어링은 인프라의 복잡성을 '골든 패스' 뒤로 감춘 셀프 서비스형 내부 개발자 플랫폼(IDP)을 만들어, 애플리케이션 개발자가 인프라 전문가가 되지 않고도 안전하고 빠르게 배포할 수 있게 하는 분야입니다. DevOps를 대체하는 것이 아니라 DevOps 철학을 조직 전체 규모로 확장하는 것입니다. "You build it, you run