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 destcp -r srcdir destdirmv old newrm filerm -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 fileless file— 페이징head -n 20 file,tail -n 50 filetail -f /var/log/syslog— 실시간 추가 모니터
grep / sed / awk / cut / sort / uniq / wc
- 예:
grep -R "pattern" /pathsed -n '1,20p' file— 라인 범위 출력awk '{print $1, $3}' filecut -d: -f1 /etc/passwdsort file | uniq -cwc -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@hostscp 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.gzzip -r archive.zip dir/unzip archive.zip
프로세스 관리
ps / top / htop / kill / pkill / nice / renice
- 예:
ps aux | grep processtop또는htop(별도 설치)sudo kill <PID>또는sudo pkill -f processnamenice -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등 파괴적 명령 사용 시 대상 경로를 다시 확인할 것.- 서비스 관리나 구성 변경 시 로그를 확인하여 문제 발생 원인을 추적할 것.