티스토리 뷰

리눅스 명령어 및 주요 설정 파일

리눅스 명령어 및 주요 설정 파일 상세 정리

리눅스 시스템 관리 및 운영에 필수적인 주요 명령어와 해당 기능에 관련된 설정 파일들을 기능별로 자세히 정리했습니다. 명령어 사용법 및 설정 파일 위치는 리눅스 배포판(예: Ubuntu, CentOS, Debian, Fedora) 및 버전에 따라 약간의 차이가 있을 수 있습니다. 각 명령어의 더 상세한 사용법은 터미널에서 man 명령어이름을 통해 확인할 수 있습니다.

시스템 기본 정보 확인 및 설정

  • 호스트 이름 (Hostname)
    • 역할: 네트워크 상에서 시스템을 식별하는 이름입니다.
    • 명령어 (확인):
      hostname
    • 명령어 (임시 설정):
      hostname 새로운_호스트이름
      (재부팅 시 초기화)
    • 명령어 (영구 설정):
      hostnamectl set-hostname 새로운_호스트이름
      (systemd 사용 시)
    • 설정 파일:
      /etc/hostname
      - 시스템 부팅 시 호스트 이름 설정에 사용되는 파일입니다.
    • 설정 파일:
      /etc/hosts
      - 로컬에서 사용할 호스트 이름과 IP 주소 매핑 정보 파일입니다.
  • 시스템 및 커널 정보
    • 역할: 운영체제 종류, 커널 버전, 시스템 아키텍처 등을 확인합니다.
    • 명령어:
      uname -a
      - 커널 이름, 노드 이름, 커널 릴리스, 커널 버전, 하드웨어 이름 등을 출력합니다.
    • 설정 파일 (주요 배포판 정보):
      /etc/os-release
      (표준),
      /etc/lsb-release
      ,
      /etc/redhat-release
      등 - 설치된 리눅스 배포판의 정보를 담고 있습니다.
  • 날짜 및 시간 설정 (Date & Time)
    • 역할: 시스템의 현재 날짜, 시간, 표준 시간대를 확인하고 설정하며, 시간 동기화(NTP)를 관리합니다.
    • 명령어 (확인):
      date
      - 현재 시스템의 날짜와 시간을 출력합니다.
    • 명령어 (확인/설정):
      timedatectl status
      - 시간 동기화 상태, 표준 시간대 등 상세 정보를 확인합니다 (systemd 사용 시).
      timedatectl set-timezone 'Asia/Seoul'
      와 같이 설정도 가능합니다.
    • 설정 파일:
      /etc/timezone
      - 시스템 표준 시간대 설정 파일 (배포판에 따라 사용 여부 다름).
    • 설정 파일:
      /etc/ntp.conf
      ,
      /etc/chrony.conf
      - NTP 클라이언트/서버 서비스 설정 파일입니다.

사용자 및 그룹 관리

