【Linux講座】インフラエンジニアが実務で使うべき厳選コマンド15個!基礎編(第1回)

もっち

大手SIerに18年勤務。オンプレ・クラウド計200台規模の大規模インフラ(10システム)を統括する現役のサービスマネージャーです。

システム運用・インフラ技術、マインドセット、キャリア戦略など、現場で役立つ情報を若手エンジニアへ向けて発信中。

保有資格

ITサービスマネージャー、
ネットワークスペシャリスト
情報処理安全確保支援士
AWS SAP、ITIL Foundation

スキル別記事一覧

このブログでは、読者の立場により記事を4つのスキルフェーズに分けています。それぞれの自分に合ったフェーズの記事を確認してみてください。

まずはここからチェック!


「インフラエンジニアになりたいけれど、あの黒い画面を見るだけで頭が痛くなる…」 「コマンドが多すぎて、何から覚えればいいのか絶望している…」

そんな悩みを抱えていませんか?特に文系や未経験からこの世界に飛び込んだ方にとって、Linuxは最初の大きな壁に見えるかもしれません。

でも、安心してください。18年間この業界でインフラエンジニアとして、またサービスマネージャーとして多くの修羅場をくぐってきた私から言わせれば、「実務で使うコマンドなんて、せいぜい20個」です。100個も暗記する必要は一切ありません。

大切なのはコマンドの暗記ではなく、「Linuxというシステムがどういう仕組みで動いているか」という感覚を掴むこと

今回は、教科書的な退屈な説明は抜きにして、現場で生き残るための「本当に使えるLinuxの基礎」を、実務ベースの実行サンプル付きでどこよりも分かりやすくお届けします!

目次

なぜインフラエンジニアの仕事は「Linuxに始まりLinuxに終わる」のか?

技術の流行り廃りは激しいです。新しいクラウドサービスや、便利な自動化ツールが毎年次々と生まれています。しかし、それらの華やかな技術の「裏側」をめくってみると、そこには30年以上前から基本が変わっていないLinuxが、今でもどっしりと空間に鎮座しています。

クラウドやコンテナの裏側で動くLinuxの重要性

いま大流行しているAWSなどのクラウドも、コンテナ技術も、仮想化サーバーも、その中身の9割以上はLinuxで動いています。つまり、Linuxをマスターするということは、「今後10年、20年と技術のトレンドが変わっても、ずっと食いっぱぐれない最強の土台を手に入れる」ということ。これほどコスパの良い投資はありません。

初心者はまず「壊してもいい検証環境」を作ろう

Linuxを上達させる唯一のコツは、「実際に手を動かして、たくさん失敗すること」です。本番環境で間違ったコマンドを叩くと大障害になりますが、自分のパソコンの中に作った検証環境なら、どれだけ壊してもクリック一つで元通り。 VirtualBoxやVagrantを使ったり、AWSの無料枠でLinux(お勧めは現場でよく使うRed Hat系のOS)を1台立ち上げて、あなただけの「絶対に怒られない実験室」をまず用意しましょう。

VirttualBoxを利用してLinuxの検証環境を構築する解説記事は以下です。まだ対応していない方は、以下の記事を先に確認してみてください。

迷子にならないための「Linuxフォルダ構成」の歩き方とパスの基本

Windowsなら「Cドライブの中にProgram Filesがあって、デスクトップがあって…」となんとなく分かりますよね。Linuxも実は全く同じで、綺麗に整理整頓されたクローゼットのような構造をしています。

Linuxでは、すべてのフォルダの頂点に / という根っこがあります。

そして、Linuxの世界で目的の場所がどこにあるかを示す住所のことを「パス」と呼びます。例えば、これから紹介する重要なフォルダの場所も、すべてパスで表現されます。

  • /etc : 「取扱説明書・設定ファイル」の棚 Webサーバーの設定やネットワークの設定など、サーバーの挙動を決めるファイルはすべてここに集まります。インフラエンジニアが一番お世話になる場所です。
  • /var/log : サーバーの「日記・カルテ」 サーバーに起きた出来事や、エラーの記録がリアルタイムに書き込まれます。障害が起きたら、まずこのパスへ走ります。
  • /bin / /sbin : 「道具箱」 これから紹介する lscd といった便利な道具が詰まっている場所です。
  • /tmp : 「とりあえず置き場」 一時的なファイルを置く場所で、OSを再起動すると中身が消えることが多い、自由に使っていいスペースです。

「設定は /etc、ログは /var/log」。このパスの基本を頭に入れておくだけで、黒い画面のなかで迷子になる確率はグッと減ります。

普段の操作で使う基本コマンドと「絶対パス・相対パス」の違い

さあ、いよいよ道具を使ってみましょう。行頭の $ は「ここからコマンドを入力してね」という合図です。

現在地確認と移動の基本(pwd / cd / mkdir / cp / mv / ls)

まずは自分の現在地を知り、移動するための基本技です。ここで「パスの指定方法」が超重要になってきます。

  • pwd 「いま私、どこのパスにいるの?」を確認します。本番環境で作業するときは、必ずこれを叩いて現在地を確認するのがプロの鉄則。
$ pwd
/var/log
  • cd フォルダを移動します。この cd を使うとき、目的地のパスの指定方法には「絶対パス」「相対パス」の2種類があります。ここが初心者の最初のつまずきポイントです。

💡初心者必見!絶対パスと相対パスの具体的な違いと使い分け

絶対パス: 誰が見ても変わらない「完全な住所」。必ず最初の / からきっちり書き始めます。自分が今どこにいても、確実にその場所に移動できます。

# 今どこにいても、一発で /etc に移動する(絶対パス)
$ cd /etc
$ pwd
/etc

相対パス: 「いまココ」を基準にした「道案内」。Linuxでは、今いる場所を .、1つ上の階層を .. で表します。近くのフォルダにサクッと移動したいときに便利です。

# 今 /etc にいるとして、その中にある nginx フォルダに移動する(相対パス)
$ cd nginx

# もしくは、今いる場所を指定してこう書くこともできます
$ cd ./nginx

# 1つ上のフォルダに戻る(相対パス)
$ cd ..
  • mkdir 新しくフォルダを作成します。
$ mkdir workdir
  • ls 今いる場所にあるファイルの一覧を表示します。実務では、ファイルの更新日時や権限が詳しく見える ls -la オプションを、息を吸うように叩くことになります。
$ ls -la
total 4
drwxr-xr-x. 2 root root   25 Jun  9 20:00 .
drwxr-xr-x. 3 root root 4096 Jun  9 19:30 ..
-rw-r--r--. 1 root root   25 Jun  9 20:00 environment

⚠️ 【要注意】新人がやりがちな恐怖のコマンド「rm -rf」:rm -rf ファイルやフォルダを削除する rm コマンド。フォルダごと強制削除する -rf オプションを組み合わせると、何でも一瞬で消し去ります。

Bash

# 手元のテスト用フォルダを消すつもりが…
$ rm -rf / 

もし絶対パスと相対パスを勘違いして、上記のように本番環境のルートディレクトリを指定して消そうものなら、システム全体が全消去され即座に崩壊します。コマンドを叩く前の「指差し確認」を、今から癖づけてくださいね。

ファイルの中身を確認するコマンド(cat / less)

  • cat ファイルの中身を画面に全表示します。短い設定ファイルを見るのに最適です。
$ cat /etc/hostname
web-server-01
  • less 数万行あるような巨大なログファイルを cat で開くと、画面が文字で埋め尽くされてフリーズ原因になります。そんな時は less。画面に収まる分だけを少しずつ、スクロールしながら安全に読める、インフラエンジニアの必須コマンドです(終了するときは q キーを押します)。
$ less /var/log/messages
(画面が切り替わり、矢印キーで上下にスクロールできるようになります。終了は q)

現場の黄金ルーティン!設定変更・バックアップ・復元の全手順

インフラエンジニアの仕事の基本は「設定変更」です。その時に、絶対に欠かせない手順があります。先輩から「作業前に必ずバックアップを取れ」と耳にタコができるほど言われる理由を、一連の流れでシミュレーションしてみましょう。

今回は、サーバーの文字コードなどが書かれた environment という設定ファイルを書き換える想定です。

ステップ1:実務の基本!cpコマンドで設定ファイルをバックアップする

まずは、万が一の時にいつでも元に戻せるよう、設定ファイルをコピーしてバックアップを作ります。元ファイル名の後ろに .bak を付けるのが現場の慣習です。

# 作業前にバックアップを作成
$ cp environment environment.bak

# 正しくコピーできたか ls で確認
$ ls -l environment*
-rw-r--r--. 1 root root 25 Jun  9 20:00 environment
-rw-r--r--. 1 root root 25 Jun  9 20:01 environment.bak

これで、何かあっても数秒で元の状態に戻せる「安全網」が張れました。

ステップ2:vi で設定ファイルを編集する

次に、本尊である environment ファイルを vi で開き、設定を書き換えます。

# 設定ファイルを編集
$ vi environment

今回は、ファイルの中に新しい設定を書き込んで保存したとします。

ステップ3:万が一のためのバックアップ(tar)と解凍(unzip)

もし、ファイルを書き換えた後に「変なところを消しちゃった!」「元の設定が分からなくなってシステムがエラーを吐いた!」とパニックになったらどうするか。

焦る必要は一切ありません。ステップ1で作った .bak ファイルを、元のファイル名に上書きコピーするだけで、一瞬で何事もなかったかのように元通りになります。

# 失敗したファイルを、バックアップファイルで上書き
$ cp environment.bak environment

# cat で中身を確認して、元に戻っているかチェック
$ cat environment
LANG=C
(無事に作業前の綺麗な状態に戻ります)

本番環境で作業する恐怖を打ち消す唯一の方法は、自分の腕を信じることではなく、この「いつでも1秒で元に戻せる準備をしておくこと」。これこそが、プロのインフラエンジニアの引き際とお作法です。

💡 さらに大きな作業では:tardiff の出番

上記の cp はファイル1枚をサクッと変える時の技ですが、作業の規模が大きくなると、他の道具も組み合わせて使います。

  • フォルダごと丸ごとバックアップしたい時 = tar 1枚ずつ cp するのが面倒なほど大量のファイルがある時は、フォルダごと塊に圧縮します。
# nginx フォルダを丸ごと固めてバックアップ
$ tar -czf nginx_backup.tar.gz /etc/nginx
  • Windowsから送られてきたZipファイルを解凍したい時 = unzip
$ unzip sourcecode.zip
Archive:  sourcecode.zip
  inflating: index.html
  • 本当に想定通りの変更ができたか確認したい時 = diff 「バックアップ」と「書き換え後のファイル」を比較して、自分が意図した1行だけが正しく変わっているかを、作業の最後に必ずチェックします。
# 新旧のファイルを比較して差分を確認
$ diff environment.bak environment
1c1
< LANG=C
---
> LANG=ja_JP.UTF-8

(「LANG=C」だった場所が、狙い通り「LANG=ja_JP.UTF-8」に変わったことが目視で証明できます。これが手順書のエビデンスになります)

どの現場でも必ず入っているエディタ「vi」生存戦略と3つのモード

Linuxでファイルの中身を編集するとき、マウスは使えません。そこで登場するのがテキストエディタですが、本講座ではあえて、一番硬派で古くからある vi をお教えします。

なぜなら、モダンで便利なエディタは入っていないサーバーがあっても、vi だけは地球上のすべてのLinuxサーバーに必ず入っているからです。

viエディタで混乱しないための「3つのモード」の仕組み

vi を開いた直後に文字を入力しようとしても、意図しない動きをしてパニックになります。それは、vi が以下の3つのモードを切り替えながら操作する仕組みだからです。

何か操作がおかしくなったときは、Esc キーを連打すればいつでも最初の「コマンドモード」に戻ることができます。これを合言葉に、各モードの使い方を見ていきましょう。

まずは「memo.txt」という名前でファイルを開くところからスタートです。

$ vi memo.txt

モード1:コマンドモード(すべての起点・移動と削除)

ファイルを開いた直後の初期状態です。このモードは文字を入力するのではなく、「カーソルを移動する」「文字や行を削除する」「別のモードへ切り替える」ための命令を下すステージです。

  • できること: カーソルの移動、文字や行の削除、コピー&ペースト
  • よく使う操作:
    • x : カーソルがある位置の文字を1文字消す
    • dd : カーソルがある行を1行丸ごと削除する
    • yy : カーソルがある行を1行丸ごとコピーする
    • p : コピーした行をカーソルの下の行に貼り付ける

【コマンドモードでの実行例】 3行目の文章を丸ごと消したいときは、3行目にカーソルを合わせて dd と叩します。

(実行前)
1: Linuxの勉強をはじめます。
2: まずは基本コマンドから覚える。
3: 明日は絶対に遅刻しない。  <- ここにカーソルを合わせて「dd」と入力
4: 慣れたら実務で使ってみる。

(実行後:3行目が消え、下の行が詰まる)
1: Linuxの勉強をはじめます。
2: まずは基本コマンドから覚える。
3: 慣れたら実務で使ってみる。

モード2:挿入モード(文字の入力)

文字を自由に入力・編集する、いわゆる普通のメモ帳状態のステージです。

  • 切り替え方: コマンドモードの状態で i を押す
  • 画面の変化: 画面の左下に -- INSERT -- と表示され、文字が打てるようになります。
  • 終了の仕方: 入力が終わったら Esc キーを押すと、コマンドモードに戻れます。

【挿入モードでの実行例】

(「i」を押すと、画面左下が切り替わります)
Linuxの勉強をはじめます。
まずは基本コマンドから覚える。
~
~
-- INSERT --  <- この表示が出ている間は、自由に文字を入力したり消したりできます

モード3:コマンドラインモード(保存・終了・検索)

ファイルの保存や終了、ファイル内の文字検索など、エディタ全体に対する高度な命令を出すステージです。

  • 切り替え方: コマンドモードの状態で : または / を押す
  • 画面の変化: 画面の最下行に :/ が表示され、入力待ちになります。
  • よく使う操作:
    • :w : ファイルを上書き保存する
    • :wq : ファイルを上書き保存して vi を終了する(実務の基本)
    • :q! : 変更を保存せずに、強制終了する(操作を間違えて焦ったときはこれ!)
    • /文字列 : ファイル内を上から下に向かってキーワード検索する

【コマンドラインモードでの保存・終了の実行例】

Linuxの勉強をはじめます。
まずは基本コマンドから覚える。
~
~
:wq  <- コマンドモードで「:」を押すとここにカーソルが来ます。「wq」と打ってEnterで保存終了

【コマンドラインモードでの文字列検索の実行例】 文章の中から「コマンド」という文字を探したいときは、コマンドモードで /コマンド と入力して Enter を押します。

Linuxの勉強をはじめます。
まずは基本コマンドから覚える。
~
~
/コマンド  <- 「/」に続けて検索したい文字を入力してEnterを押すと、該当箇所にカーソルが飛びます

効率を爆上げするファイル検索とテキスト処理

最後に、何万行もあるログから、障害の原因を一瞬で見つけ出すプロの検索技をお伝えします。

ファイル名で一発捜索するfindコマンド

  • find 「あの設定ファイル、どこに置いたっけ?」という時に、システム全体からファイル名で捜索します。
$ find /etc -name "environment"
/etc/environment

ログ調査の相棒!特定の文字列を検索するgrepコマンド

  • grep ファイルの中から、特定の文字が含まれる行だけを抜き出します。例えば、ログからエラーだけを見つけたい時はこうです。
$ grep "ERROR" /var/log/messages
Jun  9 20:15:22 web-server-01 systemd: 404 ERROR: Connection failed.

複数のコマンドを組み合わせる「パイプ」と「リダイレクト」

Linuxの本当の面白さは、コマンド同士を組み合わせた時に発揮されます。

  • パイプ | : 前のコマンドの結果を、次のコマンドに引き渡すcat でログを開きつつ、grep で特定の文字だけを絞り込んで画面に表示する」といった、流れるような操作が可能になります。
  • リダイレクト > : コマンドの結果を、ファイルに書き出す 画面に表示された調査結果を、そのままテキストファイルとして保存したい時に使います。
$ grep "ERROR" /var/log/messages > /tmp/error_list.txt
(画面には何も出ず、/tmp/error_list.txt というファイルに結果が保存される)

まとめ&次回予告

お疲れ様でした!これでLinuxの「基礎編」は完了です。

黒い画面の正体は、綺麗に整理されたクローゼットであり、私たちは使い慣れたいくつかの道具を使って、ファイルを覗いたり、書き換えたりしているだけ、ということがなんとなく見えてきたでしょうか?

基本をマスターしたあなた。次なるステップは、いよいよ「本番環境でシステムを安全に管理する」フェーズです。

次回の【管理編】では、
「何でもできてしまう神の権限・Rootユーザーとの付き合い方」
「運用保守のド定番!パスワードを間違えてロックされたアカウントの解除方法」
「Webサイトが表示されなくなる原因ナンバーワンのパーミッションの謎」
そして、実務で最も緊張する「サーバーの正しいシャットダウンと安全な再起動コマンド」や、パッケージ管理ツール yum の使い方について、また泥臭い現場の話を交えながらじっくり解説します。

インフラエンジニアを目指す方のロードマップを紹介した記事があります。この機会にインフラエンジニアを目指してみたい方は以下を確認してみてください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

スキル別記事一覧

このブログでは、読者の立場により記事を4つのスキルフェーズに分けています。それぞれの自分に合ったフェーズの記事を確認してみてください。

まずはここからチェック!

目次