4.

hostnameコマンドの使い方|Windows・Linux・macOSでホスト名確認

編集
この記事の要点
  • hostname はホスト名を表示・変更するコマンド。Windows / Linux / macOS で共通利用できる
  • 引数なしで実行すると現在のホスト名を表示
  • Linux では -f(FQDN)、-i(IP 取得)、-d(ドメイン名)などのオプションあり
  • Windows 版は表示専用。変更はシステム設定 or PowerShell の Rename-Computer
  • 近年の systemd 環境では hostnamectl の方が推奨される(永続化が確実)

hostname コマンドとは

hostname はコンピュータに付けられたホスト名(コンピュータ名)を表示・変更するコマンドです。Windows / Linux / macOS など主要 OS で同じ名前のコマンドが用意されています。

サーバ管理、ログ集約、SSH 接続先の確認など、運用現場の基本ツールです。

基本構文

# 表示
hostname

# 変更(要管理者権限)
hostname 新しいホスト名

Windows での使い方

Windows 版 hostname表示専用です。コマンドプロンプト / PowerShell から実行できます。

PS C:\> hostname
DESKTOP-ABC123

# PowerShell 専用の表示方法
PS C:\> $env:COMPUTERNAME
DESKTOP-ABC123

# ホスト名変更(要再起動)
PS C:\> Rename-Computer -NewName "NEW-PC" -Restart

Linux での使い方

# 現在のホスト名を表示
$ hostname
server01

# FQDN(完全修飾ドメイン名)を表示
$ hostname -f
server01.example.com

# 短いホスト名のみ
$ hostname -s
server01

# ドメイン名
$ hostname -d
example.com

# IP アドレス一覧
$ hostname -i
192.168.1.10

# すべての IP(複数 NIC 対応)
$ hostname -I
192.168.1.10 10.0.0.5

# 一時的に変更(再起動で消える)
$ sudo hostname new-server

主なオプション(Linux)

オプション意味
なし現在のホスト名を表示
-s / --shortドメインを除いた短い名前
-f / --fqdnFQDN(host.domain)
-d / --domainドメイン名のみ
-i / --ip-addressIP アドレス(/etc/hosts から)
-I / --all-ip-addressesすべての IP(NIC ベース、推奨)
-a / --aliasエイリアス
--helpヘルプ表示

ホスト名の永続化(Linux)

hostname new-name だけだと再起動で元に戻ります。永続的に変えるには方法を選びます。

方法 1: hostnamectl(推奨・systemd 環境)

# 確認
$ hostnamectl

# 変更(即時反映 + 永続化)
$ sudo hostnamectl set-hostname new-server.example.com

# 「きれいな」表示用ホスト名
$ sudo hostnamectl set-hostname "Production Server" --pretty

方法 2: /etc/hostname を直接編集

$ sudo vi /etc/hostname
# 一行だけで OK
new-server

# 再起動で反映 or 下記で即時反映
$ sudo hostname -F /etc/hostname

hostname と hostnamectl の違い

項目hostnamehostnamectl
表示シンプル(1 行)静的 / 一時的 / pretty の 3 種を区別表示
変更一時的(再起動で消える)永続化される(/etc/hostname に書き込む)
対応 OSほぼすべての Unix 系systemd 環境(最近の Linux)
推奨表示のみ変更時の第一選択

macOS の場合

# 確認
$ hostname
mac-of-john.local

# 変更(3 種類の名前を統一)
$ sudo scutil --set HostName     "newmac"
$ sudo scutil --set LocalHostName "newmac"
$ sudo scutil --set ComputerName "newmac"

macOS はHostName / LocalHostName / ComputerNameの 3 種類があり、用途が異なります。SSH や Bonjour、共有名で表示されるものをそれぞれ設定します。

よく使うシーン

シーン使い方
SSH 接続先確認ssh user@server && hostname
シェルプロンプトに表示PS1='\u@\h:\w\$ '\h
スクリプトで分岐if [ "$(hostname)" = "prod" ]; then ... fi
クラスタの IP 確認hostname -I
FQDN 取得hostname -f

よくあるトラブル

症状原因と対処
hostname -funknown host/etc/hosts に自ホスト名のエントリ不足。127.0.1.1 server01.example.com server01 を追加
再起動でホスト名が戻る/etc/hostname または hostnamectl set-hostname で永続化
SSH のプロンプトが localhost のままhostname 変更後、シェル再起動が必要(環境変数 HOSTNAME も再評価)
クラウド VM でホスト名が勝手に変わるcloud-init / metadata 由来。cloud.cfgpreserve_hostname: true を設定

FAQ

Q: hostname と $HOSTNAME の違いは?
A: hostname はカーネルから現在のホスト名を取得します。$HOSTNAME はシェル起動時に評価された環境変数なので、シェル起動後に変更しても $HOSTNAME は古いまま。

Q: ホスト名にアンダースコアは使える?
A: RFC 1123 では英数字とハイフンのみ。アンダースコアは技術的に動くこともあるが DNS や TLS で問題を起こすので非推奨。

Q: Docker コンテナのホスト名は?
A: docker run --hostname mycontainer ... で指定可能。指定なしの場合はコンテナ ID の先頭 12 桁が使われます。

関連

  • コマンド一覧 — 親カテゴリ
  • hostnamectl — systemd 環境の推奨コマンド
  • /etc/hostname / /etc/hosts — 設定ファイル
  • ipconfig / ifconfig / ip addr — IP アドレス確認
  • nslookup / dig — DNS 解決
編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. cd ディレクトリの移動
  2. dir ファイル/ディレクトリ一覧表示
  3. ipconfig IP構成の確認
  4. hostname ホスト名の確認
  5. ping コマンド
  6. start プログラムの実行

最近更新/作成されたページ