시스템 접근 권한 및 파일/자원 사용 권한 관리에 사용됩니다.

  • 사용자 계정 관리
    • 역할: 새로운 사용자 계정을 생성하거나 기존 계정을 수정, 삭제합니다.
    • 명령어 (생성):
      useradd [옵션] 사용자이름
      - 새로운 사용자 계정을 생성합니다. (옵션: -m 홈 디렉터리 생성, -s 쉘 지정 등)
    • 명령어 (수정):
      usermod [옵션] 사용자이름
      - 사용자 계정 정보를 수정합니다. (옵션: -l 로그인 이름 변경, -d 홈 디렉터리 변경, -g 기본 그룹 변경, -G 추가 그룹 지정)
    • 명령어 (삭제):
      userdel 사용자이름
      - 사용자 계정만 삭제합니다.
    • 명령어 (삭제):
      userdel -r 사용자이름
      - 사용자 계정과 홈 디렉터리 및 메일 스풀을 함께 삭제합니다.
    • 명령어 (비밀번호 설정/변경):
      passwd 사용자이름
      - 사용자 계정의 비밀번호를 설정하거나 변경합니다.
  • 그룹 관리
    • 역할: 사용자들을 묶어 권한 관리를 용이하게 합니다.
    • 명령어 (생성):
      groupadd 그룹이름
      - 새로운 그룹을 생성합니다.
    • 명령어 (수정):
      groupmod [옵션] 그룹이름
      - 그룹 이름을 변경하거나 GID를 변경합니다.
    • 명령어 (삭제):
      groupdel 그룹이름
      - 그룹을 삭제합니다.
    • 명령어 (사용자를 그룹에 추가/제거):
      usermod -aG 그룹이름 사용자이름
      (그룹에 사용자 추가),
      gpasswd -d 사용자이름 그룹이름
      (그룹에서 사용자 제거)
  • 사용자 및 그룹 정보 파일
    • 설정 파일:
      /etc/passwd
      - 시스템의 모든 사용자 계정 기본 정보가 저장된 파일입니다. (사용자 이름, UID, GID, 홈 디렉터리 경로, 로그인 쉘 등)
    • 설정 파일:
      /etc/shadow
      - 사용자 계정의 암호화된 비밀번호, 비밀번호 만료 정보 등이 저장된 파일입니다. 보안상 root 사용자만 읽을 수 있습니다.
    • 설정 파일:
      /etc/group
      - 시스템의 모든 그룹 계정 정보가 저장된 파일입니다. (그룹 이름, GID, 그룹에 속한 사용자 목록)
    • 설정 파일:
      /etc/gshadow
      - 그룹의 암호화된 비밀번호 및 그룹 관리자 정보 등이 저장된 파일입니다. 보안상 root 사용자만 읽을 수 있습니다.
  • 권한 상승 (sudo)
    • 역할: 일반 사용자가 root 또는 다른 사용자의 권한으로 명령어를 실행할 수 있도록 허용하는 기능입니다.
    • 명령어:
      sudo [옵션] 명령어
      - 지정된 사용자의 권한으로 명령어를 실행합니다.
    • 명령어:
      visudo
      - /etc/sudoers 파일을 안전하게 편집하기 위한 명령어입니다. (문법 오류 검사 기능 제공)
    • 설정 파일:
      /etc/sudoers
      - sudo 권한을 가진 사용자, 그룹, 그리고 어떤 명령어를 어떤 권한으로 실행할 수 있는지 설정하는 파일입니다.
    • 설정 파일:
      /etc/sudoers.d/
      디렉터리 - 개별 애플리케이션이나 사용자에 대한 sudo 설정 파일을 추가하여 관리할 수 있는 디렉터리입니다.

파일 시스템 및 권한

