CLIマジック:システム情報を表示する

 GNU/Linuxは、稼働中のシステムに関する情報を溢れんばかりに持っている。そのため例えばシステムのハードウェアやメモリ、インターネット接続、カレントプロセス、各ユーザが現在実行していることなど――はもちろんのこと、さらにもっと多くの情報を知ることができる。そのようなシステム情報を得る方法としてはKDEのControl CenterやGNOMEのSystem Monitorなどのデスクトップツールを使うこともできるが、もっとも簡単な方法はやはり、コマンドラインを使うことだ。

 多くの場合、システム情報は特定のコマンドを実行することで得ることができる。これらのコマンドには、正にその情報を得ることを目的として書かれているものもあれば、システムを何らかの形で変更することが主な目的だがシステムの現在の状態を把握するためのパラメータをたまたま持っているというものもある。

 また、ログや設定ファイルや/proc仮想ファイルシステム経由でシステム情報を得ることができる場合もある。そのようなファイルの多くはプレーンテキストで書かれているので、catやlessやmoreなど、ファイルの内容をコマンドラインに出力するための基本的なコマンドがあれば表示することができる。

システム情報を知るためのコマンド

 システム情報を得るためのもっとも単純なコマンドの一つはarchで、Pentium系であればi586、Pentium IIかそれ以上であればi686、などとしてコンピュータのアーキテクチャを表示する。しかしもっと詳細なシステム情報を得たい場合には、「 uname -a 」を実行すれば、オペレーティングシステム、ローカルホスト、カーネルのリリース/ビルド情報、プロセッサのタイプが一行で表示される。また、「 fdisk -l 」を使ってパーティションのリストを表示したり、「 swapon -s 」を使ってすべてのスワップパーティションについての情報を表示したりすることができる。現在どのユーザがログオンしていてどのようなプロセスを実行しているのかやシステムの現在の使用状況などについての情報を知るには、「 w 」と入力するだけで良い。さらに、「 lsmod 」を実行してロードされているカーネルモジュールを知ることもできる。

 メモリについての情報を知ることができるコマンドもいくつかある。RAMについての情報を得るための基本的なコマンドには「 free -m 」があり、システム上のRAMとスワップ空間の総容量や、それらの使用容量と空き容量などを知ることができる。一方ハードディスクの容量については df コマンドを使えば、システムのすべてのファイルシステムの情報を表示したり、特定のファイルシステムの情報を表示したりすることができる。特に便利な使い方として「 df -hiT 」と実行すると、各ファイルシステムのiノード総数、その使用済み/空きの数、ファイルシステムの形式、マウントポイントなどを表示することができる。また特定のファイルやディレクトリの容量を知る必要がある場合には、「 du パス名 」または「 ls -s パス名 」を実行すれば良い。

 インターネット接続に関する情報を知りたい場合には、「 nslookup ホストサーバ名 」を実行すれば、ドメイン名とアドレスが表示される。自分のマシンのドメイン名を知るためには「 dnsdomainname 」や「 hostname -d 」コマンドを実行する。一方、IPアドレスを知るためには「 hostname -i 」を実行する。

 システム上のプロセスについての情報を知ることができるコマンドもいくつかある。プロセス関連のもっともよく使われるコマンドの一つは top で、システム上でCPUをもっとも多く使用しているプロセスのリストを表示して、Ctrl-Cの入力で終了するまで継続的にリストを更新し続ける。一方、動作中の全プロセスのリストを表示するには「 ps auS 」を実行(パラメータの前にハイフンがないことに注意)すれば良い。実行中のプロセスの表示は pstree でも可能で、プロセスの親子関係――つまり、どのプロセスがどのプロセスを起動したのか――を表示することができる。また fuser を使用すれば、プロセスがファイルを使用しているかどうかを知ることができる。

 さらに、ユーザについての情報と、ユーザが行なっていることについての情報を集めることができるコマンドもいくつかある。「 group ユーザ名 」コマンドを実行すれば、指定したユーザが属しているグループを知ることができる。また「 id ユーザ名 を実行しても同じ情報を得ることができて、さらにユーザIDとグループIDを知ることもできる。また「 finger ユーザ名 」を実行すれば、ユーザがシステムに最後にログオンした日時や、/var/mailに未読メールがあるかどうかなどの情報を確認することができる。さらに、例えばシステム用アカウントへのログイン/ログアウトを繰り返していた場合などで、自分が今誰なのか分からなくなってしまった場合には、whoamiコマンドを実行すれば自分自身を確認することができる。