現場経験で選んだLinux便利コマンド13選|ログ調査・プロセス管理・パスワード生成まで

Linuxを使った開発やサーバー運用の現場では、ちょっとした作業を効率化できるかどうかで生産性に大きな差が出ます。基本的なファイル操作や確認コマンドも大切ですが、実務経験を通して「これは知っておくと格段に便利」というコマンドがいくつもあります。

本記事では、日常的に使うテキスト編集から、ログ調査、プロセス管理、パスワード生成、API確認まで、現場で役立つ便利コマンドを13個に絞って紹介します。どれも単なるリファレンスではなく、実際にどう活用すると効率化できるのか を意識して解説しています。

Linux初心者が次のステップに進むためにも、すでに業務でLinuxを使っている方がさらに作業効率を高めるためにも、きっと役立つ内容になるはずです。

テキスト編集を効率化するコマンド

vim ― 設定次第で最強のテキスト処理ツール

Linuxでテキストファイルを扱うとき、避けて通れないのがエディタです。その中でもvimは、単なるエディタを超えて「効率的な作業環境」を提供してくれる強力なツールです。慣れるまで時間はかかりますが、使いこなせばシェルから離れることなく高度な編集が可能になります。

例えば、矩形選択を使うと縦方向に揃ったデータを一括で修正できます。CSVやログファイルの特定列をまとめて削除したいときに非常に便利です。また、マクロ機能を覚えれば「同じ置換や挿入を何十行にも繰り返す」といった操作を一瞬で実現できます。これにより、時間のかかる単純作業を効率化できるのです。

さらに、正規表現を用いた置換設定を組み合わせることで、ログの不要部分を削除したり、コードのリファクタリングをまとめて行ったりすることも可能です。慣れてくると、:%s/foo/bar/g のような置換操作を自然に使いこなせるようになり、エディタを閉じることなく修正を完了できます。

設定ファイル(.vimrc)を整えることで、自分好みのショートカットやカラースキームを利用できる点も魅力です。サーバー環境でGUIのIDEが使えない場合でも、vimさえあれば十分な作業ができるようになるでしょう。

実務では、設定ファイルの編集やシステムログの整形、一括修正などに頻繁に利用します。vimを「使える」状態にしておくことは、Linux環境での効率的な作業に直結します。

ネットワーク・ドメイン確認で役立つコマンド

dig ― DNSの名前解決を素早く調査

ネットワークトラブルの多くは名前解決に起因します。そんなときに役立つのが dig コマンドです。
例えば、特定のドメインが正しくIPアドレスに変換されているか確認したい場合に利用します。

dig example.com

これにより、AレコードやCNAMEなどの情報が取得できます。新しく設定したDNSが正しく反映されているかを即座に確認でき、運用時のトラブルシュートに欠かせません。また、+short オプションをつければ必要な情報だけを簡潔に表示でき、スクリプト内での利用にも向いています。

whois ― ドメイン登録情報を確認してトラブル切り分け

ドメインの所有者情報や登録日、有効期限を確認したいときは whois が便利です。特にSSL証明書の更新やドメインの有効期限切れが疑われる場合に、whoisで確認するのが実務では定番の流れです。

whois example.com

返ってくる情報には、レジストラ(管理会社)や登録者、更新期限が含まれます。ドメインが無効になっていてサービスが落ちているのか、それともDNS設定の不備なのかを切り分ける材料になるため、サーバー管理やWebサービス運用において非常に重要です。

digとwhoisはセットで覚えておくと、ネットワークやドメイン周りの問題に即対応できるようになります。特に外部サービスと連携しているシステムでは、これらの確認が初動として必須となります。

ログやファイル検索を効率化するコマンド

grep ― エラーログ調査の第一歩

サーバー運用やアプリケーション開発において、ログファイルの調査は避けて通れません。そのとき最も活躍するのが grep です。
例えば、エラーログから「timeout」という文字を含む行だけを抽出したい場合は次のように実行します。

grep "timeout" /var/log/app.log

これにより、数万行に及ぶログから該当箇所だけを瞬時に取り出すことができます。さらに -i オプションを使えば大文字小文字を区別せずに検索でき、-r をつければディレクトリ配下を再帰的に検索できます。

また、パイプと組み合わせることで応用が広がります。たとえば次の例では、特定のエラーメッセージが1日に何回出ているかを集計できます。

grep "timeout" /var/log/app.log | wc -l

エラー調査や障害対応の際、最初に手を伸ばすべき基本ツールです。

find ― サイズや日付での条件検索

サーバー内で「目的のファイルがどこにあるのかわからない」というケースは頻繁に発生します。その際に便利なのが find です。

例えば、特定の拡張子を持つファイルを探すには次のようにします。

find /var/www -name "*.log"

