Linuxコマンドの一覧を開いた瞬間、その多さに圧倒されていませんか。私も学習を始めた頃、何百個も並ぶ一覧を前に固まりました。「全部覚えないと現場で通用しないのでは」と焦る気持ち、よく分かります。
結論から言うと、初心者がすべて覚える必要はありません。私はPHP/Laravelの実務でほぼ毎日サーバーを触りますが、日常的に使うコマンドは20個程度です。まずは「現在地を確認する」「移動する」「ファイルを見る」という基本から始めれば十分です。
この記事では、Linuxコマンド一覧の中から初心者が最初に覚えたい20個を厳選しました。単なる一覧ではなく、ログ調査やバックアップなど、実務でどう組み合わせるかまで解説します。
Section 01Linuxコマンドとは?初心者向けに基本を解説
まずは「そもそもLinuxコマンドとは何か」を整理します。ここが分かると、この後の一覧がぐっと理解しやすくなります。
Linuxコマンドは文字でパソコンを操作する命令
Linuxコマンドとは、文字を入力してコンピュータに指示を出す命令のことです。普段のパソコン操作では、マウスでフォルダをクリックして開きますよね。この見た目で操作する方式をGUI(グラフィカルユーザーインターフェース)と呼びます。一方、文字だけで操作する方式はCUI(キャラクタユーザーインターフェース)と呼ばれます。Webサービスが動くサーバーの多くにはマウスで操作する画面がありません。そのため、サーバーを扱うエンジニアにはコマンド操作が必須になります。私も本番サーバーのログ確認やファイル操作は、すべてコマンドで行っています。
Linuxコマンドの基本的な書き方
コマンドの書式は、基本的に次の3つの要素で構成されます。
Bash
コマンド オプション 対象実際の例を見てみましょう。
Bash
ls -la /var/logそれぞれの意味は次の通りです。
ls:実行するコマンド本体。ファイル一覧を表示する-la:動作を細かく指定するオプション/var/log:操作対象のディレクトリ
「命令+味付け+相手」という並びだと覚えると、初めて見るコマンドも読み解けるようになります。
大文字と小文字は区別される
Linuxでは大文字と小文字が厳密に区別されます。lsは動きますが、LSはコマンドとして認識されません。ファイル名も同様で、Config.phpとconfig.phpは別のファイルとして扱われます。また、ファイル名の間に半角スペースがあると、別々の対象として解釈されます。全角スペースが紛れ込むとエラーの原因になるため、コマンド入力は半角で統一しましょう。
オプションはすべて暗記しなくてよい
オプションの暗記は不要です。私も実務でよく使うものだけ覚えていて、あとは毎回調べています。調べる手段はLinux自体に用意されています。
Bash
ls --help
man ls--helpは使い方の要約を表示し、manは詳細なマニュアルを開きます。さらに、オプションは英単語と関連付けると忘れにくくなります。たとえば-rはrecursive(再帰的)、-aはall(すべて)の頭文字です。「意味とセットで覚える」を今日から意識してみてください。
Linuxコマンド一覧を初心者が丸暗記しなくてよい理由
「Linuxコマンド 一覧」で検索すると、初心者向けでも50個以上載っている記事が多くあります。しかし、上から順に暗記するのは遠回りです。その理由を説明します。
現場で頻繁に使うコマンドは限られている
Linuxコマンドは数百種類以上ありますが、使用頻度には大きな偏りがあります。私の実務でも、毎日使うのはcd、ls、tail、grepあたりの十数個です。残りは月に数回、あるいは必要になったとき調べて使う程度です。担当する業務やOSによっても使うコマンドは変わります。だからこそ、最初は20個程度に絞って確実に使えるようにするのが効率的です。
コマンドは目的別に覚えると理解しやすい
アルファベット順の一覧より、「何をしたいか」で整理した方が記憶に残ります。本記事では次の目的別に分類しました。
- 現在地を確認する・移動する
- ファイルの中身を見る
- ファイルを検索する・ログを調べる
- ファイルをコピー・移動・削除する
- 権限や所有者を変更する
- プロセスやネットワークを確認する
実務では「エラーが出たからログを見たい」のように、目的が先にあります。目的からコマンドを引ける状態を目指しましょう。
単体ではなく一連の作業として覚える
コマンドは単体ではなく、流れで使うものです。たとえばエラー調査なら、私は次の順で実行します。
Bash
cd /var/log
ls
tail -f application.log「ログのある場所へ移動し、ファイル名を確認し、ログを監視する」という一連の動きです。この流れごと体に入れると、個々のコマンドの役割も自然に理解できます。
Windowsの操作と比較すると理解しやすい
普段のマウス操作と対応させると、コマンドのイメージがつかめます。
| やりたいこと | Windowsの操作例 | Linuxコマンド |
|---|---|---|
| 現在地を確認する | エクスプローラーのアドレス欄を見る | pwd |
| フォルダを移動する | フォルダをダブルクリック | cd |
| ファイル一覧を見る | フォルダを開く | ls |
| ファイルをコピーする | コピー&ペースト | cp |
| ファイルを削除する | ごみ箱に移動する | rm |
| ファイルを検索する | エクスプローラーで検索 | find |
「やっていることは普段の操作と同じ」と分かれば、怖さはかなり減るはずです。
Section 03Linux初心者がまず覚える基本コマンド一覧20選
本記事で扱うLinuxコマンド一覧を、初心者向けの優先度付きでまとめました。優先度は私の実務での使用頻度を基準にしています。
| 分類 | コマンド | 主な用途 | 初心者の優先度 |
|---|---|---|---|
| 移動・確認 | pwd | 現在地を確認する | S |
| 移動・確認 | cd | ディレクトリを移動する | S |
| 移動・確認 | ls | ファイル一覧を表示する | S |
| ファイル閲覧 | cat | ファイル内容を表示する | S |
| ファイル閲覧 | less | 長いファイルを閲覧する | S |
| ファイル操作 | mkdir | ディレクトリを作成する | S |
| ファイル操作 | rm | ファイルを削除する | S |
| 検索・ログ | grep | 文字列を検索する | A |
| 検索・ログ | tail | ファイル末尾を表示する | A |
| 検索・ログ | find | ファイルを検索する | A |
| ファイル操作 | cp | ファイルをコピーする | A |
| ファイル操作 | mv | ファイルを移動・改名する | A |
| 権限管理 | chmod | 権限を変更する | B |
| 権限管理 | chown | 所有者を変更する | B |
| プロセス | ps | プロセスを確認する | B |
| プロセス | kill | プロセスを終了する | B |
| ネットワーク | ping | 通信できるか確認する | C |
| ネットワーク | curl | URLへリクエストを送る | C |
| リモート接続 | ssh | サーバーへ接続する | C |
| 圧縮・展開 | tar | ファイルを圧縮・展開する | C |
最初に覚えるのは優先度SとAの12個だけで十分です。BとCは「こういうコマンドがある」と知っておき、必要になったら戻ってきてください。まずは一覧をざっと眺めて、全体像をつかみましょう。
Section 04【頻度S】Linux初心者が毎日使う基本コマンド7選
ここからは、Linux操作の土台になる7個を解説します。私が実務で1日に何十回も打つコマンドばかりです。
pwd|現在いるディレクトリを確認する
pwdは「print working directory」の略で、いま自分がいる場所を表示します。
Bash
pwd実行結果の例は次の通りです。
Bash
/home/user/project地味に見えますが、実は事故防止のための最重要コマンドです。誤った場所でファイルを削除する事故は、現在地の思い込みから起きます。私は削除や移動の前に、必ずpwdを打つと決めています。この習慣だけで大きなミスをほぼ防げます。
cd|ディレクトリを移動する
cdは「change directory」の略で、ディレクトリ間を移動します。
Bash
cd /var/log
cd ..
cd ~cd ..は1つ上の階層へ、cd ~は自分のホームディレクトリへ移動します。パスの指定には2種類あります。/var/logのようにルートから書くのが絶対パス、いまいる場所を起点に書くのが相対パスです。迷ったら絶対パスで書くと確実です。まずはcdとpwdを交互に打って、移動の感覚をつかんでみてください。
ls|ファイルやディレクトリの一覧を表示する
lsは「list」の略で、その場所にあるファイルの一覧を表示します。
Bash
ls
ls -l
ls -a
ls -laよく使うオプションは次の3つです。
| オプション | 意味 |
|---|---|
-l | 権限や更新日時などの詳細情報を表示する |
-a | 先頭がドットの隠しファイルも表示する |
-h | -lと併用し、サイズを読みやすい単位で表示する |
実務ではls -laの形で使うことが多いです。設定ファイルは.envのように隠しファイルになっていることが多く、-aを付けないと見えません。「あるはずのファイルがない」と思ったら、まずls -aを試しましょう。
cat|ファイルの内容を表示する
catはファイルの中身を一気に表示します。
Bash
cat config.txt数行〜数十行の短いファイルの確認に向いています。設定値をさっと確認したいときに便利です。一方、数万行のログファイルに使うと画面が流れ切ってしまい読めません。長いファイルには次のlessを使い分けます。ちなみにcat file1.txt file2.txtのように、複数ファイルを連結して表示することもできます。
less|長いファイルを少しずつ確認する
lessは長いファイルを1画面ずつ閲覧するコマンドです。ログの調査で頻繁に使います。
Bash
less application.log画面内の操作は次の通りです。
- 矢印キー:上下にスクロールする
/文字列:ファイル内を検索する(nで次の一致へ)q:閲覧を終了する
終了は「q」キーです。初心者が最初に困るのが「画面から出られない」問題なので、これだけは先に覚えてください。私も初日に閉じ方が分からず、ターミナルごと落とした経験があります。
mkdir|新しいディレクトリを作成する
mkdirは「make directory」の略で、ディレクトリを作成します。Linuxではフォルダを「ディレクトリ」と呼ぶのが一般的です。
Bash
mkdir images
mkdir -p src/components-pを付けると、途中の親ディレクトリもまとめて作成できます。上の例ではsrcがなくても、srcとcomponentsを一度に作れます。プロジェクトの雛形を作るときに重宝するオプションです。練習環境で自由に作って消せるのがディレクトリの良いところなので、どんどん試しましょう。
rm|ファイルやディレクトリを削除する
rmは「remove」の略で、ファイルを削除します。
Bash
rm sample.txt
rm -r old-directoryディレクトリごと削除するには-rが必要です。ここで重要な注意があります。Linuxのrmにはごみ箱がなく、削除したファイルの復元は困難です。Windowsの感覚で気軽に消すと、取り返しがつきません。実行前にpwdで現在地を、lsで削除対象を確認する。この2ステップを毎回の儀式にしてください。
【頻度A】ファイル操作とログ確認で使うLinuxコマンド5選
次は、開発現場での調査や作業に欠かせない5個です。特にgrepとtailは、エラー対応のたびに使うことになります。
grep|ファイル内から文字列を検索する
grepは、ファイルの中から指定した文字列を含む行を抜き出します。ログから特定のエラーを探すときの主役です。
Bash
grep "ERROR" application.log
grep -i "error" application.log
grep -n "ERROR" application.log| オプション | 意味 |
|---|---|
-i | 大文字・小文字を区別せずに検索する |
-n | 一致した行の行番号を表示する |
-r | ディレクトリ内のファイルを再帰的に検索する |
私はLaravelのログ調査で「まずgrepでERRORを抜く」のが定番の初手です。行番号付きで抜き出せば、そのままエディタで該当行へ飛べます。エラー対応の速度が確実に変わるので、最優先で手に馴染ませたいコマンドです。
tail|ファイルの末尾や最新ログを確認する
tailはファイルの末尾を表示します。ログは末尾に追記されていくため、「最新のログを見る=tailを使う」となります。
Bash
tail application.log
tail -n 100 application.log
tail -f application.log-n 100は末尾100行を表示します。特に便利なのが-fで、ファイルへの追記をリアルタイムに表示し続けます。エラーを再現しながらログを流し見る、という実務の基本動作がこれです。監視をやめるときはCtrl + Cを押します。開発中はtail -fを開きっぱなしにしておくと、不具合の発見が早くなりますよ。
find|名前や条件からファイルを探す
findは、ファイル名や条件を指定してファイルの場所を探します。
Bash
find . -name "config.php"
find /var/log -name "*.log".は「現在のディレクトリから下を探す」という意味です。*.logのように書けば、拡張子での検索もできます。grepとの違いは迷いやすいので、表で整理します。
| コマンド | 探す対象 |
|---|---|
find | ファイル名やディレクトリ名(ファイルの場所) |
grep | ファイルの中に書かれた文字列(ファイルの中身) |
「ファイルどこ?はfind、この文字どこ?はgrep」と覚えておけば混同しません。
cp|ファイルやディレクトリをコピーする
cpは「copy」の略で、ファイルを複製します。
Bash
cp config.php config.php.bak
cp -r images images-backup実務で最も多い使い道は、設定ファイルを編集する前のバックアップです。上の例のように.bakを付けた複製を作っておけば、失敗してもすぐ戻せます。ディレクトリごとコピーするには-rが必要です。注意点として、コピー先に同名ファイルがあると確認なしで上書きされる場合があります。コピー先の状態もlsで確認してから実行しましょう。
mv|ファイルを移動・名前変更する
mvは「move」の略で、移動と名前変更の両方を担当します。
Bash
mv sample.txt backup/
mv old-name.txt new-name.txt移動先にディレクトリを指定すれば移動、新しいファイル名を指定すれば名前変更になります。「名前を変える専用コマンドはなく、mvで行う」というのが初心者のつまずきポイントです。cpと同じく、移動先に同名ファイルがあると上書きされることがあります。大事なファイルを扱う前に、まず練習用ファイルで移動と改名を試してみてください。
Linuxコマンドは組み合わせて使う|実務で役立つ3つの例
一覧を眺めるだけでは、実務のイメージは湧きにくいものです。ここでは私が現場で毎週のようにやっている、コマンドの組み合わせを紹介します。
ログファイルからエラーだけを抽出する
最も基本的な調査は、ログからエラー行だけを抜き出すことです。
Bash
grep "ERROR" application.log該当行がどこにあるか知りたい場合は、行番号も表示します。
Bash
grep -n "ERROR" application.logまずはこの1行から。ログ調査の第一歩として、手元の練習環境で試してみましょう。
最新100行からエラーを探す
巨大なログ全体を検索すると、古いエラーまで大量に出てしまいます。そこでtailとgrepをつなげます。
Bash
tail -n 100 application.log | grep "ERROR"この縦棒|は「パイプ」と呼ばれ、左のコマンドの実行結果を右のコマンドに渡す仕組みです。上の例では「末尾100行を取り出し、その中からERRORを含む行だけ表示」となります。パイプを覚えると、コマンドが部品のように組み合わせられるようになります。Linuxが一気に面白くなる瞬間なので、ぜひ体験してください。
リアルタイムで流れるログからエラーを確認する
「今まさに起きているエラー」を捕まえるには、-fとパイプを組み合わせます。
Bash
tail -f application.log | grep "ERROR"実務での流れは次の通りです。
- ブラウザでエラーが出る操作を再現する
tail -fでログを監視しておくgrepでエラー行だけが画面に流れる- 原因を確認したら
Ctrl + Cで監視を終了する
私が障害対応で最初に開くのがこの画面です。この1行が打てるだけで、調査のスタートラインに立てます。
ファイルを編集する前にバックアップを作る
設定ファイルを触る前のバックアップも、コマンドの組み合わせで確認まで行います。
Bash
cp config.php config.php.bak
ls -l config.php*ls -l config.php*の*は「任意の文字列」を意味し、元ファイルとバックアップの両方が表示されます。コピーしたつもりでできていなかった、を防げるわけです。「編集の前にcp、直後にlsで確認」を口癖にしてください。この習慣は本番作業で必ず自分を助けてくれます。
【頻度B】権限・プロセス管理で使うLinuxコマンド4選
次は一歩進んで、権限とプロセスに関するコマンドです。「Permission denied」への対応や、動かなくなったプログラムの停止で必要になります。
chmod|ファイルやディレクトリの権限を変更する
chmodは「change mode」の略で、ファイルの権限(読み・書き・実行)を変更します。
Bash
chmod 644 sample.txt
chmod 755 script.sh数字は権限の合計値です。基本は次の3つだけ覚えれば読めます。
| 数字 | 権限 |
|---|---|
| 4 | 読み取り |
| 2 | 書き込み |
| 1 | 実行 |
3桁の数字は左から「所有者」「グループ」「その他」の権限です。644は所有者が読み書き(4+2)、他は読み取りのみ。755は所有者がすべて可能で、他は読み取りと実行です。全員に全権限を与える777を安易に設定してはいけません。理由は後述の危険なコマンドの章で詳しく説明します。
chown|ファイルやディレクトリの所有者を変更する
chownは「change owner」の略で、ファイルの所有者を変更します。
Bash
chown user sample.txt
chown user:group sample.txt権限(chmod)と所有者(chown)は別の概念です。権限が正しくても、所有者が違えばファイルは操作できません。実務では「Webサーバーがログファイルに書き込めない」といった場面で登場します。Laravelでもstorageディレクトリの所有者問題は定番のつまずきです。ただし、むやみに変更すると別のエラーを生みます。変更前にls -lで現状を確認する癖をつけましょう。
ps|現在動いているプロセスを確認する
プロセスとは、実行中のプログラムのことです。psでその一覧を確認できます。
Bash
ps
ps aux
ps aux | grep nginxps auxはシステム全体のプロセスを詳細に表示します。表示される「PID」は、プロセスを識別する番号です。全体を眺めても目的のものは探しにくいので、実務ではgrepとのパイプが定番です。上の例なら、nginxに関係するプロセスだけを抽出できます。「動いているはずのプログラムが動いているか」を確認する第一手として覚えてください。
kill|プロセスを終了する
killは、指定したPIDのプロセスに終了を指示します。
Bash
kill 1234通常のkillで終了しない場合のみ、強制終了を使います。
Bash
kill -9 1234順番が重要です。まず通常のkillで「終了してください」と頼み、ダメなら-9で強制終了します。-9は後始末の処理を飛ばすため、最終手段です。また、PIDを間違えると無関係なプログラムを止めてしまいます。psで対象をよく確認し、本番環境では管理者や担当者に相談してから実行してください。
「Permission denied」が出たときの確認手順
初心者が最初にぶつかるエラーの代表が「Permission denied(権限がありません)」です。私も駆け出しの頃、意味も分からず何度も遭遇しました。慌てず原因を確認する手順を紹介します。
Permission deniedが表示される主な原因
このエラーの原因は、おおよそ次のどれかに当てはまります。
- ファイルを読む権限がない
- ファイルを書き換える権限がない
- ディレクトリに入る権限がない
- スクリプトに実行権限が付いていない
- ファイルの所有者が別のユーザーになっている
つまり「権限」か「所有者」のどちらかに原因があります。どちらなのかを見分けるのが次のステップです。
まずls -lで権限と所有者を確認する
原因の切り分けは、この1コマンドから始まります。
Bash
ls -l sample.txt出力例を見てみましょう。
Bash
-rw-r--r-- 1 user group 120 Jul 17 10:00 sample.txt先頭の-rw-r--r--を分解します。最初の1文字はファイル種別(-はファイル、dはディレクトリ)。続く9文字は3文字ずつ「所有者」「グループ」「その他」の権限で、rが読み取り、wが書き込み、xが実行です。その後ろのuser groupが所有者と所有グループです。この読み方さえ分かれば、エラーの原因はほぼ特定できます。
chmodやchownを実行する前に原因を確認する
エラーが出たら、いきなり権限を変えるのではなく、次の手順を踏みます。
pwdで現在地を確認するls -lで対象の権限と所有者を確認する- 本当に自分が操作すべきファイルか考える
- 必要な権限だけを最小限で変更する
- 本番環境なら変更前に担当者へ確認する
「エラーを消す」のではなく「原因を直す」のが正しい対応です。この手順を守れば、権限変更で新たな問題を生むことを避けられます。
sudoを安易に付けない
sudoは、コマンドを管理者権限で実行する仕組みです。強力なぶん、エラーを黙らせるためだけに付けるのは危険です。管理者権限で作ったファイルは所有者がrootになり、今度は通常ユーザーが触れなくなります。エラーの連鎖はこうして生まれます。原因が権限なのか所有者なのかを先に確認し、それでも必要なときだけ使う。本番サーバーでは、独断でsudoを打たないことを徹底してください。
【頻度C】ネットワークやサーバー接続で使うLinuxコマンド4選
最後の4個は、サーバーやネットワークを扱う場面で使うコマンドです。AWSやレンタルサーバーに触れ始めると、一気に出番が増えます。
ping|通信先へ接続できるか確認する
pingは、指定した相手と通信できるかを確認します。
Bash
ping example.com応答が返ってくれば、相手までのネットワーク経路は生きています。「サイトにつながらないのは、ネットワークの問題か、サーバーの問題か」を切り分ける最初の一手です。実行し続けるタイプのコマンドなので、Ctrl + Cで終了します。なお、セキュリティ設定でpingに応答しないサーバーもあります。応答がない=停止中、とは限らない点は覚えておきましょう。
curl|WebサイトやAPIへリクエストを送る
curlは、URLに対してHTTPリクエストを送るコマンドです。
Bash
curl https://example.com
curl -I https://example.com1行目はWebページのHTMLを取得します。-Iを付けると、ステータスコードなどのHTTPヘッダーだけを確認できます。私はAPI開発のとき、「ブラウザを開く前にcurlで叩く」のが習慣です。ステータスが200か、500エラーが出ていないかを数秒で確認できます。Web開発を学ぶ人なら、確実に使う日が来るコマンドです。
ssh|リモートサーバーへ接続する
sshは、離れた場所にあるサーバーへ安全に接続するコマンドです。
Bash
ssh user@example.com
ssh -p 2222 user@example.comuserが接続先でのユーザー名、example.comが接続先のホスト名です。-pで接続ポートを指定できます。実際の接続では、パスワードの代わりに秘密鍵というファイルで認証するのが一般的です。初回接続時には「本当に接続しますか」という確認メッセージが表示されます。AWSやレンタルサーバーを使い始めると必ず登場するので、書式だけ先に見慣れておきましょう。
tar|ファイルをまとめて圧縮・展開する
tarは、複数のファイルを1つにまとめて圧縮・展開するコマンドです。
Bash
tar -czvf backup.tar.gz project/
tar -xzvf backup.tar.gz1行目が圧縮、2行目が展開です。オプションが呪文に見えますが、違いは1文字だけです。cがcreate(圧縮)、xがextract(展開)。最初はこの2行をコピーして使い、必要になったら他のオプションを調べれば十分です。サーバーのバックアップ取得や、配布物の展開で使う定番コマンドとして頭の片隅に置いてください。
初心者が注意したい危険なLinuxコマンド
Linuxコマンドには、一度の実行でファイルやサーバーを壊せるものがあります。怖がらせたいのではなく、危険を知っている人ほど安全に操作できるからこそ紹介します。
rm -rfは削除対象を必ず確認する
最も有名な危険コマンドが、この形です。
Bash
rm -rf ディレクトリ名-rはディレクトリの中身を再帰的に削除、-fは確認なしで強制削除を意味します。つまり「中身ごと、問答無用で消す」コマンドです。恐ろしいのは、パスや変数の指定ミスです。変数が空のままスクリプトを実行し、意図しない場所を丸ごと消した事故は実際に起きています。削除対象を確認せずにrm -rfを実行してはいけません。本記事でも、システムを破壊する具体的なパス指定はあえて掲載しません。
chmod 777をエラー解決の万能策にしない
ネット上には「777にしたら直った」という記事が多くあります。しかしchmod 777は、すべてのユーザーに読み・書き・実行を許す設定です。誰でもファイルを書き換えられる状態は、セキュリティ上の大きな穴になります。また、原因が所有者にある場合、777にしても根本解決になりません。エラーの原因をls -lで確認し、必要最小限の権限だけを設定する。この原則を守るだけで、あなたのサーバーは確実に安全になります。
kill -9は最後の手段にする
kill -9は、プロセスに後始末の猶予を与えず即座に止めます。通常の終了処理が走らないため、データの保存が完了しない可能性があります。書き込み途中のファイルが壊れることもあり得ます。手順は「まず通常のkill、待っても終了しないときだけ-9」です。強制終了は便利ですが、便利さの裏にリスクがあると覚えておいてください。
コマンドを貼り付ける前に内容を確認する
Web上で見つけたコマンドをそのまま貼り付けて実行するのは危険です。私も必ず、実行前に次の点を確認しています。
- 対象のパスやファイル名が自分の環境と合っているか
sudoやrmが含まれていないか- コマンドの意味を自分で説明できるか
意味の分からない部分があれば、--helpやmanで調べてから実行します。「理解してから実行する」を守れば、貼り付け事故のほとんどは防げます。
危険な操作を防ぐ5つの確認ルール
ここまでの内容を、実行前のルールとしてまとめます。
pwdで現在地を確認するlsで操作対象を確認する- 重要ファイルは
cpでバックアップしてから触る - 削除対象を変数任せにしない
- 本番サーバーでは独断で実行しない
私はこの5つを新人時代に叩き込まれ、今も守っています。今日から自分のルールとして採用してみてください。
Section 11Linuxコマンドを初心者が効率よく覚える方法
コマンドは眺めるだけでは身につきません。手を動かした回数だけ定着します。ここでは、私が実際に効果を感じた学習手順を紹介します。
最初は使用頻度Sの7個から練習する
20個を一度に覚えようとせず、まずは頻度Sの7個に絞ります。おすすめの順番は次の通りです。
pwdlscdcatlessmkdirrm
「現在地を知る→中身を見る→移動する」の順で、操作の世界が少しずつ広がる並びです。7個が指で打てるようになってから、頻度Aへ進みましょう。
練習用ディレクトリを作って操作する
学習専用の場所を作れば、失敗を恐れず練習できます。
Bash
mkdir linux-practice
cd linux-practice
mkdir sample
lsこの中なら、何を作って何を消しても安全です。ファイルを作成できる環境なら、cpでコピーし、mvで改名し、rmで消すまで一通り回してみましょう。「作って、確認して、消す」を10回繰り返すだけで、手が勝手に動くようになります。
安全な練習環境を使う
練習環境の候補は複数あります。自分の状況に合うものを選びましょう。
- WindowsのWSL:Windows上でLinux環境を動かせる公式機能
- Dockerコンテナ:壊してもすぐ作り直せる使い捨て環境
- Linuxの仮想マシン:本体から隔離された独立環境
- ブラウザ上のLinux学習サービス:インストール不要で始められる
WindowsユーザーならWSLが手軽です。Web開発を学んでいる人には、実務にも直結するDockerをすすめます。共通する原則は1つ、本番データが入っていない環境で練習することです。
履歴機能と補完機能を活用する
コマンドを全部手打ちする必要はありません。ターミナルには入力を助ける機能があります。
| 操作 | 役割 |
|---|---|
| 上矢印キー | 過去に実行したコマンドを表示する |
Tabキー | ファイル名やコマンドを途中まで打つと補完する |
Ctrl + C | 実行中の処理を中断する |
Ctrl + R | コマンド履歴を検索する |
clear | 画面表示を整理する |
特にTab補完は、長いファイル名の打ち間違いを防ぐ意味でも重要です。今日の練習から必ず使ってください。
分からないときはmanと--helpで調べる
実務で問われるのは暗記量ではなく、自力で調べて正しく使えることです。
Bash
grep --help
man grep私も今でも、使用頻度の低いオプションは毎回--helpで確認します。「調べ方を知っている」状態こそが、初心者からの卒業ラインです。分からないコマンドに出会ったら、まず調べる。この行動を習慣にしましょう。
目的別のチートシートを作る
学習の仕上げに、自分専用のチートシートを作るのがおすすめです。分類は本記事と同じで構いません。
- 移動・確認
- ファイル操作
- ログ調査
- 権限管理
- プロセス管理
- ネットワーク確認
自分の手で整理する過程そのものが復習になります。実務で新しいコマンドを覚えるたびに追記すれば、あなただけの武器になります。まずは今日覚えた頻度Sの7個から書き出してみてください。
Section 12Linuxコマンドに関するよくある質問
最後に、Linuxコマンドについて初心者からよく受ける質問に答えます。
LinuxコマンドとWindowsのコマンドプロンプトは何が違いますか?
どちらも文字入力でOSを操作する点は同じです。ただし、使用できるコマンドの名前や仕組みが異なります。たとえばファイル一覧は、Linuxがls、コマンドプロンプトはdirです。LinuxではBashなどの「シェル」と呼ばれる仕組みを使うのが一般的です。なお、WindowsでもWSLを導入すればLinuxコマンドをそのまま実行できます。Windowsユーザーが学習を始める障壁は、以前よりかなり低くなっています。
Linuxコマンドのオプションを覚えられません。どうすればよいですか?
すべて覚える必要はありません。私も暗記しているのは、各コマンドにつき2〜3個の頻出オプションだけです。それ以外は--helpやmanでその場で調べます。覚えるときは、-rはrecursive、-fはforceのように英単語と関連付けると定着します。「よく使うものだけ覚え、残りは調べる」で実務は十分回ります。
「Permission denied」が出たらどうすればよいですか?
まずls -lで対象ファイルの権限と所有者を確認します。次に、いま自分がどのユーザーで操作しているかを確認します。原因が分かる前にsudoやchmod 777で押し切るのは避けてください。一時的に動いても、セキュリティの穴や新たなエラーの原因になります。本番環境の場合は、自分で対処せず管理者へ確認するのが安全です。
危険なLinuxコマンドを実行しないための対策はありますか?
意味の分からないコマンドを実行しない、これが大原則です。そのうえで、実行前にpwdとlsで現在地と対象を確認します。削除や編集の前にはcpでバックアップを取りましょう。Webからコピーしたコマンドは、貼り付けた後に一度読み直してから実行します。そして練習は必ず、本番ではない安全な環境で行ってください。
Linuxコマンドを安全に練習できる環境はありますか?
あります。代表的なのはWindowsのWSL、Docker、仮想マシンの3つです。インストールに抵抗があれば、ブラウザ上で使えるLinux学習サービスもあります。どれを選ぶ場合も、本番データが入っていない環境で練習することが条件です。壊しても困らない場所でなら、試行錯誤そのものが最高の教材になります。
UbuntuとCentOSでコマンドは違いますか?
cdやlsなどの基本コマンドは、ほぼ共通で使えます。大きく異なるのはソフトウェアを導入するパッケージ管理コマンドです。Ubuntu系は主にaptを使います。CentOSやRHEL系では主にdnf、古い環境ではyumが使われます。OSのバージョンによっても細かな違いがあるため、環境が決まったら公式ドキュメントを確認しましょう。本記事の20個は、どのディストリビューションでも通用します。
Linuxコマンドは何個覚えれば実務で困りませんか?
最初は本記事の20個で十分です。私の経験でも、日常業務の大半はこの範囲で回っています。大切なのは暗記の個数ではなく、調べながら正しく使えることです。実務に入れば、担当業務に合わせて必要なコマンドが自然に増えていきます。まず20個を確実に使える状態を作り、そこから育てていきましょう。
まとめ|Linuxコマンド一覧は初心者向けの20個から覚えよう
この記事のポイントを振り返ります。Linuxコマンドはすべて暗記する必要はなく、初心者は使用頻度の高い20個から始めれば十分です。最優先はpwd、cd、lsなどの基本操作。ログ調査ではtailとgrep、そしてパイプの組み合わせが武器になります。削除や権限変更の前には、pwdとlsで対象を必ず確認してください。練習は本番ではなく、WSLやDockerなどの安全な環境で行いましょう。
知識は、手を動かした瞬間から技術に変わります。まずはターミナルを開いて、次の4行を打ってみてください。
Bash
mkdir linux-practice
cd linux-practice
pwd
ls練習用ディレクトリを作り、移動して、現在地と中身を確認する。この3操作があなたのLinux学習の第一歩です。今日、この4行から始めましょう。
