까먹음 방지.zip

🖥️ AWS EC2 리눅스 필수 명령어 총정리 (초보자부터 실무까지)

zippy 2026. 4. 10. 16:46
반응형

AWS EC2 인스턴스를 운영하면서 반드시 알아야 할 리눅스 명령어를 카테고리별로 정리했습니다. 서버 접속부터 프로세스 모니터링, 로그 관리까지 실무에서 바로 사용할 수 있는 명령어 모음입니다.


📌 기본 단축키 및 명령어

명령어/단축키 설명
cd ~/ 사용자 홈 폴더로 이동
Ctrl + X nano 편집기 종료
select-editor 기본 에디터 선택 설정

1. 서버 접속 / 기본 탐색

# EC2 인스턴스 SSH 접속 (키파일, 사용자, IP, 포트 지정)
ssh -i "my-key.pem" ec2-user@13.124.1.2 -p 22

# 현재 세션을 루트로 전환 (환경변수 포함)
sudo su -

# 숨김파일 포함 상세 목록, 색상 표시
ls -la --color=auto /var/log/

# 현재 작업 디렉토리 물리적 경로 출력
pwd -P

# 물리적 경로로 디렉토리 이동 (심볼릭링크 해석)
cd -P /opt/tomcat10/webapps/

# 최근 20개 명령어 중 yum 관련 검색
history 20 | grep yum

# 화면 지우고 현재 사용자/UID/GID 확인
clear && whoami && id

# 현재 셸 종료 (SSH 연결 끊기)
exit

2. 시스템 업데이트 / 패키지 관리

# Amazon Linux 전체 패키지 업데이트
sudo yum update -y && sudo yum upgrade -y

# Ubuntu 패키지 업데이트 (설정파일 기존 유지)
sudo apt update && sudo apt upgrade -y -o Dpkg::Options::="--force-confold"

# 여러 패키지 한번에 설치
sudo yum install -y java-11-openjdk-devel tomcat httpd wget curl

# 패키지 삭제 + 의존성 자동 정리
sudo yum remove -y httpd && sudo yum autoremove -y

# 설치된 Tomcat 패키지 변경로그 확인
rpm -qa | grep -i tomcat | xargs rpm -q --changelog | head -20

# 설치된 Java 관련 패키지 개수 확인
sudo yum list installed | grep -i java | wc -l

# Tomcat 10 관련 사용가능 패키지 검색
sudo yum search tomcat | grep 10

# 활성화된 Yum/DNF 저장소 목록 (Amazon Linux 2023)
dnf repolist --enabled | grep amazon

3. 서비스 관리

# 모든 서비스 상태 중 웹서버만 필터링
service --status-all | grep -E "(tomcat|httpd)"

# Tomcat 10 서비스 중지 (SysV init 호환)
sudo service tomcat10 stop

# Tomcat 10 서비스 시작
sudo service tomcat10 start

# Tomcat 10 서비스 재시작
sudo service tomcat10 restart

# Tomcat 관련 모든 systemd 유닛 파일 목록
sudo systemctl list-unit-files | grep -i tomcat

# Tomcat 10 상세 상태 (전체로그, 페이지 안함)
sudo systemctl status tomcat10 -l --no-pager

# Tomcat 10 즉시 재시작
sudo systemctl restart tomcat10 --now

# Tomcat 10 부팅시 자동시작 + 즉시 시작
sudo systemctl enable tomcat10 --now

# systemd 설정 다시로드 후 재시작
sudo systemctl daemon-reload && sudo systemctl restart tomcat10

# Tomcat 10 실시간 로그 확인
journalctl -u tomcat10 -f --no-pager

4. 네트워크 / 포트 진단

# 8080 포트 리스닝 프로세스 확인 (TCP만)
netstat -nlpt | grep :8080

# 모든 리스닝 포트 상세 정보 (netstat 대체)
sudo ss -tuln | grep LISTEN

# 80/443/8080 포트별 프로세스/PID 확인
sudo ss -tulnp | grep -E ":(80|443|8080)"