また、更新日時で検索することも可能です。直近1日以内に変更されたファイルを探す例は以下の通りです。

find /var/www -mtime -1

さらに、ファイルサイズで検索することもでき、異常に大きなログファイルやキャッシュファイルを探すときに重宝します。

find /var/log -size +100M

grepとfindの組み合わせ

実務では、find で対象ファイルを絞り込み、grep で中身を検索する組み合わせが非常に強力です。例えば「過去7日以内に更新されたログの中からtimeoutを含む行を探す」といった処理を1行で実行できます。

find /var/log -mtime -7 -type f -exec grep "timeout" {} \;

このようにgrepとfindを自在に組み合わせられるようになると、問題の切り分けや調査スピードが格段に上がります。

過去の操作を再利用するコマンド

history ― 他作業者の履歴から学ぶ

Linuxでの作業効率を高める上で意外と見落とされがちなのが history コマンドです。これはシェルで実行したコマンドの履歴を一覧表示するもので、単に自分の過去の操作を振り返るだけでなく、チーム運用においても役立ちます。

例えば、次のように入力するだけで直近のコマンドが番号付きで表示されます。

history

特定のキーワードを含む履歴を探したいときは、grep と組み合わせるのが定番です。

history | grep ssh

これで「過去にどうやってリモートサーバーへ接続したか」をすぐに確認できます。また、!番号 を使うと、その履歴番号のコマンドを再実行できます。

!125

このようにして、長いコマンドや複雑なオプションを再入力する手間を省けるのです。

さらに、チームで共有しているサーバーの場合、他の作業者がどんなコマンドを実行していたのかを参考にできるケースがあります。これにより、自分が知らなかった便利なオプションやコマンドの使い方を学べる機会が生まれます。もちろん、セキュリティ上の観点から履歴管理には注意が必要ですが、実務でのナレッジ共有の一端を担えるのも大きな魅力です。

日々の運用では「一度しか使わない」と思っていたコマンドが繰り返し必要になることが多々あります。historyを活用することで、記憶に頼らず効率的に作業を進められるようになるでしょう。

セキュリティを支えるコマンド

pwgen ― 強力なパスワード生成

セキュリティを確保するためには、十分に複雑で推測されにくいパスワードを使うことが欠かせません。そんなときに役立つのが pwgen コマンドです。ワンライナーで安全なランダム文字列を生成できるため、サーバー初期設定や一時的なアカウント発行時に重宝します。

例えば、16文字のパスワードを1つ生成する場合は以下のように実行します。

pwgen 16 1

結果としてランダムな英数字と記号が混じった強力なパスワードが出力されます。大量のパスワードが必要な場合は、生成数を増やすことも可能です。

pwgen 12 5

この場合、12文字のパスワードが5つ生成されます。

また、オプションを付けることでアルファベットのみや記号を含めるなど、要件に応じた柔軟な生成ができます。これにより、サービスごとに異なるパスワードを素早く準備でき、セキュリティリスクを下げられます。

実務でよくあるのは「仮アカウントを作って利用者に一時的に渡す」といったケースです。手動で考えると単純で弱いパスワードになりがちですが、pwgenを使えば安定して強固な文字列を用意できます。特に複数の環境を管理している場合、パスワードポリシーを守りつつ即座に対応できるのは大きなメリットです。

覚えておくと地味に助かるコマンドであり、セキュリティ運用を意識する上で必携と言えるでしょう。

プロセス監視・管理のためのコマンド

top ― リアルタイム監視で異常を把握

サーバーの状態を把握するための定番が top です。実行するとCPUやメモリの使用率、プロセスごとのリソース消費状況をリアルタイムで確認できます。

例えば、負荷が急に高くなった際に top を開くと、どのプロセスがCPUを専有しているのか、メモリを食いつぶしているのかが一目でわかります。Shift + P でCPU使用率順、Shift + M でメモリ使用量順に並べ替えられるため、問題の特定が素早く行えます。

kill / pkill ― ゾンビ化プロセスの強制終了

異常なプロセスが見つかったら、次はそれを終了させる必要があります。kill は特定のPIDを指定して終了させるコマンドです。

kill -9 12345

この例では、プロセスIDが12345のプロセスを強制終了します。一方で pkill はプロセス名を指定して終了できるため、より直感的に使える場合があります。

pkill -f python

これにより、実行中のPythonスクリプトをまとめて終了させることができます。ゾンビ化したプロセスや暴走したタスクを素早く止める手段として不可欠です。

ps auxf / pstree ― プロセスの親子関係を可視化

単にプロセスを止めるだけでなく、どのプロセスが親でどの子を生んでいるのかを確認するのも重要です。ps auxf はプロセスをツリー形式で表示でき、pstree も同様に親子関係を可視化します。

ps auxf
pstree -p

