whatis とか whois とか wh 系コマンドのまとめ

はじめに

Unix/Linuxの利用者は、whatis とか whois とか、whのつくコマンドが色々あるのは知っている。
けれど、意外と総体は把握できていない(主に私が)。
じゃあ、整理したいのでまとめてみましょう(主に私のために)。
が、記事の趣旨です。

列挙してみた

$ man -k wh | grep '(1)' | grep ^wh
whatis (1)           - display one-line manual page descriptions
whereis (1)          - コマンドのバイナリ・ソース・man ページの場所を示す
which (1)            - コマンドの場所
who (1)              - 誰がログインしているかを表示する
whoami (1)           - 実効ユーザ名を出力する
whiptail (1)         - display dialog boxes from shell scripts
whois (1)            - client for the whois directory service

あれ?思ってたより少ないですね。
あ、私のUbuntuにインストールされてないから表示されないだけで、他にもあるかもってことですね。
て、ことは、、、総体の把握は無理ってことですか。。。
例えば、今、地球上のどこかで whoareyou コマンドが作成されて公開されてる可能性もあるわけでして。。。
それを検知する手段は、、、あるのかな?

ごめんなさい、いきなり記事の趣旨が頓挫しました。
仕方無いので、今列挙したものの用例だけは書いておくので、これで勘弁してください。

使い方

whatis

$ man -f whatis
whatis (1)           - display one-line manual page descriptions
$ 
$ whatis whatis
whatis (1)           - display one-line manual page descriptions

実行結果をみればわかるように、"man -f" と同等です。
( f は Full keyword のfかな?)

whereis と which

$ whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz
$ 
$ which whereis
/usr/bin/whereis

実体ファイルがどこにあるかを調べるやつですね。
whereis と which の違いは、この記事の趣旨から外れるから書きません。
自分で調べてください。(ついでに type コマンドも調べるといいよ。)

who と whoami

$ who
tanaka     tty7         2016-11-16 11:27 (:0)
$ whoami
tanaka

前述の、man の説明文のとおりですね。 似たような機能で "w" コマンドなんてのもありますね。

whois

$ whois google.co.jp
[ JPRS database provides information on network administration. Its use is    ]
[ restricted to network administration purposes. For further information,     ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e'     ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'.                 ]

Domain Information: [ドメイン情報]
a. [ドメイン名]                 GOOGLE.CO.JP
e. [そしきめい]                 ぐーぐるかぶしきかいしゃ
f. [組織名]                     グーグル株式会社
g. [Organization]               Google Japan
k. [組織種別]                   株式会社
l. [Organization Type]          corporation
m. [登録担当者]                 DL152JP
n. [技術連絡担当者]             TW124137JP
p. [ネームサーバ]               ns1.google.com
p. [ネームサーバ]               ns2.google.com
p. [ネームサーバ]               ns3.google.com
p. [ネームサーバ]               ns4.google.com
s. [署名鍵]                     
[状態]                          Connected (2017/03/31)
[登録年月日]                    2001/03/22
[接続年月日]                    2001/03/22
[最終更新]                      2016/04/01 01:09:06 (JST)

「お前はだれだ?」ってことですが、住所とか分かったりするので、結構面白いです。

おまけ

全然関連がないけど、whiptail の使い方も書いておきます。

$ whiptail --yesno "Are you ready?" 10 20;

を実行すると、↓のダイアログが出てきます。(10 20 の指定は、ダイアログの縦横の長さ指定です。)

f:id:Y-Andoh:20161117122225p:plain

いいえ を選択して、whiptailの戻り値を見ると、

$ echo $?
1

確かに、エラーリターンしてます。 Windows で言うところの Messagebox の機能ですね。