# Tomcat Manager 상태 API 테스트 (SSL 무시)
curl -I -k https://localhost:8443/manager/status/all

# 웹서버 응답시간/상태 테스트
wget --spider --timeout=10 http://localhost:8080/ 2>&1 | grep HTTP

# EC2 메타데이터 서비스 연결 테스트
ping -c 4 169.254.169.254

# 방화벽 규칙 확인 (숫자IP, 통계 포함)
sudo iptables -L -n -v | grep -E "ACCEPT|DROP"

# TCP TIME_WAIT 연결 수 확인 (연결 누수 진단)
sudo netstat -anp | grep TIME_WAIT | wc -l

5. 프로세스 / 성능 모니터링

# Tomcat/Java 프로세스 상세 정보
ps aux | grep -E "(tomcat|java)" | grep -v grep

# Java 프로세스별 /proc 디렉토리 정보
ps -ef | grep java | awk '{print $2}' | xargs -r sudo ls -l /proc/

# Tomcat 프로세스만 top 모니터링 (1회)
top -p $(pgrep -d, tomcat) -n 1

# 메모리 실시간 모니터링 (3초 간격)
free -h -s 3

# 디스크 상세 표 형식 출력
df -h --output=source,fstype,size,used,avail,pcent,target

# 로그 디렉토리 크기순 정렬 (상위 10개)
du -sh /var/log/* | sort -hr | head -10

# 시스템 부하 + VM 통계 (5초 5회)
uptime && vmstat 1 5

# 디스크 I/O 통계 (5초 5회)
iostat -x 1 5 | grep -E "(avg-cpu|Device:)"

6. 파일 / 로그 관리

# Tomcat 로그 실시간 확인 (최근 200줄)
tail -f -n 200 /var/log/tomcat10/catalina.out

# 오류 로그 색상 하이라이트 검색
grep -i "ERROR|FATAL|OutOfMemory" /var/log/tomcat10/*.log --color=auto

# 어제 생성된 100MB 이상 로그파일 목록
find /var/log -name "*.log" -mtime -1 -size +100M -exec ls -lh {} \;

# 임시파일 안전 삭제 (에러 무시)
sudo rm -rf /tmp/* /var/tmp/* 2>/dev/null

# Tomcat 백업 (로그 제외, 날짜명)
sudo tar -czf /backup/tomcat-$(date +%Y%m%d).tar.gz /opt/tomcat10/ --exclude=/opt/tomcat10/logs

# Tomcat 디렉토리 소유권/권한 일괄 변경
sudo chown -R tomcat:tomcat /opt/tomcat10/ && sudo chmod -R 755 /opt/tomcat10/

# SSH 키파일 보안 권한 설정
sudo chmod 400 ~/.ssh/my-key.pem && sudo chmod 700 ~/.ssh/

# 페이지캐시 강제 해제 (메모리 부족시)
echo "0" | sudo tee /proc/sys/vm/drop_caches

⭐ 초보자 TOP 10 필수 명령어

가장 자주 사용하는 명령어를 우선순위별로 정리했습니다. 이것만 먼저 익혀두세요!

순위 명령어 설명
1 ssh -i key.pem ec2-user@IP EC2 접속 (가장 중요!)
2 sudo su - 루트 권한 획득
3 ls -la 파일/폴더 목록 확인
4 cd 경로 디렉토리 이동
5 pwd 현재 위치 확인
6 tail -f 로그파일 로그 실시간 확인
7 ps aux | grep 이름 프로세스 확인
8 sudo systemctl status 서비스 서비스 상태 확인
9 df -h 디스크 공간 확인
10 sudo yum update -y 시스템 업데이트 (Amazon Linux)

💡 Tip: 명령어가 기억나지 않을 때는 history | grep 키워드로 이전에 사용한 명령어를 검색할 수 있습니다.

⚠️ 주의: sudo rm -rf는 복구가 불가능합니다. 경로를 반드시 확인한 후 실행하세요!


 

반응형