hostname コマンドは、システムのホスト名を表示または設定するために使用されます。
ホスト名は、ネットワーク上でサーバやデバイスを識別するための一意の名前です。
現在のホスト名を確認するほか、FQDN(完全修飾ドメイン名)の表示や、一時的にホスト名を変更することもできます。
systemd 環境では恒久的な変更に hostnamectl を使うことが多いですが、さっと確認したり一時的に変更したいときには hostname コマンドがよく使われます。
hostname [オプション]hostname [オプション] 新しいホスト名
引数なしで実行した場合は、現在のホスト名を表示します。
ホスト名を指定して実行した場合は、その値をホスト名として設定します(多くの環境では再起動すると元に戻る一時的な変更になります)。
・現在のホスト名を表示する
hostname
もっとも基本的な使い方で、現在のホスト名を 1 行で表示します。
SSH で接続した先のサーバが、本当に想定しているホストなのか確認したいときに使います。
・ホスト名を新しく設定する(一時的な変更)
sudo hostname new-hostname
引数に new-hostname のようにホスト名を指定すると、その名前に変更します。
多くのディストリビューションでは、この変更は一時的であり、再起動すると元の設定(/etc/hostname など)に戻ります。
本番環境で恒久的な変更を行う場合は hostnamectl set-hostname や /etc/hostname の編集が推奨です。
・FQDN(完全修飾ドメイン名)を表示する
hostname -f
-f(–fqdn)は、ホスト名だけでなくFQDN(ホスト名.ドメイン名)を表示します。
DNS や /etc/hosts の設定によって結果が変わるため、FQDN が正しく設定されているか確認するときに便利です。
・ホストに割り当てられている IP アドレスを一覧表示する
hostname -I
-I(大文字のアイ)は、ホストに割り当てられているすべての IP アドレスをスペース区切りで表示します。
複数のインターフェースや IPv4 / IPv6 を持つサーバで、「ざっくり IP を確認したい」ときに便利です。
・短いホスト名だけを表示する
hostname -s
-s(–short)は、FQDN のうち最初のラベル(短いホスト名)のみを表示します。
例:web01.example.com の場合、web01 だけが表示されます。
・ホスト名をファイルから設定する
sudo hostname -F /etc/hostname
-F(–file)は、指定したファイルに書かれている文字列をホスト名として設定します。
/etc/hostname に記載したホスト名を反映させたい場合や、構成管理ツールで生成したファイルから設定する際に使われます。
・ドメイン名の部分だけを表示する
hostname -d
-d(–domain)は、ホスト名からドメイン名の部分だけを表示します。
例:web01.example.com の場合、example.com が表示されます。
DNS や /etc/hosts に依存するため、環境によっては期待通りに動作しないこともあります。
・systemd 環境で恒久的にホスト名を変更する(参考)
sudo hostnamectl set-hostname app01.example.com
厳密には別コマンドですが、実務ではホスト名の恒久的な設定変更には hostnamectl を使うことが多いです。
hostname は、主に「現在のホスト名の確認」「一時的な変更」に使う、と整理しておくと分かりやすいです。
・SSH 接続先がどのサーバか確認する
複数サーバを行き来していると、「今どのホストにいるか」分からなくなることがあります。
その際に hostname を叩いて、接続先が想定どおりか確認するのは日常的な安全確認です。
・監視ツールやログで使われているサーバ名の確認
監視画面やログ収集基盤で表示されているホスト名と、実サーバのホスト名が一致しているかを確認するために、
hostname や hostname -f を使うことがあります。
・DNS / /etc/hosts 設定の動作確認
FQDN の表示やドメイン名部分の表示を確認しながら、
DNS や /etc/hosts の設定が意図したとおりに動いているかを調べる際に役立ちます。
・構築直後のホスト名チェック
自動構築やクラウドのユーザーデータでホスト名を設定したあと、
hostname と hostname -f で最終的な状態を確認するのは、構築手順の定番です。
hostname コマンドはシンプルですが、DNS・/etc/hosts・systemd の設定とセットで理解することで、
サーバ名まわりのトラブルシュートや設計がぐっとやりやすくなります。
| short option | long option | description |
|---|---|---|
| -s | --short | FQDN のうち最初のラベルのみを表示する(短いホスト名だけを表示する) |
| -f | --fqdn | 完全修飾ドメイン名(FQDN)を表示する(DNS や /etc/hosts の設定に依存する) |
| -d | --domain | ホスト名からドメイン名の部分だけを表示する |
| -a | --alias | ホスト名に設定されているエイリアス名を表示する(一部実装のみ対応) |
| -i | --ip-address | ホスト名に対応する IP アドレスを表示する(名前解決に依存し実装によって挙動が異なる) |
| -I | --all-ip-addresses | ホストに割り当てられたすべての IP アドレスをスペース区切りで表示する |
| -A | --all-fqdns | ホストに設定されているすべての FQDN を表示する(一部実装のみ対応) |
| -y | --yp | NIS/YP ドメイン名を表示する(古い環境向け機能) |
| -F | --file | 指定したファイルからホスト名を読み込みその値をホスト名として設定する |
| -b | --boot | ホスト名がまだ設定されていない場合だけホスト名を設定する(ブート時の自動設定向け) |
| -h | --help | hostname コマンドの使い方(ヘルプ)を表示して終了する |
| -V | --version | hostname コマンドのバージョン情報を表示して終了する |
ここでは、Linux 環境で一般的に利用される hostname コマンドの主なオプションを TablePress の表にまとめている想定です。
実際に利用できるオプションや挙動は、ディストリビューションや実装(util-linux 版・inetutils 版など)によって異なる場合があるため、
本番環境で利用する前に man hostname で最新の仕様を確認してください。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。

人気ブログランキング
![]()
にほんブログ村