# hostname 명령어 정리
## 1. 기본 사용법
### 현재 호스트 이름 확인
```bash
hostname
```
### 호스트 이름 상세 정보 확인
```bash
hostname -A # 모든 FQDN (정규화된 도메인 이름) 나열
hostname -a # 별칭(alias) 이름 출력
hostname -d # DNS 도메인 이름 출력
hostname -f # FQDN (정규화된 도메인 이름) 출력
hostname -i # 호스트의 IP 주소 출력
hostname -I # 모든 네트워크 인터페이스의 IP 주소 출력
hostname -s # 짧은 호스트 이름 출력 (도메인 제외)
```
## 2. 호스트 이름 설정
### 임시로 호스트 이름 변경 (재부팅 시 초기화)
```bash
sudo hostname 새로운호스트이름
```
### 영구적으로 호스트 이름 변경
```bash
# Ubuntu/Debian
sudo hostnamectl set-hostname 새로운호스트이름
# RHEL/CentOS/Fedora
sudo hostnamectl set-hostname 새로운호스트이름
# 또는 직접 파일 수정
sudo vi /etc/hostname # 호스트명만 입력하고 저장
sudo vi /etc/hosts # 127.0.0.1 localhost 새로운호스트이름 추가
```
## 3. 호스트 정보 확인 명령어
### hostnamectl (systemd 시스템)
```bash
hostnamectl # 모든 호스트 정보 표시
hostnamectl status # 호스트 상태 정보
hostnamectl set-hostname 이름 # 호스트 이름 설정
hostnamectl set-icon-name 이름 # 아이콘 이름 설정
hostnamectl set-chassis 유형 # 시스템 유형 설정 (desktop, laptop, server 등)
```
### 네트워크 관련 호스트 정보
```bash
dnsdomainname # DNS 도메인 이름 출력
nisdomainname # NIS 도메인 이름 출력
ypdomainname # YP 도메인 이름 출력
```
## 4. 호스트 이름 관련 파일
### 주요 설정 파일
- `/etc/hostname` - 호스트 이름 저장 파일
- `/etc/hosts` - 호스트 이름과 IP 매핑 파일
- `/etc/sysconfig/network` - RHEL 계열 네트워크 설정 파일
### /etc/hosts 파일 예시
```
127.0.0.1 localhost localhost.localdomain
192.168.1.10 myserver.example.com myserver
```
## 5. 실용적인 예제
### 현재 시스템의 모든 네트워크 정보 확인
```bash
hostname -I # 모든 IP 주소
hostname -i # 호스트의 IP 주소
hostname -f # 전체 도메인 이름
```
### 스크립트에서 사용하기
```bash
#!/bin/bash
SERVER_NAME=$(hostname)
SHORT_NAME=$(hostname -s)
IP_ADDRESS=$(hostname -I | awk '{print $1}')
echo "서버 이름: $SERVER_NAME"
echo "짧은 이름: $SHORT_NAME"
echo "IP 주소: $IP_ADDRESS"
```
## 6. 문제 해결
### 호스트 이름이 변경되지 않을 때
1. 재부팅
```bash
sudo reboot
```
2. 네트워크 서비스 재시작
```bash
# systemd 시스템
sudo systemctl restart systemd-hostnamed
# 네트워크 매니저
sudo systemctl restart NetworkManager
```
3. 캐시 삭제
```bash
sudo systemd-resolve --flush-caches
```
### DNS 확인
```bash
nslookup $(hostname)
dig $(hostname)
```
## 7. 옵션 요약
| 옵션 | 설명 |
|------|------|
| `-a` | 별칭(alias) 이름 출력 |
| `-A` | 모든 FQDN 나열 |
| `-d` | DNS 도메인 이름 출력 |
| `-f` | FQDN (정규화된 도메인 이름) 출력 |
| `-F` | 파일에서 호스트 이름 읽기 |
| `-i` | 호스트의 IP 주소 출력 |
| `-I` | 모든 네트워크 인터페이스의 IP 주소 출력 |
| `-s` | 짧은 호스트 이름 출력 |
| `-V` | 버전 정보 출력 |
| `-v` | 상세 정보 출력 |
| `-y` | NIS/YP 도메인 이름 출력 |
## 참고사항
- 호스트 이름 변경 후에는 `/etc/hosts` 파일도 함께 수정하는 것이 좋습니다
- 영구적인 변경을 위해서는 `hostnamectl` 명령어나 설정 파일을 직접 수정해야 합니다
- 일부 옵션은 시스템 구성에 따라 동작이 다를 수 있습니다
'메모장' 카테고리의 다른 글
| netstat 명령어 정리 (0) | 2025.12.07 |
|---|---|
| `ping` 명령어는 **네트워크 연결 상태를 진단**하는 데 사용하는 기본적인 네트워크 도구입니다. (0) | 2025.12.07 |
| 기본적인 CMD 명령어 정리 (0) | 2025.12.07 |
| ipconfig /release: 완전히 이해하기 - 초보자를 위한 상세 가이드 (0) | 2025.12.07 |
| Tracert (Trace Route) 명령어 사용법 완전 정리 (0) | 2025.12.07 |