久しぶりにAWSのEC2にLinuxサーバを立てて設定を入れ込んでいたのですが、作業しているときに手持ち無沙汰になるとついついコンソールに叩いてしまうコマンドあるよなぁということでまとめてみました。
一つの作業が終わって次の作業に移って一息いれるときとや、あー次に何やるんだっけ?って考えてるときとか、叩きがち。傍から見てるとキーボード叩いて画面にレスポンスが返ってくるから、あーあいつなんか仕事してるなって見られる感があります。
これらのコマンドはシステム情報や現在のステータスを確認するコマンドなので、基本的にはファイルを作ったり、プロセスを止めたり、負荷が上がったりなどシステムに影響を与えることは少ない安全なコマンドだと思います。
「有用性」はコマンドとして使えるかどうか、「お手軽度」はコマンドの打ちやすさ、「ボリューム」はコマンドを打った時に戻ってくるレスポンスのボリュームが基準になっています。
それぞれのスコアは、私の独断と偏見になっております。有用性についてはインフラエンジニアとプログラマでも評価は変わってくるのかなと思います。
pwd
有用性:★★★★☆
お手軽度:★★★★☆
ボリューム:★☆☆☆☆
現在のディレクトリを確認するコマンドです。現在のディレクトリを1行で返してくるのでボリュームはありません。
いま自分はどこのディレクトリにいるのかを確認するときに有用です。これから何か作業をするって時に重宝します。
ps ax
有用性:★★★☆☆
お手軽度:★★☆☆☆
ボリューム:★★★★☆
現在稼働中のすべてのプロセスを表示するコマンドです。
メンテナンスしたりするときとかインフラエンジニアはgrepと一緒によく使います。
オプション付けないといけないので、お手軽度は低いです。
SunOSだとps -efでしたっけ?
ll
有用性:★★★☆☆
お手軽度:★★★★★
ボリューム:★★☆☆☆
ディレクトリの内容を表示するコマンドです。最もよく使うじゃないかと思います。
たいていのLinuxではデフォルトで使えますが、これの実態はls -laまたはls -lAのAliasなので、profileやrcに書いてない場合は使えません。
これもgrepなどと一緒に使うのがおすすめです。
uname -a
有用性:★★☆☆☆
お手軽度:★★☆☆☆
ボリューム:★☆☆☆☆
システム情報を表示するコマンドです。カーネルバージョンなどが1行だけ表示される地味なコマンドですが、ソースからコンパイルするときに使うconfigureファイルなどで活躍している重要なコマンドです。
スペルも長いから打ちにくいのでスコアは低いけど、シンプルな戻り値で個人的には好きなコマンドです。
w
有用性:★★★☆☆
お手軽度:★★★★★
ボリューム:★★☆☆☆
ロードアベレージと開いているttyの状態を表示してくれます。
メンテナンスするときとかで、誰かほかにログインしている人がいないかを確認できたりするので便利です。最短コマンドなので、とりあえずwって打っちゃいます。
top
有用性:★★★★☆
お手軽度:★★☆☆☆
ボリューム:★★★★☆
システム負荷の状態をリアルタイムで表示してくれるコマンドです。他のコマンドとはちょっと異色なものになります。
コマンドを抜けるときはQuitのqを押して終了します。
topコマンド中に数字の1を押すと、CPUごとの負荷を表示してくれます。
ログが取れないのが難点なので、ログに残しておきたいときはvmstatなどで代用することが多いかと思います。
dmesg
有用性:★★☆☆☆
お手軽度:★★☆☆☆
ボリューム:★★★★★
カーネルメッセージを表示するコマンドです。
起動プロセスに異常があったり、デバイスの認識がおかしかったりするときの解析で重宝しますが、実際にこれを活用する出番は少ないかと思います。読むのも難しいと思います。
コマンドの返りのボリュームが多いので、仕事してる感は十分得られるかもしれません。
env/set
有用性:★☆☆☆☆
お手軽度:★★★☆☆
ボリューム:★★★☆☆
envもsetどちらも環境変数を取得するコマンドです。二つとも出力が異なるのですが、envの方がよく使うと思います。プログラミングしてるとパスが通ってるかどうか確認したりすることも多いと思うので、そういうときに使えるんじゃないかと思います。
netstat -an / netstat -rn
有用性:★★★★☆
お手軽度:★★☆☆☆
ボリューム:★★★★☆
ネットワークの状態を確認するコマンドです。-anオプションはListenしているポートを確認したり、開いているセッションを書くにしたりできます。-rnオプションはルーティングテーブルが表示されます。nオプションを付けると名前解決しないので、表示が早くなりますし、IPアドレスで見たいときに適しています。コマンドが長いのがちょっと難点です。
df
有用性:★★★★☆
お手軽度:★★★★★
ボリューム:★★☆☆☆
ディスクの使用量を表示するコマンドです。デフォルトはkB表記ですが、MB表記、GB表記などいろいろオプションがあるので詳しくはマニュアルを見てください。
h
有用性:★★☆☆☆
お手軽度:★★★★★
ボリューム:★★★★☆
historyコマンドのAliasです。
ディストリビューションによってはAliasが設定されていない可能性があります。
その他
ディレクトリのファイル数をカウントするduコマンドとかおすすめですが、リカーシブルオプション付けると階層深いといつまでたってもコマンドが終わらないのが難点ですし、そうなるとディスクIOの負荷も上がるので気を付ける必要があります。
他にはifconfig -aもおすすめですが、このコマンドはsbinに配置されているため、rootユーザでないとパスが通っていないので全然お手軽じゃないというデメリットがあります。
rpm -qaとかiptables -Lもよく使いますが、同様にrootユーザでないと使えなかったり、ディストリビューションやバージョン依存なので圏外にしました。