getentコマンド
getentコマンドはLinuxシステムにおいてpasswd, groups, hostsなど様々なデータベースからエントリを取得する。
getentはシステムが参照している実際のソースから情報を取得し、設定ファイルだけでなく、DNS、NIS、LDAPなどの外部ソースにあるデータを直接確認できる。
getent 取得したいデータベース 引数の形式で使用する。
getentコマンドでIPアドレスを調べる
getentコマンドでデータベースにhostsを指定し、getent hosts ホスト名のように実行するとIPアドレスを調べられる。
$ getent hosts www.yahoo.co.jp
182.22.31.124 edge12.g.yimg.jp www.yahoo.co.jp
シェルスクリプトから使う場合
getent hostsコマンドでは行頭にIPアドレスが表示されるので、cutコマンドでIPアドレスだけを取り出す。
$NAME=...
getent hosts $NAME | cut -d ' ' -f 1
複数のIPアドレスがある場合はheadコマンドで1行目だけを取り出すなど工夫が必要となる。
$NAME=...
getent hosts $NAME | cut -d ' ' -f 1 | head -n 1
nslookupとdigが利用できない状況
指定したホストのIPアドレスを調べるにはnslookupやdigコマンドが有名だが、必要最低限のツールしかインストールされていない環境など、利用できない状況もある。
そのような場合でもgetentコマンドが使えるサーバは多いので、getent hostsコマンドを使えばIPアドレスを調べるられる。
\第一線のプログラマーの行動原理を学べる!/
