こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Linuxコマンドの覚え方を初心者向けに解説します。コマンドを何度勉強しても忘れてしまう、実務になると手が止まるという方に読んでほしい内容です。
私自身もLinuxを学び始めた頃は、コマンドをほとんど覚えられませんでした。参考書を読んだ直後は理解できても、数日後にはlsのオプションさえ曖昧になることがありました。
それでも、仕事でLinuxを使い続けるうちに、よく使うコマンドは考えなくても入力できるようになりました。エンジニアとして10年以上働いてきた経験から言えるのは、Linuxコマンドは暗記量ではなく、使い方で身につくということです。
この記事は、次のような方におすすめです。
- Linuxを学び始めたばかりの方
- コマンドを覚えてもすぐに忘れてしまう方
- 実務でLinuxを使えるようになりたい方
Linuxのコマンドの覚え方は?¶
Linuxコマンドってどうやって覚えたらいいの?
このような悩みを持っている方は多いと思います。Linuxには数多くのコマンドがあり、オプションまで含めて一つずつ丸暗記しようとすると、大変です。
ただし、最初からすべて覚える必要はありません。現場でも、使用頻度の低いコマンドや複雑なオプションは、その都度調べます。
大切なのは、よく使うコマンドを実際に操作しながら身につけることです。方法は、次の3つに整理できます。
- よく使う重要なコマンドから覚える
- コマンドの名前と役割を結びつける
- 小さな作業を何度も繰り返す
ここからは、それぞれの方法を具体的に解説します。
よく使う重要なコマンドだけ覚える¶
Linuxのコマンドを覚えるための1つ目のポイントは、よく使う重要なコマンドから覚えることです。
Linuxには非常に多くのコマンドがありますが、初心者が最初からすべてを扱うことはありません。まずは、ファイルやディレクトリを操作する基本コマンドを優先しましょう。
例えば、最初に使えるようになりたいコマンドは次のとおりです。
| 用途 | コマンド | できること |
|---|---|---|
| 現在地を確認する | pwd |
現在のディレクトリを表示する |
| 一覧を確認する | ls |
ファイルやディレクトリを表示する |
| 場所を移動する | cd |
カレントディレクトリを変更する |
| ファイルを作る | touch |
ファイルの作成や時刻情報の更新をする |
| ディレクトリを作る | mkdir |
新しいディレクトリを作成する |
| 内容を確認する | cat |
ファイルの内容を表示する |
| コピーする | cp |
ファイルやディレクトリを複製する |
| 移動・改名する | mv |
ファイルを移動または名前変更する |
| 削除する | rm |
ファイルやディレクトリを削除する |
| 権限を確認・変更する | ls -l・chmod |
アクセス権限を確認・変更する |
この段階では、各コマンドの全オプションを覚える必要はありません。lsなら一覧を表示する、cdなら場所を移動するという基本動作を迷わず実行できれば十分です。
例えば、次の一連の操作を何も見ずに実行できることを目標にします。
mkdir linux-practice
cd linux-practice
touch memo.txt
ls -l
cat memo.txt
cd ..
rm -r linux-practice
これは、練習用ディレクトリを作成し、移動してファイルを作り、最後に削除する流れです。単語カードで覚えるより、作業の流れとしてコマンドを使う方が記憶に残ります。
ただし、rm -rはディレクトリをまとめて削除するコマンドです。実務環境では対象パスを必ず確認し、慣れないうちは自分で作った練習用ディレクトリだけに使いましょう。
これらのコマンドを練習するためには、InfraAcademyがおすすめです。InfraAcademyでは、Linuxの基礎を学習しながら、Linuxのコマンドをシュミレーターを用いて練習できます。
【関連記事】Linuxコマンドをブラウザで練習する方法
コマンドの成り立ちを考える¶
続いて、コマンドを覚えるためのポイントは、コマンド名と役割を結びつけることです。
Linuxコマンドを意味のない英字の並びとして覚えようとすると、なかなか定着しません。多くのコマンドは、英単語や操作内容を短くした名前になっています。
よく使うコマンドと元になった言葉を整理すると、次のようになります。
| コマンド | 関連する英単語 | 用途 |
|---|---|---|
ls |
list | ディレクトリの内容を表示する |
cd |
change directory | カレントディレクトリを変更する |
pwd |
print working directory | 現在のディレクトリを表示する |
mkdir |
make directory | ディレクトリを作成する |
rm |
remove | ファイルやディレクトリを削除する |
cp |
copy | ファイルやディレクトリをコピーする |
mv |
move | ファイルの移動や名前変更をする |
cat |
concatenate | ファイルを連結したり内容を表示したりする |
grep |
パターンに一致する行を検索する名称 | テキストから条件に合う行を探す |
chmod |
change mode | ファイルのアクセス権限を変更する |
例えば、mkdirを6文字の暗号として覚えるのではなく、make directoryの短縮と考えます。すると、ディレクトリを作成するコマンドだと連想しやすくなります。
同じように、pwdはprint working directoryです。現在作業しているディレクトリを表示すると理解できれば、コマンド名と目的が結びつきます。
すべてのコマンド名について、厳密な語源まで暗記する必要はありません。初心者の段階では、覚えるための手がかりとして使うくらいで十分です。
さらにコマンドの成り立ちを見たい方はこちらの記事を参考にしてください。
【関連記事】Linuxコマンドの意味一覧|よく使うコマンドを役割から覚える
オプションも意味と一緒に覚える¶
基本コマンドが分かってきたら、次はよく使うオプションだけを追加します。オプションまで一度に大量暗記すると混乱するため、1つのコマンドにつき1〜2個から始めましょう。
例えば、lsでは次のオプションをよく使います。
ls -l
ls -a
ls -la
-lは詳細な一覧を表示し、-aはドットから始まる隠しファイルも表示します。ls -laのように、複数の短いオプションをまとめて指定することもできます。
cpやrmでは、ディレクトリを対象にする-rをよく目にします。
cp -r source_dir backup_dir
rm -r practice_dir
ただし、同じアルファベットのオプションでも、コマンドが変われば意味も変わります。-rは常に同じ意味だと決めつけず、迷ったときはヘルプを確認してください。
ls --help
man ls
実務では、安全に調べて正しく実行できることが重要です。私も使用頻度の低いオプションは、今でもmanや公式ドキュメントで確認します。
コマンドを繰り返し練習する¶
最後のポイントは、コマンドを繰り返し練習することです。
読むだけでは、コマンドは身につきません。入力し、結果を確認し、失敗の原因を調べる過程が必要です。
ただし、同じコマンドを意味なく100回入力するだけでは効率がよくありません。目的のある小さな課題を作り、複数のコマンドを組み合わせて練習しましょう。
例えば、次のような課題がおすすめです。
1. practiceディレクトリを作る
2. practiceへ移動する
3. memo.txtを作る
4. memo.txtへ文字を書き込む
5. ファイルの内容を確認する
6. backupディレクトリへコピーする
7. 最後に作成したものを削除する
実際のコマンドにすると、次のようになります。
mkdir practice
cd practice
touch memo.txt
echo "Linux command practice" > memo.txt
cat memo.txt
mkdir backup
cp memo.txt backup/
ls -R
cd ..
rm -r practice
この練習では、mkdir・cd・touch・echo・cat・cp・ls・rmを一連の流れで使えます。毎回少しだけ条件を変えると、単なる手順の丸暗記にもなりません。
ファイル名やコピー先を変え、ls -laも試してみましょう。課題を自分で変えられると、Linux操作への理解が深まります。
Linuxコマンドを覚えられない原因¶
ここまで覚え方を説明しましたが、練習しているのに定着しない方もいると思います。その場合は、勉強方法そのものに原因がないか確認してみましょう。
コマンド一覧を眺めるだけになっている¶
コマンド一覧は、知識を整理するには便利です。ただし、眺めるだけでは、どの場面で使うのかが分かりません。
例えば、grepを文字列検索と覚えるだけでは、ログ調査で手が止まります。
grep "ERROR" application.log
このように、具体的なファイルと目的をセットにすると記憶へ残りやすくなります。コマンド名ではなく、困った場面と解決方法を結びつけることが大切です。
最初から細かいオプションまで覚えようとしている¶
初心者の頃は、オプションの多さに圧倒されやすいです。manを開くと大量の説明が表示されるため、すべて理解しなければならないと感じるかもしれません。
しかし、日常的に使うオプションは限られています。まず基本動作を覚え、必要になったタイミングでオプションを追加してください。
例えば、最初はgrepで文字列を検索できれば十分です。その後、行番号が必要になったら-n、大文字と小文字を区別したくないときに-iを覚えます。
grep -n "ERROR" application.log
grep -i "warning" application.log
必要になった瞬間に覚えたオプションは、定着しやすいです。
エラーを避けすぎている¶
コマンド入力を間違えると、英語のエラーが表示されます。初心者の頃は、それだけで怖くなってしまいますよね。
ただし、練習環境での安全な失敗は大切です。ファイル名を間違えた、権限が足りない、オプションが違うという経験をすると、エラーメッセージを見る習慣が身につきます。
cat memo.tx
存在しないファイルを指定すれば、No such file or directoryと表示されます。このメッセージから、ファイル名や現在地を確認すべきだと判断できます。
ただし、本番サーバーで削除や権限変更を試すのは危険です。自分で作った仮想環境や学習用シミュレーターで練習しましょう。
実務で使える覚え方¶
Linuxコマンドは単語暗記とは違います。実務では、状況を確認して安全に操作する力が求められます。
コマンドを作業単位でまとめる¶
私は、コマンド単体ではなく作業単位で覚える方法をおすすめします。例えば、ログ調査ならcd・ls・tail・grep・lessをまとめて使います。
cd /var/log
ls -lh
tail -n 100 syslog
grep "ERROR" syslog
less syslog
この流れを繰り返すと、ログを確認したいときに必要なコマンドが自然に出てきます。ファイル操作、ユーザー管理、ネットワーク確認など、目的ごとに練習するとよいでしょう。
履歴を学習ノートとして使う¶
実行したコマンドは、シェルの履歴から確認できます。
history
過去に使ったコマンドを探す場合は、パイプとgrepを組み合わせられます。
history | grep ssh
ただし、コマンドラインへパスワードや秘密情報を直接入力すると、履歴へ残る可能性があります。トークンやパスワードを含む操作では、ツールの安全な入力方法や環境変数の扱いを確認してください。
履歴を見返すと、よく使うコマンドが分かります。まず何度も登場するものを確実に使えるようにしましょう。
自分用のチートシートを作る¶
チートシートは、インターネット上の一覧をそのまま保存するより、自分が実際に使ったコマンドだけで作る方が役立ちます。
例えば、次のように目的とコマンドをセットで記録します。
現在地を確認する pwd
隠しファイルも表示 ls -la
ログの末尾100行 tail -n 100 ファイル名
ERRORを行番号付き検索 grep -n "ERROR" ファイル名
ディスク容量を確認 df -h
自分が迷った理由や注意点も短く書いておくと、次に同じ作業をするときの助けになります。チートシートを見ずに使えるようになった項目は、削除しても構いません。
Linuxコマンドは全部暗記しなくてよい¶
Linuxを勉強していると、何も見ずに入力できる人が優秀に見えます。しかし、実務では暗記量だけで力量は決まりません。
大切なのは、目的に合うコマンドを選び、実行前に内容を確認し、結果を読み取ることです。分からない部分を正しく調べられることも、重要な実務スキルです。
私もよく使うcdやls、grepなどは自然に入力できますが、複雑なfindやawkの条件は確認してから実行します。むしろ、曖昧な記憶だけで危険なコマンドを打たないことの方が大切です。
毎日10分でも構いません。小さな課題でコマンドを入力し、出力を確認してください。
まとめ¶
今回は、Linuxコマンドの覚え方について解説しました。
ポイントは、よく使うコマンドに絞り、名前と目的を結びつけ、作業の流れで繰り返すことです。
一覧の丸暗記は不要です。基本コマンドを使い、必要なオプションを少しずつ増やしましょう。
さらにLinuxのコマンドの学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。
Linuxの実践的な内容を学習したい、コマンドを打ちながらLinuxを学習したい。
そのようなご要望にお応えして、Linuxやネットワークが学習できるサイトInfraAcademyをリリースしました!
入門から中級まで初心者でもわかりやすく学習を進めることができます。
↓InfraAcademyの講座の一部です。
上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。
インフラエンジニアに必要な知識が学習できます。
【関連記事】Linuxサーバー構築の練習方法