파일과 디렉터리를 관리하고 접근 권한을 제어하는 기본 기능입니다.

  • 파일 및 디렉터리 기본 작업
    • 명령어:
      ls [옵션] [파일/디렉터리]
      - 파일 및 디렉터리 목록을 출력합니다. (옵션: -l 상세 정보, -a 숨김 파일 포함, -h 용량 단위를 사람이 읽기 쉽게)
    • 명령어:
      cd [디렉터리]
      - 현재 작업 디렉터리를 변경합니다.
    • 명령어:
      pwd
      - 현재 작업 디렉터리의 전체 경로를 출력합니다.
    • 명령어:
      mkdir 디렉터리
      - 새로운 디렉터리를 생성합니다.
    • 명령어:
      rm [옵션] 파일
      - 파일을 삭제합니다. (옵션: -r 디렉터리 삭제, -f 강제 삭제)
    • 명령어:
      cp [옵션] 원본 대상
      - 파일 또는 디렉터리를 복사합니다. (옵션: -r 디렉터리 복사)
    • 명령어:
      mv [옵션] 원본 대상
      - 파일 또는 디렉터리를 이동하거나 이름을 변경합니다.
  • 파일/디렉터리 소유권 및 권한 변경
    • 명령어:
      chown [옵션] 소유자[:그룹] 파일/디렉터리
      - 파일 또는 디렉터리의 소유자 및 소유 그룹을 변경합니다.
    • 명령어:
      chmod [옵션] 권한모드 파일/디렉터리
      - 파일 또는 디렉터리의 접근 권한을 변경합니다. (권한 모드: rwx 조합 또는 3자리 숫자 예: 755)
  • 디스크 공간 확인 및 파일 시스템 마운트
    • 명령어:
      df [옵션]
      - 디스크 파티션별 사용 가능한 공간을 확인합니다. (옵션: -h 용량을 사람이 읽기 쉽게 표시)
    • 명령어:
      du [옵션] [디렉터리]
      - 파일 또는 디렉터리가 사용하는 디스크 공간을 확인합니다. (옵션: -sh 특정 디렉터리의 총 용량을 사람이 읽기 쉽게)
    • 명령어:
      mount [옵션] 장치 마운트포인트
      - 파일 시스템을 특정 디렉터리(마운트 포인트)에 연결하여 접근 가능하게 합니다.
    • 명령어:
      umount 마운트포인트
      - 마운트된 파일 시스템을 해제합니다.
    • 명령어:
      fdisk [옵션] 장치
      - 디스크 파티션 정보를 확인하거나 생성/삭제합니다. (옵션: -l 파티션 목록 출력)
    • 명령어:
      mkfs [옵션] 파일시스템타입 장치
      - 지정된 장치에 특정 타입의 파일 시스템을 생성합니다. (예: mkfs -t ext4 /dev/sdb1)
  • 자동 마운트 설정 파일
    • 설정 파일:
      /etc/fstab
      - 시스템 부팅 시 자동으로 마운트될 파일 시스템들의 정보가 정의된 파일입니다.

프로세스 관리

시스템에서 실행 중인 프로그램(프로세스)들을 확인하고 제어하는 기능입니다.

  • 프로세스 목록 확인
    • 명령어:
      ps [옵션]
      - 현재 실행 중인 프로세스들의 스냅샷을 출력합니다. (옵션: aux, -ef 등 다양한 조합)
    • 명령어:
      top
      - 시스템의 실시간 상태를 모니터링하며 프로세스 목록을 CPU 사용률 등과 함께 주기적으로 업데이트하여 보여줍니다.
    • 명령어:
      htop
      - top과 유사하지만 더 사용자 친화적인 인터페이스와 기능을 제공하는 대화형 프로세스 뷰어입니다. (별도 설치 필요)
  • 프로세스 종료
    • 명령어:
      kill [시그널] PID
      - 특정 PID(프로세스 ID)를 가진 프로세스에게 시그널을 보내 제어합니다. (기본 시그널: SIGTERM - 정상 종료 요청)
    • 명령어:
      killall [옵션] 프로세스이름
      - 지정된 이름을 가진 모든 프로세스에게 시그널을 보냅니다.
    • 명령어:
      pkill [옵션] 패턴
      - 패턴과 일치하는 프로세스에게 시그널을 보냅니다.
  • 서비스 (데몬) 관리 (systemd)
    • 역할: 백그라운드에서 실행되는 서비스(데몬)들을 관리합니다. 최신 리눅스 배포판은 대부분 systemd를 사용합니다.
    • 명령어:
      systemctl status 서비스이름.service
      - 서비스의 현재 상태(활성/비활성, 실행 중 여부 등)를 확인합니다.
    • 명령어:
      systemctl start 서비스이름.service
      - 서비스를 시작합니다.
    • 명령어:
      systemctl stop 서비스이름.service
      - 서비스를 중지합니다.
    • 명령어:
      systemctl restart 서비스이름.service
      - 서비스를 재시작합니다.
    • 명령어:
      systemctl enable 서비스이름.service
      - 시스템 부팅 시 서비스가 자동으로 시작되도록 설정합니다.
    • 명령어:
      systemctl disable 서비스이름.service
      - 시스템 부팅 시 자동 시작 설정을 해제합니다.
    • 명령어:
      systemctl is-active 서비스이름.service
      - 서비스가 활성화되어 있는지 여부를 확인합니다.
  • 서비스 단위 파일 (systemd Unit Files)
    • 설정 파일:
      /etc/systemd/system/
      - 로컬에 설치되거나 관리자가 추가한 서비스, 소켓, 마운트 등의 단위 파일이 저장되는 주요 디렉터리입니다.
    • 설정 파일:
      /usr/lib/systemd/system/
      - 패키지 매니저를 통해 설치된 서비스 단위 파일들이 위치하는 디렉터리입니다.

