この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
セミナーでよく受ける質問です。
正直に言います。覚えるコマンドの数は関係ない、と私は思っています。
現場で強いLinuxエンジニアが持っているのは、コマンドを「組み合わせる」感覚です。
この記事では、私がSE時代に先輩から「パイプ」の使い方を教わった体験と、20年以上の指導経験から見えてきた「初心者が最初に感動するパイプライン3選」をお伝えします。
この記事のポイント
・パイプ(|)はコマンドの出力を次のコマンドの入力に渡す仕組み
・暗記量より「組み合わせ方」を覚えると現場の作業効率が変わる
・初心者がまず覚えるべきパイプラインは「tail | grep」「ps aux | grep」「ls | wc -l」
・「やりたいことを言葉で分解してからコマンドを組む」習慣が上達を早める
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
「コマンドの暗記量を増やすほど上手くなる」という思い込みの壁
Linux学習を始めた頃、多くの人がまずコマンドリストを作って1つずつ暗記しようとします。ls、cd、cp、mv、rm……確かにこれらは必要です。でも、3,100名以上の受講者を指導してきた経験から言うと、「コマンドを単体で覚える段階」で学習が止まってしまう人が後を絶ちません。
理由は単純です。現場では「1つのコマンドだけで完結する作業」がほとんどないからです。
ログを調べたい、特定のプロセスだけ確認したい、あるディレクトリのファイル数を素早く把握したい。こうした実務の要求に応えるには、複数のコマンドを「パイプ(|)」でつなぐ力が必要になります。
SE時代、先輩が1行のコマンドで私の5分間の手作業を終わらせた話
私がLinuxのパイプを「本当に理解した」のは、2003年頃のことです。お客さんのApacheサーバーでエラーが発生していました。私は何百行もあるエラーログをひたすら目で追っていました。5分経っても、10分経っても、原因になりそうな行が見つかりません。
そこへ先輩がやってきて、一言。
「何やってんの?それ1行で済むよ」
先輩がキーボードを叩いたのは、こんなコマンドでした。
# Apacheのエラーログから末尾100行を取り出し、Permission deniedのエラーだけ絞り込む tail -100 /var/log/httpd/error_log | grep "Permission denied"
あの瞬間の衝撃は、今でも鮮明に覚えています。
パイプ(|)とは何か、体験を通じて理解したこと
パイプ(|)は、あるコマンドの「出力」を次のコマンドの「入力」に渡す仕組みです。先ほどの例で言えば、
・tail -100 /var/log/httpd/error_log:エラーログの末尾100行を取り出す
・grep "Permission denied":その中から「Permission denied」を含む行だけ表示する
この2つをパイプでつなぐことで、「ログの末尾100行の中からPermission deniedのエラーだけ抽出する」という処理が1行で完成します。コマンドを「道具」として個別に使うのではなく、「工程」として連結する発想です。
「組み合わせる」発想が現場の見え方を変えた
この日以来、私のLinuxの使い方が変わりました。「このコマンドは何ができるか」という暗記の視点から、「やりたいことを実現するにはどのコマンドをどんな順番でつなぐか」という設計の視点に切り替わったのです。
20年以上サーバーを運用してきた経験から言うと、現場エンジニアと入門者の差はここにあります。個々のコマンドの知識量ではなく、コマンドを「組み合わせて使う」発想があるかどうか、それだけです。
初心者がまず覚えるべきパイプライン3選
では、具体的にどのパイプラインから始めればいいか。私がセミナーで必ず最初に紹介する3つをお伝えします。1. ログ調査の定番「tail | grep」
最初に覚えてほしいのは、先ほどの例でも登場した「tail | grep」の組み合わせです。・tail -F ファイル名:ファイルの末尾をリアルタイムで監視する
・grep "キーワード":キーワードを含む行だけ表示する
実際の使用例です。
# syslogをリアルタイム監視しながらerrorを含む行だけ表示する [miyazaki@web-svr01 ~]$ tail -F /var/log/messages | grep -i "error" Aug 11 09:23:15 web-svr01 kernel: EXT4-fs error (device sda2): ext4_find_entry:1455 Aug 11 09:31:02 web-svr01 postfix/smtp[8821]: error: connect to 192.168.xxx.xxx[192.168.xxx.xxx]:10024
2. プロセス確認の「ps aux | grep」
次に覚えてほしいのは、特定プロセスを確認するパイプラインです。「ps aux」だけだと全プロセスが大量に表示されますが、grepでプロセス名を絞り込むことで一瞬で確認できます。
# httpdプロセスが正常に起動しているか確認する [miyazaki@web-svr01 ~]$ ps aux | grep httpd | grep -v grep root 1234 0.0 0.1 55936 2840 ? Ss 09:15 0:00 /usr/sbin/httpd -DFOREGROUND apache 1235 0.0 0.1 55936 1980 ? S 09:15 0:00 /usr/sbin/httpd -DFOREGROUND apache 1236 0.0 0.1 55936 1980 ? S 09:15 0:00 /usr/sbin/httpd -DFOREGROUND
なお、psコマンドの各列(USER、PID、%CPU、%MEM等)の読み方については、psコマンドの解説記事で詳しく解説しています。
3. ファイル数のカウント「ls | wc -l」
3つ目は、ディレクトリ内のファイル数を素早く確認するパイプラインです。・ls:ファイルの一覧を表示する
・wc -l:行数をカウントする(lsの出力を1ファイル1行として数える)
# /var/log/httpd/ 配下のファイル数を確認する [miyazaki@web-svr01 ~]$ ls /var/log/httpd/ | wc -l 24 # /home/ 配下のユーザーディレクトリ数を確認する [miyazaki@web-svr01 ~]$ ls /home/ | wc -l 8
パイプを実務で使いこなすための「考え方」
パイプに慣れてきたら、1つのことを意識してください。「やりたいことを先に言葉で分解してから、コマンドを組み立てる」習慣です。
例えば、「Apacheのアクセスログから今日の404エラーの件数を数えたい」と思ったとします。
・今日の日付でログを絞り込む → grep
・404エラーの行だけ取り出す → grep
・件数を数える → wc -l
この流れを言語化できれば、コマンドは自然につながります。
# 今日(2026年8月11日)のアクセスログから404エラーの件数を確認する [miyazaki@web-svr01 ~]$ grep "11/Aug/2026" /var/log/httpd/access_log | grep " 404 " | wc -l 17
私のセミナーでも、パイプの実習を終えた受講生から「これがあればログ調査の半分は終わりますね!」という声をよく聞きます。最初は1段のパイプから始め、慣れてきたら2段、3段と伸ばしていくのがコツです。
パイプが動かない場合によくある原因と対処法
パイプを使い始めた頃に「コマンドを打ったのに何も表示されない」「思った結果が出ない」という場面で詰まることがあります。よくある原因と対処法を紹介します。よくある失敗1:grepのキーワードにスペルミスがある
grepでフィルタリングした結果が0件だった場合、まずキーワードのスペルを確認してください。大文字・小文字の違いも原因になります。
grep -i(大文字小文字を区別しない)を試すのも有効です。よくある失敗2:エラーメッセージがパイプに流れない
コマンドのエラー出力(標準エラー出力)はデフォルトではパイプに流れません。エラーもgrepで絞り込みたい場合は、
コマンド 2>&1 | grep キーワード のように 2>&1 でリダイレクトしてください。注意:本番サーバーで初めて試すパイプラインは、必ずテスト環境か無害なデータで動作確認する習慣をつけましょう。「まず安全な場所で確認する」は、私がセミナーで伝える鉄則の1つです。
まとめ
| やりたいこと | コマンド例 |
|---|---|
| ログから特定エラーをリアルタイム抽出 | tail -F /var/log/messages | grep -i "error" |
| 特定プロセスの稼働を確認する | ps aux | grep httpd | grep -v grep |
| ディレクトリ内のファイル数を数える | ls /var/log/httpd/ | wc -l |
| 今日のログから特定ステータスの件数取得 | grep "日付" /var/log/httpd/access_log | grep " 404 " | wc -l |
Linux学習で挫折しやすいポイントやその乗り越え方については、Linux独学で挫折する人の共通点5つも合わせてご覧ください。
また、パイプを覚えた後にどんな瞬間で「スキルが伸びた」と感じるかについては、Linuxスキルが伸びたと感じる3つの瞬間で紹介しています。ぜひ読んでみてください。
コマンドを組み合わせる力の次は、実務で使えるLinuxサーバー構築の「型」を身につけませんか?
パイプを使いこなすと現場での作業は格段に速くなります。でも、実務のLinux管理者に必要なのは「組み合わせる力」だけではありません。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:Linuxでyum updateを実行した後にApacheが起動しなくなった日の話|SE時代のパッケージ更新の落とし穴と現役講師が伝える本番前の確認作業
- この記事の属するカテゴリ:Linux学習ガイドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます