티스토리 뷰
리눅스 명령어 및 주요 설정 파일 상세 정리
리눅스 시스템 관리 및 운영에 필수적인 주요 명령어와 해당 기능에 관련된 설정 파일들을 기능별로 자세히 정리했습니다. 명령어 사용법 및 설정 파일 위치는 리눅스 배포판(예: Ubuntu, CentOS, Debian, Fedora) 및 버전에 따라 약간의 차이가 있을 수 있습니다. 각 명령어의 더 상세한 사용법은 터미널에서 man 명령어이름
을 통해 확인할 수 있습니다.
시스템 기본 정보 확인 및 설정
-
호스트 이름 (Hostname)
- 역할: 네트워크 상에서 시스템을 식별하는 이름입니다.
- 명령어 (확인):
hostname
- 명령어 (임시 설정):
(재부팅 시 초기화)hostname 새로운_호스트이름
- 명령어 (영구 설정):
(systemd 사용 시)hostnamectl set-hostname 새로운_호스트이름
- 설정 파일:
- 시스템 부팅 시 호스트 이름 설정에 사용되는 파일입니다./etc/hostname
- 설정 파일:
- 로컬에서 사용할 호스트 이름과 IP 주소 매핑 정보 파일입니다./etc/hosts
-
시스템 및 커널 정보
- 역할: 운영체제 종류, 커널 버전, 시스템 아키텍처 등을 확인합니다.
- 명령어:
- 커널 이름, 노드 이름, 커널 릴리스, 커널 버전, 하드웨어 이름 등을 출력합니다.uname -a
- 설정 파일 (주요 배포판 정보):
(표준),/etc/os-release
,/etc/lsb-release
등 - 설치된 리눅스 배포판의 정보를 담고 있습니다./etc/redhat-release
-
날짜 및 시간 설정 (Date & Time)
- 역할: 시스템의 현재 날짜, 시간, 표준 시간대를 확인하고 설정하며, 시간 동기화(NTP)를 관리합니다.
- 명령어 (확인):
- 현재 시스템의 날짜와 시간을 출력합니다.date
- 명령어 (확인/설정):
- 시간 동기화 상태, 표준 시간대 등 상세 정보를 확인합니다 (systemd 사용 시).timedatectl status
와 같이 설정도 가능합니다.timedatectl set-timezone 'Asia/Seoul'
- 설정 파일:
- 시스템 표준 시간대 설정 파일 (배포판에 따라 사용 여부 다름)./etc/timezone
- 설정 파일:
,/etc/ntp.conf
- NTP 클라이언트/서버 서비스 설정 파일입니다./etc/chrony.conf
사용자 및 그룹 관리
시스템 접근 권한 및 파일/자원 사용 권한 관리에 사용됩니다.
-
사용자 계정 관리
- 역할: 새로운 사용자 계정을 생성하거나 기존 계정을 수정, 삭제합니다.
- 명령어 (생성):
- 새로운 사용자 계정을 생성합니다. (옵션: -m 홈 디렉터리 생성, -s 쉘 지정 등)useradd [옵션] 사용자이름
- 명령어 (수정):
- 사용자 계정 정보를 수정합니다. (옵션: -l 로그인 이름 변경, -d 홈 디렉터리 변경, -g 기본 그룹 변경, -G 추가 그룹 지정)usermod [옵션] 사용자이름
- 명령어 (삭제):
- 사용자 계정만 삭제합니다.userdel 사용자이름
- 명령어 (삭제):
- 사용자 계정과 홈 디렉터리 및 메일 스풀을 함께 삭제합니다.userdel -r 사용자이름
- 명령어 (비밀번호 설정/변경):
- 사용자 계정의 비밀번호를 설정하거나 변경합니다.passwd 사용자이름
-
그룹 관리
- 역할: 사용자들을 묶어 권한 관리를 용이하게 합니다.
- 명령어 (생성):
- 새로운 그룹을 생성합니다.groupadd 그룹이름
- 명령어 (수정):
- 그룹 이름을 변경하거나 GID를 변경합니다.groupmod [옵션] 그룹이름
- 명령어 (삭제):
- 그룹을 삭제합니다.groupdel 그룹이름
- 명령어 (사용자를 그룹에 추가/제거):
(그룹에 사용자 추가),usermod -aG 그룹이름 사용자이름
(그룹에서 사용자 제거)gpasswd -d 사용자이름 그룹이름
-
사용자 및 그룹 정보 파일
- 설정 파일:
- 시스템의 모든 사용자 계정 기본 정보가 저장된 파일입니다. (사용자 이름, UID, GID, 홈 디렉터리 경로, 로그인 쉘 등)/etc/passwd
- 설정 파일:
- 사용자 계정의 암호화된 비밀번호, 비밀번호 만료 정보 등이 저장된 파일입니다. 보안상 root 사용자만 읽을 수 있습니다./etc/shadow
- 설정 파일:
- 시스템의 모든 그룹 계정 정보가 저장된 파일입니다. (그룹 이름, GID, 그룹에 속한 사용자 목록)/etc/group
- 설정 파일:
- 그룹의 암호화된 비밀번호 및 그룹 관리자 정보 등이 저장된 파일입니다. 보안상 root 사용자만 읽을 수 있습니다./etc/gshadow
- 설정 파일:
-
권한 상승 (sudo)
- 역할: 일반 사용자가 root 또는 다른 사용자의 권한으로 명령어를 실행할 수 있도록 허용하는 기능입니다.
- 명령어:
- 지정된 사용자의 권한으로 명령어를 실행합니다.sudo [옵션] 명령어
- 명령어:
- /etc/sudoers 파일을 안전하게 편집하기 위한 명령어입니다. (문법 오류 검사 기능 제공)visudo
- 설정 파일:
- sudo 권한을 가진 사용자, 그룹, 그리고 어떤 명령어를 어떤 권한으로 실행할 수 있는지 설정하는 파일입니다./etc/sudoers
- 설정 파일:
디렉터리 - 개별 애플리케이션이나 사용자에 대한 sudo 설정 파일을 추가하여 관리할 수 있는 디렉터리입니다./etc/sudoers.d/
파일 시스템 및 권한
파일과 디렉터리를 관리하고 접근 권한을 제어하는 기본 기능입니다.
-
파일 및 디렉터리 기본 작업
- 명령어:
- 파일 및 디렉터리 목록을 출력합니다. (옵션: -l 상세 정보, -a 숨김 파일 포함, -h 용량 단위를 사람이 읽기 쉽게)ls [옵션] [파일/디렉터리]
- 명령어:
- 현재 작업 디렉터리를 변경합니다.cd [디렉터리]
- 명령어:
- 현재 작업 디렉터리의 전체 경로를 출력합니다.pwd
- 명령어:
- 새로운 디렉터리를 생성합니다.mkdir 디렉터리
- 명령어:
- 파일을 삭제합니다. (옵션: -r 디렉터리 삭제, -f 강제 삭제)rm [옵션] 파일
- 명령어:
- 파일 또는 디렉터리를 복사합니다. (옵션: -r 디렉터리 복사)cp [옵션] 원본 대상
- 명령어:
- 파일 또는 디렉터리를 이동하거나 이름을 변경합니다.mv [옵션] 원본 대상
- 명령어:
-
파일/디렉터리 소유권 및 권한 변경
- 명령어:
- 파일 또는 디렉터리의 소유자 및 소유 그룹을 변경합니다.chown [옵션] 소유자[:그룹] 파일/디렉터리
- 명령어:
- 파일 또는 디렉터리의 접근 권한을 변경합니다. (권한 모드: rwx 조합 또는 3자리 숫자 예: 755)chmod [옵션] 권한모드 파일/디렉터리
- 명령어:
-
디스크 공간 확인 및 파일 시스템 마운트
- 명령어:
- 디스크 파티션별 사용 가능한 공간을 확인합니다. (옵션: -h 용량을 사람이 읽기 쉽게 표시)df [옵션]
- 명령어:
- 파일 또는 디렉터리가 사용하는 디스크 공간을 확인합니다. (옵션: -sh 특정 디렉터리의 총 용량을 사람이 읽기 쉽게)du [옵션] [디렉터리]
- 명령어:
- 파일 시스템을 특정 디렉터리(마운트 포인트)에 연결하여 접근 가능하게 합니다.mount [옵션] 장치 마운트포인트
- 명령어:
- 마운트된 파일 시스템을 해제합니다.umount 마운트포인트
- 명령어:
- 디스크 파티션 정보를 확인하거나 생성/삭제합니다. (옵션: -l 파티션 목록 출력)fdisk [옵션] 장치
- 명령어:
- 지정된 장치에 특정 타입의 파일 시스템을 생성합니다. (예: mkfs -t ext4 /dev/sdb1)mkfs [옵션] 파일시스템타입 장치
- 명령어:
-
자동 마운트 설정 파일
- 설정 파일:
- 시스템 부팅 시 자동으로 마운트될 파일 시스템들의 정보가 정의된 파일입니다./etc/fstab
- 설정 파일:
프로세스 관리
시스템에서 실행 중인 프로그램(프로세스)들을 확인하고 제어하는 기능입니다.
-
프로세스 목록 확인
- 명령어:
- 현재 실행 중인 프로세스들의 스냅샷을 출력합니다. (옵션: aux, -ef 등 다양한 조합)ps [옵션]
- 명령어:
- 시스템의 실시간 상태를 모니터링하며 프로세스 목록을 CPU 사용률 등과 함께 주기적으로 업데이트하여 보여줍니다.top
- 명령어:
- top과 유사하지만 더 사용자 친화적인 인터페이스와 기능을 제공하는 대화형 프로세스 뷰어입니다. (별도 설치 필요)htop
- 명령어:
-
프로세스 종료
- 명령어:
- 특정 PID(프로세스 ID)를 가진 프로세스에게 시그널을 보내 제어합니다. (기본 시그널: SIGTERM - 정상 종료 요청)kill [시그널] PID
- 명령어:
- 지정된 이름을 가진 모든 프로세스에게 시그널을 보냅니다.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 주소, MAC 주소, 상태(UP/DOWN) 등을 자세히 보여줍니다. (선호됨)ip addr show
- 명령어:
- 네트워크 인터페이스 정보를 확인하거나 설정합니다. (구형 명령어)ifconfig [인터페이스]
- 명령어 (임시 설정):
- 인터페이스에 IP 주소를 할당합니다 (재부팅 시 사라짐).ip addr add 192.168.1.100/24 dev eth0
- 명령어 (임시 설정):
- 인터페이스를 활성화합니다 (재부팅 시 사라짐).ip link set eth0 up
- 설정 파일 (Debian/Ubuntu):
- 네트워크 인터페이스의 영구적인 설정을 정의합니다./etc/network/interfaces
- 설정 파일 (RHEL/CentOS/Fedora):
- 네트워크 인터페이스 설정을 정의합니다./etc/sysconfig/network-scripts/ifcfg-인터페이스이름
- 설정 파일 (신형 Ubuntu):
- Netplan을 사용하는 시스템의 네트워크 설정 파일입니다./etc/netplan/*.yaml
로 적용합니다.sudo netplan apply
- 명령어:
-
라우팅 테이블 관리
- 명령어:
- 시스템의 IP 라우팅 테이블 내용을 확인합니다. (선호됨)ip route show
- 명령어:
- 라우팅 테이블을 IP 주소 형태로 확인합니다. (구형 명령어)route -n
- 명령어 (임시 설정):
- 기본 게이트웨이를 설정합니다 (재부팅 시 사라짐).ip route add default via 192.168.1.1
- 설정 파일: 네트워크 인터페이스 설정 파일 또는
등 (배포판에 따라 다름) - 영구적인 라우팅 설정을 정의합니다./etc/sysconfig/network
- 명령어:
-
네트워크 연결 상태 및 통계
- 명령어:
- 현재 활성화된 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 확인합니다. (옵션: -tulnp - TCP/UDP 리스닝 포트와 프로세스 확인)netstat [옵션]
- 명령어:
- netstat보다 빠르고 향상된 소켓 상태 확인 도구입니다. (옵션: -tulnp)ss [옵션]
- 명령어:
-
DNS 클라이언트 설정
- 설정 파일:
- 시스템이 도메인 이름 조회를 위해 사용할 DNS 서버 주소 목록을 정의합니다./etc/resolv.conf
- 설정 파일:
-
호스트 이름 해석
- 명령어:
- DNS 서버에게 특정 도메인 이름에 대한 정보를 질의합니다. (대화형 모드 지원)nslookup 도메인이름
- 명령어:
- DNS 서버에게 특정 도메인 이름에 대한 정보를 질의하는 더 유연하고 상세한 도구입니다. (예:dig 도메인이름 [레코드타입]
dig google.com MX
)
- 명령어:
-
ARP 캐시 관리
- 명령어:
- ARP 캐시 테이블 내용을 확인합니다. (선호됨)ip neigh show
- 명령어:
- ARP 캐시 테이블 내용을 확인합니다. (구형)arp -a
- 명령어:
방화벽 설정
네트워크 트래픽을 필터링하여 시스템 보안을 강화합니다.
-
iptables
- 역할: Linux 커널의 Netfilter 프레임워크를 제어하는 저수준 방화벽 도구입니다. 규칙 설정이 강력하지만 복잡할 수 있습니다.
- 명령어:
- 방화벽 규칙을 추가, 삭제, 수정합니다.iptables [옵션] [체인] [규칙]
- 명령어:
- 현재 설정된 방화벽 규칙 목록을 출력합니다.iptables -L
- 명령어:
(RHEL/CentOS) 또는iptables-save > /etc/sysconfig/iptables
(Debian/Ubuntu) - 현재 규칙을 파일로 저장하여 재부팅 시 유지되도록 합니다.iptables-save > /etc/iptables/rules.v4
- 설정 파일: 위에 저장된 파일들 - 저장된 iptables 규칙 파일입니다.
-
firewalld
- 역할: 동적 방화벽 관리 데몬으로, iptables 위에 추상화된 레이어를 제공합니다. 영역(Zone) 개념을 사용하여 관리가 용이합니다. (RHEL/CentOS/Fedora 등에서 주로 사용)
- 명령어:
- firewalld 서비스 상태를 확인합니다.systemctl status firewalld
- 명령어:
- firewalld 설정을 변경합니다. (옵션: --zone, --add-port, --remove-port, --list-all, --permanent)firewall-cmd [옵션]
- 명령어:
- 영구 설정 변경 후 적용합니다.firewall-cmd --reload
- 설정 파일:
디렉터리 - 영역(Zone)별 설정 파일들이 저장됩니다./etc/firewalld/zones/
- 설정 파일:
디렉터리 - 서비스(예: ssh, http) 정의 파일들이 저장됩니다./etc/firewalld/services/
-
UFW (Uncomplicated Firewall)
- 역할: iptables를 쉽게 구성할 수 있도록 설계된 사용자 친화적인 방화벽 관리 도구입니다. (Ubuntu/Debian에서 주로 사용)
- 명령어:
- UFW 상태 및 설정된 규칙을 확인합니다.ufw status
- 명령어:
,ufw enable
- UFW를 활성화/비활성화합니다.ufw disable
- 명령어:
- 특정 포트나 서비스에 대한 접근을 허용하거나 차단합니다. (예:ufw allow | deny [포트][/프로토콜]
ufw allow 22/tcp
,ufw allow http
) - 설정 파일:
디렉터리 - UFW 설정 파일들이 저장됩니다./etc/ufw/
패키지 관리
소프트웨어 패키지를 설치, 제거, 업데이트하는 기능입니다.
-
Debian/Ubuntu 계열 (APT)
- 역할: Debian 및 파생 배포판에서 사용되는 패키지 관리 시스템입니다.
- 명령어:
- 패키지 저장소에서 최신 패키지 목록 정보를 가져옵니다.sudo apt update
- 명령어:
- 현재 시스템에 설치된 패키지들을 최신 버전으로 업그레이드합니다.sudo apt upgrade
- 명령어:
- 새로운 패키지를 설치합니다.sudo apt install 패키지이름
- 명령어:
- 패키지를 제거합니다 (설정 파일은 남김).sudo apt remove 패키지이름
- 명령어:
- 패키지와 관련된 모든 설정 파일을 함께 제거합니다.sudo apt purge 패키지이름
- 설정 파일:
- 패키지 저장소(Repository)의 기본 경로가 설정된 파일입니다./etc/apt/sources.list
- 설정 파일:
디렉터리 - 추가적인 패키지 저장소 설정 파일을 저장하는 디렉터리입니다./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
- YUM 또는 DNF의 전역 설정 파일입니다./etc/dnf/dnf.conf
- 설정 파일:
,/etc/yum.repos.d/
또는/etc/yum/repos.d/
디렉터리 - 패키지 저장소 설정 파일들이 저장되는 디렉터리입니다./etc/dnf/repos.d/
로그 및 시스템 이벤트
시스템 및 애플리케이션에서 발생하는 다양한 이벤트(정보, 경고, 오류 등)를 기록하고 관리합니다.
-
로그 확인 명령어
- 명령어:
- 시스템 부팅 과정에서 커널이 출력하는 메시지를 보여줍니다. 하드웨어 관련 문제 확인에 유용합니다.dmesg
- 명령어:
- systemd 저널 데몬이 수집하는 시스템 로그를 확인합니다. (옵션: -u 서비스이름 - 특정 서비스 로그, -f - 실시간 로그 확인)journalctl [옵션]
- 명령어:
- 파일의 마지막 부분을 출력합니다. (옵션: -f 파일 내용이 추가될 때마다 실시간으로 출력) - 전통적인 로그 파일 확인에 사용됩니다.tail [옵션] 파일경로
- 명령어:
- 파일 내용에서 특정 패턴(검색어)이 포함된 줄을 찾아 출력합니다. 로그 분석에 널리 사용됩니다.grep '검색어' 파일경로
- 명령어:
-
주요 로그 파일 위치 (배포판 및 설정에 따라 다름)
- 파일:
- 일반적인 시스템 로그 메시지 (Debian/Ubuntu 계열)/var/log/syslog
- 파일:
- 일반적인 시스템 로그 메시지 (RHEL/CentOS 계열)/var/log/messages
- 파일:
- 사용자 로그인, 인증 실패 등 보안 및 인증 관련 로그 (Debian/Ubuntu 계열)/var/log/auth.log
- 파일:
- 사용자 로그인, 인증 관련 로그 (RHEL/CentOS 계열)/var/log/secure
- 파일:
- 커널 관련 로그/var/log/kern.log
- 파일:
- 시스템 부팅 시 로그/var/log/boot.log
- 파일:
- dmesg 명령어로 확인 가능한 커널 부팅 로그 (파일로 저장되는 경우)/var/log/dmesg
- 파일:
-
로그 관리 설정
- 설정 파일:
,/etc/rsyslog.conf
디렉터리 - rsyslogd 로그 데몬의 설정 파일입니다. 어떤 로그를 어디에 저장할지 등을 정의합니다./etc/rsyslog.d/
- 설정 파일:
- systemd의 저널(journald) 로그 관리 설정 파일입니다. 로그 저장 방식, 용량 등을 설정합니다./etc/systemd/journald.conf
- 설정 파일:
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Eclipse
- Powershell
- SEQUENCE
- BAT
- diff
- Filter
- db
- popup
- 스페셜티
- handdrip
- GitHub
- LILI COFFEE
- MySQL
- 리리 커피
- dbeaver
- date
- partition
- 로스터리
- 커피
- MariaDB
- JSP
- table
- Coffee
- VBS
- Between
- oracle
- JavaScript
- SQL
- 단위변환
- backup
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함