네트워크 설정 및 관리

네트워크 인터페이스, IP 주소, 라우팅, 연결 상태 등을 관리합니다.

  • 네트워크 인터페이스 확인 및 기본 설정
    • 명령어:
      ip addr show
      - 네트워크 인터페이스 목록, IP 주소, MAC 주소, 상태(UP/DOWN) 등을 자세히 보여줍니다. (선호됨)
    • 명령어:
      ifconfig [인터페이스]
      - 네트워크 인터페이스 정보를 확인하거나 설정합니다. (구형 명령어)
    • 명령어 (임시 설정):
      ip addr add 192.168.1.100/24 dev eth0
      - 인터페이스에 IP 주소를 할당합니다 (재부팅 시 사라짐).
    • 명령어 (임시 설정):
      ip link set eth0 up
      - 인터페이스를 활성화합니다 (재부팅 시 사라짐).
    • 설정 파일 (Debian/Ubuntu):
      /etc/network/interfaces
      - 네트워크 인터페이스의 영구적인 설정을 정의합니다.
    • 설정 파일 (RHEL/CentOS/Fedora):
      /etc/sysconfig/network-scripts/ifcfg-인터페이스이름
      - 네트워크 인터페이스 설정을 정의합니다.
    • 설정 파일 (신형 Ubuntu):
      /etc/netplan/*.yaml
      - Netplan을 사용하는 시스템의 네트워크 설정 파일입니다.
      sudo netplan apply
      로 적용합니다.
  • 라우팅 테이블 관리
    • 명령어:
      ip route show
      - 시스템의 IP 라우팅 테이블 내용을 확인합니다. (선호됨)
    • 명령어:
      route -n
      - 라우팅 테이블을 IP 주소 형태로 확인합니다. (구형 명령어)
    • 명령어 (임시 설정):
      ip route add default via 192.168.1.1
      - 기본 게이트웨이를 설정합니다 (재부팅 시 사라짐).
    • 설정 파일: 네트워크 인터페이스 설정 파일 또는
      /etc/sysconfig/network
      등 (배포판에 따라 다름) - 영구적인 라우팅 설정을 정의합니다.
  • 네트워크 연결 상태 및 통계
    • 명령어:
      netstat [옵션]
      - 현재 활성화된 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 확인합니다. (옵션: -tulnp - TCP/UDP 리스닝 포트와 프로세스 확인)
    • 명령어:
      ss [옵션]
      - netstat보다 빠르고 향상된 소켓 상태 확인 도구입니다. (옵션: -tulnp)
  • DNS 클라이언트 설정
    • 설정 파일:
      /etc/resolv.conf
      - 시스템이 도메인 이름 조회를 위해 사용할 DNS 서버 주소 목록을 정의합니다.
  • 호스트 이름 해석
    • 명령어:
      nslookup 도메인이름
      - DNS 서버에게 특정 도메인 이름에 대한 정보를 질의합니다. (대화형 모드 지원)
    • 명령어:
      dig 도메인이름 [레코드타입]
      - DNS 서버에게 특정 도메인 이름에 대한 정보를 질의하는 더 유연하고 상세한 도구입니다. (예: dig google.com MX)
  • ARP 캐시 관리
    • 명령어:
      ip neigh show
      - ARP 캐시 테이블 내용을 확인합니다. (선호됨)
    • 명령어:
      arp -a
      - ARP 캐시 테이블 내용을 확인합니다. (구형)

방화벽 설정

네트워크 트래픽을 필터링하여 시스템 보안을 강화합니다.

  • iptables
    • 역할: Linux 커널의 Netfilter 프레임워크를 제어하는 저수준 방화벽 도구입니다. 규칙 설정이 강력하지만 복잡할 수 있습니다.
    • 명령어:
      iptables [옵션] [체인] [규칙]
      - 방화벽 규칙을 추가, 삭제, 수정합니다.
    • 명령어:
      iptables -L
      - 현재 설정된 방화벽 규칙 목록을 출력합니다.
    • 명령어:
      iptables-save > /etc/sysconfig/iptables
      (RHEL/CentOS) 또는
      iptables-save > /etc/iptables/rules.v4
      (Debian/Ubuntu) - 현재 규칙을 파일로 저장하여 재부팅 시 유지되도록 합니다.
    • 설정 파일: 위에 저장된 파일들 - 저장된 iptables 규칙 파일입니다.
  • firewalld
    • 역할: 동적 방화벽 관리 데몬으로, iptables 위에 추상화된 레이어를 제공합니다. 영역(Zone) 개념을 사용하여 관리가 용이합니다. (RHEL/CentOS/Fedora 등에서 주로 사용)
    • 명령어:
      systemctl status firewalld
      - firewalld 서비스 상태를 확인합니다.
    • 명령어:
      firewall-cmd [옵션]
      - firewalld 설정을 변경합니다. (옵션: --zone, --add-port, --remove-port, --list-all, --permanent)
    • 명령어:
      firewall-cmd --reload
      - 영구 설정 변경 후 적용합니다.
    • 설정 파일:
      /etc/firewalld/zones/
      디렉터리 - 영역(Zone)별 설정 파일들이 저장됩니다.
    • 설정 파일:
      /etc/firewalld/services/
      디렉터리 - 서비스(예: ssh, http) 정의 파일들이 저장됩니다.
  • UFW (Uncomplicated Firewall)
    • 역할: iptables를 쉽게 구성할 수 있도록 설계된 사용자 친화적인 방화벽 관리 도구입니다. (Ubuntu/Debian에서 주로 사용)
    • 명령어:
      ufw status
      - UFW 상태 및 설정된 규칙을 확인합니다.
    • 명령어:
      ufw enable
      ,
      ufw disable
      - UFW를 활성화/비활성화합니다.
    • 명령어:
      ufw allow | deny [포트][/프로토콜]
      - 특정 포트나 서비스에 대한 접근을 허용하거나 차단합니다. (예: ufw allow 22/tcp, ufw allow http)
    • 설정 파일:
      /etc/ufw/
      디렉터리 - UFW 설정 파일들이 저장됩니다.

패키지 관리

소프트웨어 패키지를 설치, 제거, 업데이트하는 기능입니다.

  • Debian/Ubuntu 계열 (APT)
    • 역할: Debian 및 파생 배포판에서 사용되는 패키지 관리 시스템입니다.
    • 명령어:
      sudo apt update
      - 패키지 저장소에서 최신 패키지 목록 정보를 가져옵니다.
    • 명령어:
      sudo apt upgrade
      - 현재 시스템에 설치된 패키지들을 최신 버전으로 업그레이드합니다.
    • 명령어:
      sudo apt install 패키지이름
      - 새로운 패키지를 설치합니다.
    • 명령어:
      sudo apt remove 패키지이름
      - 패키지를 제거합니다 (설정 파일은 남김).
    • 명령어:
      sudo apt purge 패키지이름
      - 패키지와 관련된 모든 설정 파일을 함께 제거합니다.
    • 설정 파일:
      /etc/apt/sources.list
      - 패키지 저장소(Repository)의 기본 경로가 설정된 파일입니다.
    • 설정 파일:
      /etc/apt/sources.list.d/
      디렉터리 - 추가적인 패키지 저장소 설정 파일을 저장하는 디렉터리입니다.
  • RHEL/CentOS/Fedora 계열 (YUM, DNF)
    • 역할: Red Hat 계열 및 파생 배포판에서 사용되는 패키지 관리 시스템입니다. DNF는 YUM의 차세대 버전입니다.
    • 명령어:
      sudo yum update
      또는
      sudo dnf update
      - 시스템의 모든 패키지를 업데이트합니다.
    • 명령어:
      sudo yum install 패키지이름
      또는
      sudo dnf install 패키지이름
      - 새로운 패키지를 설치합니다.
    • 명령어:
      sudo yum remove 패키지이름
      또는
      sudo dnf remove 패키지이름
      - 패키지를 제거합니다.
    • 설정 파일:
      /etc/yum.conf
      ,
      /etc/dnf/dnf.conf
      - YUM 또는 DNF의 전역 설정 파일입니다.
    • 설정 파일:
      /etc/yum.repos.d/
      ,
      /etc/yum/repos.d/
      또는
      /etc/dnf/repos.d/
      디렉터리 - 패키지 저장소 설정 파일들이 저장되는 디렉터리입니다.

로그 및 시스템 이벤트

시스템 및 애플리케이션에서 발생하는 다양한 이벤트(정보, 경고, 오류 등)를 기록하고 관리합니다.

  • 로그 확인 명령어
    • 명령어:
      dmesg
      - 시스템 부팅 과정에서 커널이 출력하는 메시지를 보여줍니다. 하드웨어 관련 문제 확인에 유용합니다.
    • 명령어:
      journalctl [옵션]
      - systemd 저널 데몬이 수집하는 시스템 로그를 확인합니다. (옵션: -u 서비스이름 - 특정 서비스 로그, -f - 실시간 로그 확인)
    • 명령어:
      tail [옵션] 파일경로
      - 파일의 마지막 부분을 출력합니다. (옵션: -f 파일 내용이 추가될 때마다 실시간으로 출력) - 전통적인 로그 파일 확인에 사용됩니다.
    • 명령어:
      grep '검색어' 파일경로
      - 파일 내용에서 특정 패턴(검색어)이 포함된 줄을 찾아 출력합니다. 로그 분석에 널리 사용됩니다.
  • 주요 로그 파일 위치 (배포판 및 설정에 따라 다름)
    • 파일:
      /var/log/syslog
      - 일반적인 시스템 로그 메시지 (Debian/Ubuntu 계열)
    • 파일:
      /var/log/messages
      - 일반적인 시스템 로그 메시지 (RHEL/CentOS 계열)
    • 파일:
      /var/log/auth.log
      - 사용자 로그인, 인증 실패 등 보안 및 인증 관련 로그 (Debian/Ubuntu 계열)
    • 파일:
      /var/log/secure
      - 사용자 로그인, 인증 관련 로그 (RHEL/CentOS 계열)
    • 파일:
      /var/log/kern.log
      - 커널 관련 로그
    • 파일:
      /var/log/boot.log
      - 시스템 부팅 시 로그
    • 파일:
      /var/log/dmesg
      - dmesg 명령어로 확인 가능한 커널 부팅 로그 (파일로 저장되는 경우)
  • 로그 관리 설정
    • 설정 파일:
      /etc/rsyslog.conf
      ,
      /etc/rsyslog.d/
      디렉터리 - rsyslogd 로그 데몬의 설정 파일입니다. 어떤 로그를 어디에 저장할지 등을 정의합니다.
    • 설정 파일:
      /etc/systemd/journald.conf
      - systemd의 저널(journald) 로그 관리 설정 파일입니다. 로그 저장 방식, 용량 등을 설정합니다.

'ㅈㄱㅈ > ㄴㅌㅇㅋㄱㄹㅅ' 카테고리의 다른 글

IEEE802  (0) 2025.04.22
회선 교환  (0) 2025.04.22
네트워크 관리 및 보안 기초  (0) 2025.04.22
네트워크 명령어  (0) 2025.04.22
케이블링 및 공구  (0) 2025.04.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함