
Linuxコマンドリファレンス
システム管理とその他
日々の運用でまず身につけたいのが、システムの状態把握(ログ・負荷・ログイン状況・サービス)と、安全な終了・再起動、そしてコマンドの自己学習手段(man/whatis など)です。ここでは「今なにが起きているか」をすばやく確認し、トラブル調査や定常点検に直結する代表的コマンドをまとめます。
システム管理(状態確認・ログ・サービス)
| コマンド | 説明 |
|---|---|
| dmesg | カーネルリングバッファを表示。起動直後やドライバ関連の診断に有効(例: dmesg -T で時刻付与) |
| journalctl | systemd ジャーナルを参照(例: journalctl -b, -f, -u ユニット名, --since "1 hour ago") |
| w | ログイン中ユーザーと負荷・実行中コマンドを一覧表示 |
| who | ログイン中ユーザーを簡潔に表示 |
| last | 最近のログイン履歴(/var/log/wtmp)を表示 |
| lastlog | 各ユーザーの直近ログイン概要を表示 |
| uptime | 稼働時間とロードアベレージを表示 |
| free -h | メモリとスワップの使用量を表示 |
| vmstat 1 5 | CPU/メモリ/IO のサマリを定期採取 |
| iostat -xz 1 3 | デバイス別 IO 負荷(sysstat パッケージ) |
| top | プロセスの CPU/メモリ使用を対話的に監視 |
| uname -a | カーネルやアーキテクチャ情報を表示 |
| hostnamectl | ホスト名・OS・カーネル情報をまとめて表示 |
| timedatectl | 日時・タイムゾーン・NTP の状態を表示/設定 |
| systemctl status ユニット名 | サービスの状態と直近ログを表示 |
| systemctl start/stop/restart ユニット名 | サービスの起動/停止/再起動 |
| systemctl enable/disable ユニット名 | 自動起動の有効化/無効化 |
その他(ヘルプ・終了/再起動・ユーティリティ)
| コマンド | 説明 |
|---|---|
| man コマンド | オンラインマニュアルを表示(節指定例: man 5 fstab) |
| whatis コマンド名 | コマンドの一行要約を表示 |
| apropos キーワード | キーワードに関連する man 項目を検索 |
| コマンド --help | 多くのコマンドで簡易ヘルプを表示 |
| type コマンド | 内部コマンド/外部コマンド/エイリアスの別を確認 |
| which コマンド | 実行されるバイナリのパスを表示 |
| shutdown -h now | ただちに停止(電源断) |
| shutdown -r now | ただちに再起動 |
| reboot / poweroff / halt | 再起動/電源断/停止のショートカット |
vi エディタ(コマンドモード:移動・保存)
| 入力 | 説明 |
|---|---|
| gg | ファイル先頭へ移動 |
| G | ファイル末尾へ移動 |
| 0 | 行頭へ移動 |
| $ | 行末へ移動 |
| h / j / k / l(←/↓/↑/→) | 左/下/上/右へ 1 文字移動 |
| :w | 保存 |
| :q | 終了 |
| :wq または ZZ | 保存して終了 |
| :q! | 変更を保存せずに終了 |
vi エディタ(編集・検索の定番)
| 入力 | 説明 |
|---|---|
| i / a / o / O | 挿入(行内/末尾/下行に新規行/上行に新規行) |
| dd | 現在行を削除(カット) |
| yy | 現在行をコピー |
| p | 貼り付け |
| x | カーソル位置の 1 文字削除 |
| u / Ctrl-r | 元に戻す/やり直す |
| /文字列 / ?文字列 | 前方検索/後方検索 |
| n / N | 次/前のヒットへ移動 |
| :%s/旧/新/g | ファイル全体で置換 |
| :set number | 行番号表示(:set nonumber で解除) |
すぐ使える運用レシピ(コピペでOK)
現在ブートのエラーのみ追跡表示
journalctl -b -p err -f直近 1 時間の httpd のログと状態を確認
systemctl status httpd
journalctl -u httpd --since "1 hour ago"ログイン状況のサマリ(誰が、いつ、どこから)
w
last -a | head再起動を 10 分後に予約し、全ユーザーに通知
shutdown -r +10 "System will reboot in 10 minutes"負荷上昇時の軽量ウォッチ
uptime
vmstat 1 5
iostat -xz 1 3vi で行番号を出して全置換 → 保存終了
:set number
:%s/error/notice/g
:wq運用メモ
- ログの主力は journalctl。dmesg は主に起動直後やカーネル/デバイス確認に。
- w は「誰が何をしているか」、who は「誰がログイン中か」、last/lastlog は「いつログインしたか」。用途で使い分ける。
- 停止/再起動はメンテナンス告知を徹底(shutdown の時間指定とメッセージを活用)。
- 不具合時は「状態 systemctl status → 関連ログ journalctl -u」で原因に素早く到達。
