liminfo

Linux Reference

Linux 시스템 관리 레퍼런스

46개 결과

Linux Reference 소개

Linux Reference는 리눅스 시스템 관리와 개발에서 매일 사용하는 핵심 명령어를 검색 가능하게 정리한 치트 시트입니다. 파일관리, 사용자, 패키지, 네트워크, 프로세스, 디스크, 로그, 보안의 8개 카테고리로 구성되어 있어 시스템 관리자와 개발자가 매번 man 페이지를 뒤지지 않고 필요한 명령어와 예제를 바로 찾을 수 있습니다.

시스템 관리자, DevOps 엔지니어, 백엔드 개발자, 리눅스를 공부하는 학생들이 서버 관리, 클라우드 인스턴스 설정, 쉘 스크립트 작성 시 이 레퍼런스를 활용합니다. 파일 섹션은 ls -la 상세 목록, cp -r 재귀 복사, chmod 권한 변경, chown 소유자 변경, tar -czf 압축 아카이브, ln -s 심볼릭 링크, find의 -name/-mtime 필터 검색까지 포괄합니다. 사용자 섹션에는 useradd -m, usermod -aG 그룹 추가, passwd, userdel -r, id 명령이 포함됩니다.

네트워크 섹션은 ip addr show, ss -tulnp로 열린 포트와 수신 프로세스 확인, curl -I로 HTTP 헤더 검사, iptables 방화벽 규칙 조회, traceroute를 다룹니다. 보안 섹션은 특히 실무에 유용합니다. ssh-keygen -t ed25519로 현대적 키 쌍 생성, ufw로 방화벽 관리, fail2ban-client로 무차별 대입 공격 모니터링, openssl genrsa로 RSA 키 생성, sestatus로 SELinux 상태 확인까지 포함됩니다.

주요 기능

  • 파일 관리: ls -la, cp -r, mv, rm -rf, find -name/-mtime, chmod, chown, tar, ln -s, stat
  • 사용자 관리: useradd -m, usermod -aG 그룹 추가, passwd, userdel -r, id UID/GID 확인
  • 패키지 매니저: Debian/Ubuntu용 apt, RHEL/CentOS용 yum, Fedora/RHEL8+용 dnf
  • 네트워크: ip addr, ss -tulnp 열린 포트, curl -I HTTP 헤더, iptables, netstat, traceroute
  • 프로세스 관리: ps aux, top/htop, kill -9/pgrep, systemctl status/start/stop, nice 우선순위
  • 디스크: df -h, du -sh, lsblk -f, mount 마운트, fdisk -l 파티션 테이블
  • 로그: journalctl -u --since, tail -f 실시간, dmesg 커널 메시지, last 로그인 기록, logrotate
  • 보안: ssh-keygen ed25519, ufw 방화벽, fail2ban-client, openssl genrsa 2048, sestatus SELinux

자주 묻는 질문

Linux Reference에서 다루는 내용은 무엇인가요?

8개 실용 영역을 다룹니다. 파일 관리(권한, 아카이브, 검색), 사용자/그룹 관리, 배포판별 패키지 설치(apt, yum, dnf), 네트워크 검사 및 방화벽 관리, 프로세스 모니터링과 제어, 디스크 사용량과 파티셔닝, journalctl/syslog 로그 분석, SSH 키/UFW/fail2ban/SELinux 보안 도구가 포함됩니다.

ss -tulnp와 netstat -tulnp의 차이는 무엇인가요?

두 명령 모두 열린 포트와 수신 프로세스를 보여주지만 ss(소켓 통계)가 커널에서 직접 읽어 더 빠른 현대적 대체 도구입니다. netstat는 많은 배포판에서 더 이상 사용되지 않는 net-tools 패키지에 포함되어 있습니다. 현재 Debian/Ubuntu와 RHEL 시스템에서는 ss -tulnp를 권장합니다.

Linux에서 사용자를 그룹에 추가하려면?

usermod -aG 그룹명 사용자명을 사용합니다. -a 플래그는 기존 그룹을 교체하지 않고 추가하고, -G는 그룹을 지정합니다. 예: usermod -aG docker ubuntu. 변경 사항은 사용자가 로그아웃 후 다시 로그인해야 적용됩니다.

특정 포트를 사용하는 프로세스를 어떻게 확인하나요?

ss -tulnp | grep :포트번호 또는 lsof -i :포트번호를 실행합니다. ss 명령의 마지막 컬럼에 프로세스 이름과 PID가 표시됩니다. 예: ss -tulnp | grep :80으로 80번 포트를 수신 중인 프로세스를 확인합니다. 다른 사용자 소유 포트의 프로세스 이름을 보려면 sudo가 필요할 수 있습니다.

journalctl과 tail -f의 차이는 무엇인가요?

journalctl은 systemd 저널 리더로 모든 서비스의 구조화된 로그를 보여줍니다. journalctl -u nginx --since "1 hour ago"는 타임스탬프와 메타데이터 포함 nginx 최근 1시간 로그를 표시합니다. tail -f /var/log/syslog는 일반 텍스트 로그 파일을 실시간으로 읽습니다. 현대 systemd 기반 배포판에서는 journalctl을 권장합니다.

30일 이상 된 로그 파일을 찾아 삭제하려면?

find /var/log -name "*.log" -mtime +30 -delete를 사용합니다. -mtime +30은 수정 시간이 30일을 초과한 파일을 찾고, -delete로 삭제합니다. 먼저 -delete 없이 -ls로 교체해 삭제될 파일 목록을 미리 확인하는 것을 권장합니다.

SSH 키 쌍을 생성하려면?

ssh-keygen -t ed25519 -C "이메일주소"를 실행합니다. ED25519는 RSA 2048보다 빠르고 안전한 현대적 권장 알고리즘입니다. 개인 키(~/.ssh/id_ed25519)와 공개 키(~/.ssh/id_ed25519.pub)가 생성됩니다. ssh-copy-id user@host로 공개 키를 서버에 복사하세요.

SELinux 상태는 어떻게 확인하나요?

sestatus 또는 sestatus -v(상세)로 확인합니다. SELinux는 root로 실행되는 프로세스도 제한하는 강제 접근 제어 정책을 적용합니다. RHEL/CentOS/Fedora에서는 기본적으로 enforcing 모드로 활성화됩니다. getenforce로 현재 모드를 확인하고, 디버깅 시 setenforce 0으로 임시로 permissive 모드로 전환할 수 있습니다.