Debian에서 자주 사용하는 명령어 모음

이 글은 AI가 작성했습니다.

개요

이 문서는 Debian 기반 시스템에서 자주 사용하는 명령어를 기능별로 정리한 참고자료이다. 각 항목에는 목적과 기본 사용법(대표 옵션 포함) 및 간단한 예시를 제시한다. 운영 환경과 권한에 따라 sudo 사용이 필요할 수 있다.

패키지 관리 (apt / dpkg)

apt

  • 설명: 사용자 목적의 패키지 설치·업데이트·제거를 위한 고수준 도구.
  • 주요 예:
    • sudo apt update — 패키지 색인 목록 갱신
    • sudo apt upgrade — 설치된 패키지 업그레이드
    • sudo apt install <패키지> — 패키지 설치
    • sudo apt remove <패키지> — 패키지 제거(설정파일 유지)
    • sudo apt purge <패키지> — 패키지와 설정파일 제거
    • sudo apt autoremove — 불필요한 의존성 제거

apt-get / apt-cache

  • 설명: 스크립트나 세밀한 제어가 필요할 때 사용. apt와 유사하나 일부 옵션이 다름.
  • 예: apt-cache search <키워드> — 패키지 검색

dpkg

  • 설명: 개별 .deb 패키지 설치/정보 확인용 저수준 도구.
  • 예:
    • sudo dpkg -i package.deb — 로컬 .deb 설치
    • dpkg -l | grep <패키지> — 설치 상태 확인
    • dpkg -r <패키지> — 패키지 제거

시스템 서비스 및 부팅 (systemd)

systemctl

  • 설명: systemd 서비스 및 시스템 상태 제어.
  • 예:
    • sudo systemctl start <서비스> — 시작
    • sudo systemctl stop <서비스> — 중지
    • sudo systemctl restart <서비스> — 재시작
    • sudo systemctl status <서비스> — 상태 확인
    • sudo systemctl enable <서비스> — 부팅 시 자동 시작 설정
    • sudo systemctl disable <서비스> — 자동 시작 해제

journalctl

  • 설명: systemd 저널 로그 조회.
  • 예:
    • journalctl -u <서비스> — 특정 서비스 로그
    • journalctl -f — 실시간 로그 추적
    • journalctl --since "2026-03-15" --until "2026-03-15 23:59" — 기간 지정

사용자 및 권한 관리

sudo / su

  • 설명: 권한 상승 및 다른 사용자 전환.
  • 예: sudo <명령> 또는 su - <사용자>

adduser / useradd / usermod / passwd

  • 설명: 사용자 생성·수정·암호 변경.
  • 예:
    • sudo adduser username — 대화형 사용자 추가(권장)
    • sudo useradd -m username — 기본 디렉터리 생성 없이 사용자 추가
    • sudo usermod -aG sudo username — 사용자 sudo 그룹 추가
    • sudo passwd username — 사용자 암호 설정/변경

visudo

  • 설명: sudoers 파일 편집(문법 검사 포함). 항상 visudo 사용 권장.
  • 예: sudo visudo

chmod / chown / chgrp

  • 설명: 파일 권한 및 소유자 변경.
  • 예:
    • chmod 644 file — 권한 설정
    • chmod -R 755 dir — 디렉터리 재귀 권한 설정
    • chown user:group file — 소유자·그룹 변경

파일 및 디렉터리 조작

ls / cd / pwd

  • 예: ls -l, cd /path/to/dir, pwd

cp / mv / rm

  • 예:
    • cp file dest
    • cp -r srcdir destdir
    • mv old new
    • rm file
    • rm -rf dir — 주의 필요

mkdir / rmdir / ln

  • 예:
    • mkdir -p /path/to/dir — 중간 디렉터리 자동 생성
    • rmdir emptydir — 비어 있는 디렉터리만 삭제
    • ln -s /path/to/target linkname — 심볼릭 링크 생성

find / locate

  • 설명: 파일 검색.
  • 예:
    • find /var -name "*.log" — 조건 검색
    • locate filename — 미리 구축한 DB 기반 검색(updatedb 필요)

