Linuxコマンドのオプション、毎回ググっていませんか。tar の -xzvf を見るたびに「これ何の略だっけ」となり、半年経っても定着しない。私もエンジニアになった当初は同じ状態で、ノートに書いては忘れ、書いては忘れの無限ループでした。
結論から言うと、Linuxコマンドのオプションは丸暗記してはいけません。英単語の略として推測するクセと、現場でよく使う10コマンドに絞った反復練習に切り替えた瞬間、私は man を引く回数が一気に減りました。10年エンジニアをやっている今でも全オプションは覚えていませんが、必要な場面で迷わず手が動きます。
この記事では、私自身が遠回りして見つけた覚え方のコツを5つにまとめました。Linuxコマンドのオプションがいつまで経っても頭に入らない人、資格勉強で詰まっている人、毎回 --help を叩いて時間を溶かしている人に向けた内容です。
Linuxコマンドのオプションが覚えられない原因
覚えられない原因は能力ではなく、アプローチが間違っているからです。Linuxのコマンドとオプションを全部覚えようとすると、ざっと見積もって数百は軽く超えます。試験勉強のように一気に詰め込むと、現場で本当に必要な10〜20個まで辿り着く前に脳が飽和します。
私もLPIC勉強中に同じ罠にハマりました。tar のオプションだけで20個以上書いてある参考書を眺めて、結局3日で全部忘れたんですよね。原因を分解しないまま「気合で覚える」から脱出できないので、まず3つの根本原因を見ていきましょう。
数が多すぎて丸暗記は無理ゲー
Linuxの主要コマンドはざっくり50個以上、各コマンドに10〜30のオプションがあります。掛け算すると500〜1,500通り。これを丸暗記しようとするのは、英単語帳を1ページ目から順番に全部覚える戦略と同じです。
大事なのは、現場で使うのは全体の2割もないという事実。私が日常業務で叩くのは20コマンドくらいで、それぞれよく使うオプションは2〜3個に絞られます。「全部覚えなきゃ」をまず捨てましょう。
普段使わないオプションはすぐ抜ける
記憶は使わないと2週間でほぼ消えます。エビングハウスの忘却曲線そのままで、参考書で覚えたつもりの find の -mtime も、実務で使わなければ1ヶ月後にはきれいに消えています。
なので「使う場面とセットで覚える」が鉄則です。「ログから直近1日分を抽出したい→find /var/log -mtime -1」のように、シチュエーションつきで頭に入れると定着率が段違いです。
ググって解決を繰り返すと記憶に残らない
「コピペで解決→次の日また検索」のループは、覚えない練習をしているのと同じです。脳は「困ったらググれば出てくる」と学習してしまい、自前で記憶する必要性を感じなくなります。
ググるのが悪いわけではなく、ググった結果を一度自分の言葉でメモに残すかどうかで差がつきます。私はQiitaやStack Overflowで答えを見つけたら、必ず自分用のScrapboxに「使った場面+コマンド+理由」をメモしています。これだけで再検索率が体感半分以下になりました。
Linuxコマンドのオプション覚え方5つのコツ
ここからが本題です。私が10年エンジニアをやってきて「これさえやっておけば良かった」と思う5つの覚え方を順番に紹介します。どれも特別な道具やお金はいらず、今日のターミナルから始められます。
5つすべて完璧にやる必要はありません。①と③だけでもLinuxコマンドのオプションへの抵抗感はかなり減ります。自分に合いそうなものから取り入れてみてください。
英単語の略から意味を推測する
Linuxのオプションは英単語の頭文字がベースです。-r は recursive、-f は force、-v は verbose、-h は help または human-readable。この対応関係を一度頭に入れておくと、初見のコマンドでもオプションの意味を7割くらい当てられます。
たとえば rm -rf は「recursive(再帰的) + force(強制)」、cp -rv は「recursive + verbose(冗長表示)」と分解できます。意味を知っていれば rm -rf / の恐ろしさも肌感覚で理解できますよね。
コマンド由来(語源)とセットで理解する
コマンド名そのものも英語の略です。語源を知るとオプションの意味も芋づる式にハマります。
| コマンド | 語源 | 用途 |
|---|---|---|
| cat | concatenate(連結する) | ファイルを連結して表示 |
| grep | global regular expression print | 正規表現で検索 |
| tar | tape archive | アーカイブ作成 |
| chmod | change mode | 権限変更 |
| sudo | superuser do | 管理者権限で実行 |
tar が tape archive の略と知ると、-c(create) でアーカイブ作成、-x(extract) で展開、-f(file) でファイル指定、という3点セットが「テープに書く・テープから出す・対象ファイル」のイメージで頭に残ります。
man と --help を最初に開くクセをつける
知らないコマンドに出会ったら、ググる前に man コマンド名 または コマンド名 --help。これだけでネット記事より正確な情報が手に入ります。
# manページを開く(qで終了、/で検索)
man ls
# ヘルプだけサクッと見たい時
ls --help
# 短い説明だけ欲しい時
whatis ls正直 man は読みづらいですが、慣れると「OPTIONS」セクションだけ斜め読みする技が身に付きます。/ でキーワード検索もできるので、長いマニュアルでも目的のオプションに一瞬で飛べます。
よく使う10コマンドだけに絞って反復する
覚える対象を絞るのが最強の時短です。最初に固めるべきはこの10コマンド。
- ls / cd / pwd:ファイル一覧と移動の3点セット
- cp / mv / rm:コピー・移動・削除
- cat / grep / find:表示・検索
- chmod:権限変更
残りのコマンドは「必要になったときに調べる」で十分です。私も awk や sed は今でも複雑なやつは毎回 man を見ます。それで業務は回ります。
自分の言葉でメモに書き起こす
調べたコマンドは必ず自分の言葉でメモに残します。「コピペでも残しておけばいい」では弱くて、「いつ・なぜ・どう使ったか」をワンセットで書くのがコツです。
脳科学的にも、自分で言語化したものは記憶定着率が約2倍に跳ね上がると言われています。私はNotionに「Linuxメモ」というページを1枚作って、そこに雑に追記する運用にしています。整理は後回しでOKで、書く行為そのものに意味があります。
現場で頻出するオプションの覚え方早見表
「結局どのオプションを優先して覚えればいい?」という人向けに、私が日常的に叩いているオプションを目的別に整理しました。これを印刷してデスクに貼っておくだけでも、ググる回数が減ります。
ポイントは、よく使う組み合わせをセットで覚えることです。ls -la や rm -rf のように、現場で「呪文」になっている組み合わせから先に手が動くようにしましょう。
ファイル操作系(ls/cp/rm/mv)
| コマンド | 頻出オプション | 意味 |
|---|---|---|
| ls | -l / -a / -h | 詳細 / 隠しファイル含む / 人間に読みやすい |
| cp | -r / -p / -i | 再帰 / 属性保持 / 上書き確認 |
| rm | -r / -f / -i | 再帰 / 強制 / 確認 |
| mv | -i / -n | 確認 / 上書きしない |
ls -lah は私が一番打っている呪文です。詳細表示+隠しファイル+読みやすいサイズ表記が一気にかかります。rm -rf は便利ですが、本番サーバーでは -i を付けて確認モードにする方が事故りません。
検索・確認系(grep/find/cat)
| コマンド | 頻出オプション | 意味 |
|---|---|---|
| grep | -r / -i / -n / -v | 再帰 / 大小無視 / 行番号 / 反転 |
| find | -name / -type / -mtime | 名前指定 / 種別 / 更新日 |
| cat | -n | 行番号付き |
ログ調査では grep -rn "ERROR" /var/log が定番。再帰+行番号でエラー箇所を即特定できます。find の -mtime -1 は「直近24時間に更新されたファイル」で、障害調査の最初の一手として使えます。
権限・実行系(chmod/sudo)
| コマンド | 頻出オプション | 意味 |
|---|---|---|
| chmod | -R | 再帰的に権限変更 |
| sudo | -i / -u | ログインシェル / 別ユーザー実行 |
chmod 755 や chmod +x は数値・記号のどちらでも指定できます。実行権限だけ付けたいなら chmod +x ファイル名 が直感的で覚えやすいです。
オプションを定着させる1日10分の練習法
知識は使ってナンボです。私が新人時代に試して効果が大きかったのは、1日10分だけの反復練習。長時間勉強するより、短時間×毎日の方が圧倒的に定着します。
具体的には3ステップで、合計10分以内に終わる構成にしました。Linuxコマンドのオプション覚え方として最も再現性が高い方法だと自負しています。
ステップ1:man で1コマンドだけ眺める
毎朝1コマンドだけ man を開きます。ls から始めて、翌日 cp、その次 rm という具合に1日1コマンドずつ。OPTIONSセクションだけ3分眺めるだけで構いません。
覚えようとせず「ふーん、こんなオプションあるんだ」で流すのがコツ。インプットの段階で気合を入れると続かないので、軽く流すのが正解です。
ステップ2:実際に打って結果を観察する
眺めたオプションを2〜3個、テスト用ディレクトリで実際に叩きます。出力を見て「あ、これがverboseの意味か」と腹落ちさせる工程です。
# テスト用ディレクトリを作って試す
mkdir test && cd test
touch a.txt b.txt c.txt
ls -la # 詳細+隠しファイル
ls -lh # 読みやすいサイズ
cp -v a.txt d.txt # コピー過程を表示本番環境ではなくテスト用ディレクトリで試すのが鉄則。rm -rf を本番で練習すると人生が終わります(私の同僚は実際に終わりかけました)。
ステップ3:翌日に何も見ずに再現する
翌朝、何も見ずに昨日のオプションを再現します。思い出せなければもう一度 man を開いて確認、を繰り返すだけ。これがいわゆる「想起練習」で、記憶定着の効率がぶっちぎりで高い方法です。
1週間続けると、ls/cp/rm/mv/grep/find/cat あたりの主要オプションがほぼ手に染みつきます。私はこれを新人研修期間の1ヶ月続けて、Linuxへの苦手意識が完全に消えました。
それでも覚えられないときの逃げ道
正直に言うと、覚えなくていいオプションも山ほどあります。10年やっている私でも tar の細かいオプションは毎回 --help しています。覚えるコストより調べるコストが安いなら、調べる方が合理的です。
覚えることに固執するより、外部ツールに頼って認知資源を別の場所に使う方がエンジニアとしては健全です。私が実際に使っている逃げ道を2つ紹介します。
alias で自分用ショートカットを作る
よく使うオプションの組み合わせは alias で別名にしてしまうのが一番早いです。~/.bashrc や ~/.zshrc に書いておけば永続化されます。
# ~/.zshrc に追記
alias ll="ls -lah"
alias gr="grep -rn"
alias ports="lsof -i -P -n"
欠点は他人のサーバーにログインしたときに使えないこと。なので「自分専用の効率化」と「素のコマンドを覚える」は両立させた方がいいです。
cheat.sh や tldr で代用する
man が長すぎて読む気がしないとき、tldr や cheat.sh が便利です。実用例ベースで短くまとまっており、3秒で目的のコマンドに辿り着けます。
# tldrのインストールと使用例
brew install tldr
tldr tar # tarの実用例が10行で表示される
# cheat.sh はネット越しでcurlで使える
curl cheat.sh/find私は tldr をローカルに入れていて、複雑なコマンドはまずこれを叩きます。man より圧倒的に早く目的を達成できるので、覚える前にまず使ってみるのもアリです。
Linuxコマンドのオプション覚え方まとめ
Linuxコマンドのオプションは丸暗記しないのが正解です。英単語の略から推測し、語源とセットで理解し、よく使う10コマンドだけに絞って反復する。これだけで現場の8割は乗り切れます。
私が新人時代の自分に伝えたいのは「全部覚えようとするな、必要なものを必要なときに身につけろ」の一言です。10年経った今も毎日 --help を叩く場面はあるし、それで誰も困っていません。
明日の朝のターミナル、まずは man ls から始めてみてください。3分眺めるだけです。1ヶ月後には別人のようにコマンドが手に馴染んでいるはずです。