これにより、特定のサービスが複数のワーカープロセスを生成している場合や、デーモンがどの子プロセスを持っているのかを把握できます。誤って親プロセスを終了させてサービス全体が落ちてしまうといったリスクを避けるためにも、親子関係の理解は欠かせません。

実務においては、障害対応や負荷調査の初動としてこれらのコマンドを組み合わせるのが一般的です。プロセス管理を素早く行えるかどうかは、サービスの安定稼働に直結します。

APIやデータ確認で便利なコマンド

curl ― APIレスポンスの動作確認

Web開発やサーバー運用では、ブラウザに頼らずにAPIやWebサイトの挙動を確認したい場面が多くあります。そんなときに役立つのが curl です。

例えば、APIのエンドポイントにGETリクエストを送る場合は次のようにします。

curl https://api.example.com/status

これだけでレスポンスを取得でき、ブラウザやアプリケーションを介さずに直接挙動を確認できます。また、POSTリクエストを送る場合や、ヘッダを指定する場合にも柔軟に対応できます。

curl -X POST -H "Content-Type: application/json" \
-d '{"id":1,"status":"active"}' \
https://api.example.com/update

このように、curlを使えばサーバーの動作確認やAPIの疎通テストを即座に実行できます。

jq ― JSONレスポンスを読みやすく整形

APIのレスポンスは多くの場合JSON形式ですが、そのままでは改行もなく読みづらいことがよくあります。そこで便利なのが jq です。JSONを見やすく整形したり、特定の値だけを抽出したりすることができます。

例えば、次のようにパイプでつなげると整形表示されます。

curl https://api.example.com/status | jq

さらに、特定のキーだけを抽出することも可能です。

curl https://api.example.com/status | jq '.data.user.name'

このように必要な情報だけを取り出せるので、複雑なJSONでもすぐに欲しい部分を確認できます。

curlとjqの組み合わせによる実務活用

実務では、APIの応答を確認しつつ、レスポンスの一部をログに残したり、シェルスクリプトの中で処理したりすることがよくあります。curlとjqを組み合わせることで、GUIツールを開くまでもなく効率的にデバッグ・検証作業ができるようになります。

この2つはセットで覚えておくと、API開発や外部サービスとの連携テストにおいて大きな武器となります。

開発効率を高める小技コマンド

pbcopy ― ターミナル結果を即クリップボードへ

日々の開発や運用の中では「ターミナルで出力した結果をそのままSlackやメールに貼り付けたい」という場面が頻繁にあります。そのときに便利なのが macOS 系で使える pbcopy コマンドです。

使い方は非常にシンプルで、任意のコマンドの出力をパイプで pbcopy に渡すだけです。

cat error.log | pbcopy

これで error.log の内容がクリップボードにコピーされ、すぐに他のアプリケーションへ貼り付けられます。ログの一部をそのまま共有したいときや、コマンドの実行結果をレポートにまとめたいときにとても重宝します。

さらに、検索結果やAPIレスポンスなども同じ要領でコピーできます。

curl -s https://api.example.com/status | jq . | pbcopy

このようにすれば、整形されたJSONレスポンスを直接クリップボードに入れることができ、わざわざテキストエディタを開いて保存する手間が省けます。

Linux環境では xclipxsel が同等の役割を果たすため、環境に応じて使い分けると良いでしょう。

小さな工夫に見えますが、日々の作業で「コピー&ペーストにかかる数秒」を積み重ねると、年間では大きな効率化につながります。開発現場でのちょっとした快適さを実現するコマンドとして覚えておくと便利です。

まとめ

ここまで紹介してきた13個のコマンドは、Linuxを使った開発や運用の現場で実際に役立つものばかりです。単純なファイル操作やシステム確認だけでなく、ログ調査、ネットワークトラブルシュート、プロセス管理、API確認、セキュリティ対策といった多様な場面で効率を高めてくれます。

特にポイントとなるのは、単独で使うだけでなく組み合わせて活用すること です。

  • findgrep を組み合わせて、必要な情報を瞬時に抽出する
  • curljq を連携させて、APIレスポンスをすぐに整形・確認する
  • history から学びつつ、効率化のコツをチームで共有する

こうした実務的な工夫が、単なるコマンドの習得から「現場で使いこなす」レベルへと引き上げてくれます。

また、今回のリストに含まれるコマンドは、初心者が次のステップに進む足がかりにもなります。基本的なファイル操作に慣れたら、ログ検索やプロセス管理、さらにはAPIテストまで手を広げると、Linux環境での作業が一気に快適になるでしょう。

日常的に繰り返し使いながら体に馴染ませていくことで、障害対応や調査のスピードが格段に向上します。便利コマンドを「知っている」だけで終わらせず、「使いこなす」習慣を身につけていきましょう。

参考・参照リンク

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント