Linuxを学び始めた頃のメモを読み返すと、cd、ls、chmod、psといったコマンドが一つずつ並んでいます。当時は、それぞれを実行して期待した結果が返れば、ひとまず理解できたことにしていました。
これは間違いではありません。最初から権限設計や障害対応まで理解しようとすると、たぶんターミナルを開く前に疲れます。まず触って、壊してよい環境で結果を見る。基礎学習としては正しい順番でした。
ただし、運用する側になるとコマンドだけでは足りません。現在の視点で重要だと思うのは、実行前の確認、実行後の検証、失敗したときの戻し方です。
覚えたコマンドは、調査の部品だった
たとえばpsはプロセスを一覧表示するコマンドです。しかし、一覧を表示すること自体が目的になる場面はありません。
- 対象のプロセスは起動しているか
- どのユーザーで動いているか
- 親プロセスは何か
- CPUやメモリを不自然に消費していないか
- 再起動した場合、関連するサービスへ影響しないか
こうした問いに答えるためにpsを使います。コマンドは答えではなく、状況を確認するための部品です。
chmodも同じです。Permission deniedが出たから777にする、という解決は一応動くかもしれません。しかし、それは鍵が合わないので玄関を取り外すようなものです。直ったように見えて、別の問題を増やしています。
現在なら「変更の前後」を残す
設定や権限を変更するときは、最低限次の順序で考えます。
- 現在の状態を確認する
- 期待する状態を言葉にする
- 変更対象と影響範囲を絞る
- 変更前の値を記録する
- 一度に一つ変更する
- 期待した結果と副作用を確認する
- 問題があれば元へ戻す
重要なのは、難しいコマンドを知っていることよりも、何を変えたか追跡できることです。深夜の障害対応で記憶力を当てにする設計は、だいたい深夜の自分に裏切られます。
「動いた」から「説明できる」へ
学習初期は、コマンドを実行して動けばうれしいものです。次の段階では、なぜ動いたかを説明できることが目標になります。
さらに運用では、次の問いが加わります。
- 同じ操作を別の人が再現できるか
- 本番環境で実行してよいか
- 自動化するなら、どこに確認処理を入れるか
- 失敗をどのログや監視で検知するか
- 半年後の自分が読んでも判断できるか
Linuxの学習がクラウドや自動化につながるのは、この部分です。AWSでもコンテナでも、最終的にはプロセス、ファイル、権限、ネットワーク、ログを確認します。サービス名が変わっても、足元にある考え方はそれほど変わりません。
古いメモは消さずに残す
以前の記事には、現在なら違う表現を選ぶ箇所や、説明を足したい箇所があります。それでも、古いメモを現在の文章へ全面的に書き換えると、どこで理解が深まったのか分からなくなります。
そこで、このシリーズでは古い記事を当時の記録として残し、その上に現在の理解を追加します。対応は次のとおりです。
| 当時のメモ(2022年) | この振り返りで足したもの |
|---|---|
| Linux基礎 実行ファイルとファイル権限について Linuxにおける権限管理chmodとchownについて | chmodの数字を覚えた後に考えたい、Linux権限の実務メモ — 755の読み方の次に来る「誰が・どの処理で使うか」 |
| 標準入力・標準出力・標準エラー出力ってなんぞ? Linuxのリダイレクト・echo・パイプ | Linuxのログはどこから見るか — 出力先が複数あるとき、どれから開くか |
| psコマンドの見方まとめ プロセスをkillしたりジョブをbg/fgする | サービスが動かないとき、再起動の前に確認する順番 — 一覧を出したあと何を判断するか |
まだ振り返っていないメモも残っています(PATHを通す / 環境変数 / ユーザーの追加・削除 / Vimの基礎 など)。順に足していきます。
コマンドを覚えていた時期があり、次に仕組みを理解し、いまは変更の影響や運用まで考える。その順序が見えるほうが、きれいに整えた経歴よりも学習記録として役立ちます。
今回の要点
- コマンドは目的ではなく、状況を確認・変更するための部品
- 操作方法だけでなく、変更前後と切り戻しを記録する
- 「動いた」の次は「なぜ動いたか」「安全に再現できるか」を考える
- Linuxの基礎は、クラウドや自動化でも共通する土台になる
- 古いメモは消さず、現在の理解を別の記事として積み重ねる
昔の記事を読み返すと少し恥ずかしいのですが、最初から全部分かっていたことにするよりは健全です。少なくとも、現在の自分が過去の自分へレビューコメントを書ける程度には前へ進みました。