텍스트 처리 및 검색

cat / less / head / tail

  • 예:
    • cat file
    • less file — 페이징
    • head -n 20 file, tail -n 50 file
    • tail -f /var/log/syslog — 실시간 추가 모니터

grep / sed / awk / cut / sort / uniq / wc

  • 예:
    • grep -R "pattern" /path
    • sed -n '1,20p' file — 라인 범위 출력
    • awk '{print $1, $3}' file
    • cut -d: -f1 /etc/passwd
    • sort file | uniq -c
    • wc -l file — 행 수

네트워크 관련

ip (추천) / ifconfig

  • 설명: 네트워크 인터페이스 및 라우팅 확인/설정.
  • 예:
    • ip addr — IP 주소 및 인터페이스
    • ip link set dev eth0 up — 인터페이스 활성화
    • ip route — 라우팅 테이블

ss / netstat

  • 설명: 포트/소켓 확인. ss가 현대적 대체 도구.
  • 예: ss -tulnp — 리스닝 포트 및 프로세스 확인

ping / traceroute / dig / nslookup

  • 예: ping 8.8.8.8, traceroute example.com, dig example.com, nslookup example.com

ssh / scp / rsync

  • 예:
    • ssh user@host
    • scp file user@host:/path/
    • rsync -avz source/ user@host:/dest/ — 효율적 동기화

압축 및 아카이브

tar / gzip / gunzip / zip / unzip

  • 예:
    • tar -czf archive.tar.gz /path/to/dir — 압축 생성
    • tar -xzf archive.tar.gz — 압축 해제
    • gzip file / gunzip file.gz
    • zip -r archive.zip dir / unzip archive.zip

프로세스 관리

ps / top / htop / kill / pkill / nice / renice

  • 예:
    • ps aux | grep process
    • top 또는 htop(별도 설치)
    • sudo kill <PID> 또는 sudo pkill -f processname
    • nice -n 10 command / renice -n 5 <PID>

디스크 및 파일 시스템

df / du / lsblk / fdisk / blkid / mount / umount

  • 예:
    • df -h — 파일시스템 사용량
    • du -sh /var/log — 디렉터리 용량
    • lsblk — 블록장치 구조
    • sudo fdisk -l — 파티션 테이블
    • sudo blkid — 블록장치 UUID 확인
    • sudo mount /dev/sdb1 /mnt / sudo umount /mnt

시스템 정보 및 진단

uname / lsb_release / hostnamectl / dmesg

  • 예:
    • uname -a — 커널 및 아키텍처 정보
    • lsb_release -a — 배포판 정보
    • hostnamectl — 호스트명 및 OS 정보
    • dmesg | less — 커널 메시지 확인

로그 및 트러블슈팅

  • 시스템 로그: /var/log/ 디렉터리 확인
  • journalctl -xe — 부팅 관련 오류, 최근 에러 추적
  • 서비스별 로그: journalctl -u <서비스> 또는 /var/log/<서비스>.log

예약 작업 및 타이머

crontab / systemd 타이머

  • 설명: 주기적 작업 등록.
  • 예:
    • crontab -e — 현재 사용자 crontab 편집
    • sudo crontab -e — 루트 crontab 편집
    • systemctl list-timers — systemd 타이머 확인

기타 유용한 명령

  • echo, date — 간단한 출력/시간 확인
  • clear — 터미널 화면 정리
  • whoami — 현재 사용자
  • uptime — 시스템 가동 시간 및 로드
  • killall <프로세스명> — 모든 해당 프로세스 종료

안전 및 권장 관행

  • 시스템 변경(특히 루트 권한 사용) 전에는 변경 목적과 영향 범위를 확인하고 백업할 것.
  • 패키지 및 보안 업데이트는 정기적으로 수행할 것(sudo apt update && sudo apt upgrade).
  • rm -rf 등 파괴적 명령 사용 시 대상 경로를 다시 확인할 것.
  • 서비스 관리나 구성 변경 시 로그를 확인하여 문제 발생 원인을 추적할 것.