Labiteお問い合わせ
プログラミング公開日更新日

Linuxコマンド一覧|初心者がまず覚える基本20選

Linuxコマンド一覧|初心者がまず覚える基本20選

この記事でわかることsummary

  • Linux初心者が最初に覚えるべき基本コマンド20個
  • ファイル操作やログ確認など、目的別のコマンドの使い方
  • tailやgrepを組み合わせた実務的なログ調査方法
  • Permission deniedが表示されたときの対処法
  • 危険なコマンドを誤って実行しないための注意点

Linuxコマンドの一覧を開いた瞬間、その多さに圧倒されていませんか。私も学習を始めた頃、何百個も並ぶ一覧を前に固まりました。「全部覚えないと現場で通用しないのでは」と焦る気持ち、よく分かります。

結論から言うと、初心者がすべて覚える必要はありません。私はPHP/Laravelの実務でほぼ毎日サーバーを触りますが、日常的に使うコマンドは20個程度です。まずは「現在地を確認する」「移動する」「ファイルを見る」という基本から始めれば十分です。

この記事では、Linuxコマンド一覧の中から初心者が最初に覚えたい20個を厳選しました。単なる一覧ではなく、ログ調査やバックアップなど、実務でどう組み合わせるかまで解説します。

Linuxコマンドとは?初心者向けに基本を解説

まずは「そもそもLinuxコマンドとは何か」を整理します。ここが分かると、この後の一覧がぐっと理解しやすくなります。

Linuxコマンドは文字でパソコンを操作する命令

Linuxコマンドとは、文字を入力してコンピュータに指示を出す命令のことです。普段のパソコン操作では、マウスでフォルダをクリックして開きますよね。この見た目で操作する方式をGUI(グラフィカルユーザーインターフェース)と呼びます。一方、文字だけで操作する方式はCUI(キャラクタユーザーインターフェース)と呼ばれます。Webサービスが動くサーバーの多くにはマウスで操作する画面がありません。そのため、サーバーを扱うエンジニアにはコマンド操作が必須になります。私も本番サーバーのログ確認やファイル操作は、すべてコマンドで行っています。

Linuxコマンドの基本的な書き方

コマンドの書式は、基本的に次の3つの要素で構成されます。

Bash

コマンド オプション 対象

実際の例を見てみましょう。

Bash

ls -la /var/log

それぞれの意味は次の通りです。

  • ls:実行するコマンド本体。ファイル一覧を表示する
  • -la:動作を細かく指定するオプション
  • /var/log:操作対象のディレクトリ

「命令+味付け+相手」という並びだと覚えると、初めて見るコマンドも読み解けるようになります。

大文字と小文字は区別される

Linuxでは大文字と小文字が厳密に区別されますlsは動きますが、LSはコマンドとして認識されません。ファイル名も同様で、Config.phpconfig.phpは別のファイルとして扱われます。また、ファイル名の間に半角スペースがあると、別々の対象として解釈されます。全角スペースが紛れ込むとエラーの原因になるため、コマンド入力は半角で統一しましょう。

オプションはすべて暗記しなくてよい

オプションの暗記は不要です。私も実務でよく使うものだけ覚えていて、あとは毎回調べています。調べる手段はLinux自体に用意されています。

Bash

ls --help
man ls

--helpは使い方の要約を表示し、manは詳細なマニュアルを開きます。さらに、オプションは英単語と関連付けると忘れにくくなります。たとえば-rはrecursive(再帰的)、-aはall(すべて)の頭文字です。「意味とセットで覚える」を今日から意識してみてください。

Linuxコマンド一覧を初心者が丸暗記しなくてよい理由

「Linuxコマンド 一覧」で検索すると、初心者向けでも50個以上載っている記事が多くあります。しかし、上から順に暗記するのは遠回りです。その理由を説明します。

現場で頻繁に使うコマンドは限られている

Linuxコマンドは数百種類以上ありますが、使用頻度には大きな偏りがあります。私の実務でも、毎日使うのはcdlstailgrepあたりの十数個です。残りは月に数回、あるいは必要になったとき調べて使う程度です。担当する業務やOSによっても使うコマンドは変わります。だからこそ、最初は20個程度に絞って確実に使えるようにするのが効率的です。

コマンドは目的別に覚えると理解しやすい

アルファベット順の一覧より、「何をしたいか」で整理した方が記憶に残ります。本記事では次の目的別に分類しました。

  • 現在地を確認する・移動する
  • ファイルの中身を見る
  • ファイルを検索する・ログを調べる
  • ファイルをコピー・移動・削除する
  • 権限や所有者を変更する
  • プロセスやネットワークを確認する

実務では「エラーが出たからログを見たい」のように、目的が先にあります。目的からコマンドを引ける状態を目指しましょう。

単体ではなく一連の作業として覚える

コマンドは単体ではなく、流れで使うものです。たとえばエラー調査なら、私は次の順で実行します。

Bash

cd /var/log
ls
tail -f application.log

「ログのある場所へ移動し、ファイル名を確認し、ログを監視する」という一連の動きです。この流れごと体に入れると、個々のコマンドの役割も自然に理解できます。

Windowsの操作と比較すると理解しやすい

普段のマウス操作と対応させると、コマンドのイメージがつかめます。

やりたいことWindowsの操作例Linuxコマンド
現在地を確認するエクスプローラーのアドレス欄を見るpwd
フォルダを移動するフォルダをダブルクリックcd
ファイル一覧を見るフォルダを開くls
ファイルをコピーするコピー&ペーストcp
ファイルを削除するごみ箱に移動するrm
ファイルを検索するエクスプローラーで検索find

「やっていることは普段の操作と同じ」と分かれば、怖さはかなり減るはずです。

Linux初心者がまず覚える基本コマンド一覧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
ネットワークcurlURLへリクエストを送るC
リモート接続sshサーバーへ接続するC
圧縮・展開tarファイルを圧縮・展開するC

最初に覚えるのは優先度SとAの12個だけで十分です。BとCは「こういうコマンドがある」と知っておき、必要になったら戻ってきてください。まずは一覧をざっと眺めて、全体像をつかみましょう。

【頻度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のようにルートから書くのが絶対パス、いまいる場所を起点に書くのが相対パスです。迷ったら絶対パスで書くと確実です。まずはcdpwdを交互に打って、移動の感覚をつかんでみてください。

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がなくても、srccomponentsを一度に作れます。プロジェクトの雛形を作るときに重宝するオプションです。練習環境で自由に作って消せるのがディレクトリの良いところなので、どんどん試しましょう。

rm|ファイルやディレクトリを削除する

rmは「remove」の略で、ファイルを削除します。

Bash

rm sample.txt
rm -r old-directory

ディレクトリごと削除するには-rが必要です。ここで重要な注意があります。Linuxのrmにはごみ箱がなく、削除したファイルの復元は困難です。Windowsの感覚で気軽に消すと、取り返しがつきません。実行前にpwdで現在地を、lsで削除対象を確認する。この2ステップを毎回の儀式にしてください。

【頻度A】ファイル操作とログ確認で使うLinuxコマンド5選

次は、開発現場での調査や作業に欠かせない5個です。特にgreptailは、エラー対応のたびに使うことになります。

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行からエラーを探す

巨大なログ全体を検索すると、古いエラーまで大量に出てしまいます。そこでtailgrepをつなげます。

Bash

tail -n 100 application.log | grep "ERROR"

この縦棒|は「パイプ」と呼ばれ、左のコマンドの実行結果を右のコマンドに渡す仕組みです。上の例では「末尾100行を取り出し、その中からERRORを含む行だけ表示」となります。パイプを覚えると、コマンドが部品のように組み合わせられるようになります。Linuxが一気に面白くなる瞬間なので、ぜひ体験してください。

リアルタイムで流れるログからエラーを確認する

「今まさに起きているエラー」を捕まえるには、-fとパイプを組み合わせます。

Bash

tail -f application.log | grep "ERROR"

実務での流れは次の通りです。

  1. ブラウザでエラーが出る操作を再現する
  2. tail -fでログを監視しておく
  3. grepでエラー行だけが画面に流れる
  4. 原因を確認したら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 nginx

ps 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を実行する前に原因を確認する

エラーが出たら、いきなり権限を変えるのではなく、次の手順を踏みます。

  1. pwdで現在地を確認する
  2. ls -lで対象の権限と所有者を確認する
  3. 本当に自分が操作すべきファイルか考える
  4. 必要な権限だけを最小限で変更する
  5. 本番環境なら変更前に担当者へ確認する

「エラーを消す」のではなく「原因を直す」のが正しい対応です。この手順を守れば、権限変更で新たな問題を生むことを避けられます。

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.com

1行目はWebページのHTMLを取得します。-Iを付けると、ステータスコードなどのHTTPヘッダーだけを確認できます。私はAPI開発のとき、「ブラウザを開く前にcurlで叩く」のが習慣です。ステータスが200か、500エラーが出ていないかを数秒で確認できます。Web開発を学ぶ人なら、確実に使う日が来るコマンドです。

ssh|リモートサーバーへ接続する

sshは、離れた場所にあるサーバーへ安全に接続するコマンドです。

Bash

ssh user@example.com
ssh -p 2222 user@example.com

userが接続先でのユーザー名、example.comが接続先のホスト名です。-pで接続ポートを指定できます。実際の接続では、パスワードの代わりに秘密鍵というファイルで認証するのが一般的です。初回接続時には「本当に接続しますか」という確認メッセージが表示されます。AWSやレンタルサーバーを使い始めると必ず登場するので、書式だけ先に見慣れておきましょう。

tar|ファイルをまとめて圧縮・展開する

tarは、複数のファイルを1つにまとめて圧縮・展開するコマンドです。

Bash

tar -czvf backup.tar.gz project/
tar -xzvf backup.tar.gz

1行目が圧縮、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上で見つけたコマンドをそのまま貼り付けて実行するのは危険です。私も必ず、実行前に次の点を確認しています。

  • 対象のパスやファイル名が自分の環境と合っているか
  • sudormが含まれていないか
  • コマンドの意味を自分で説明できるか

意味の分からない部分があれば、--helpmanで調べてから実行します。「理解してから実行する」を守れば、貼り付け事故のほとんどは防げます。

危険な操作を防ぐ5つの確認ルール

ここまでの内容を、実行前のルールとしてまとめます。

  1. pwdで現在地を確認する
  2. lsで操作対象を確認する
  3. 重要ファイルはcpでバックアップしてから触る
  4. 削除対象を変数任せにしない
  5. 本番サーバーでは独断で実行しない

私はこの5つを新人時代に叩き込まれ、今も守っています。今日から自分のルールとして採用してみてください。

Linuxコマンドを初心者が効率よく覚える方法

コマンドは眺めるだけでは身につきません。手を動かした回数だけ定着します。ここでは、私が実際に効果を感じた学習手順を紹介します。

最初は使用頻度Sの7個から練習する

20個を一度に覚えようとせず、まずは頻度Sの7個に絞ります。おすすめの順番は次の通りです。

  1. pwd
  2. ls
  3. cd
  4. cat
  5. less
  6. mkdir
  7. rm

「現在地を知る→中身を見る→移動する」の順で、操作の世界が少しずつ広がる並びです。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個から書き出してみてください。

Linuxコマンドに関するよくある質問

最後に、Linuxコマンドについて初心者からよく受ける質問に答えます。

LinuxコマンドとWindowsのコマンドプロンプトは何が違いますか?

どちらも文字入力でOSを操作する点は同じです。ただし、使用できるコマンドの名前や仕組みが異なります。たとえばファイル一覧は、Linuxがls、コマンドプロンプトはdirです。LinuxではBashなどの「シェル」と呼ばれる仕組みを使うのが一般的です。なお、WindowsでもWSLを導入すればLinuxコマンドをそのまま実行できます。Windowsユーザーが学習を始める障壁は、以前よりかなり低くなっています。

Linuxコマンドのオプションを覚えられません。どうすればよいですか?

すべて覚える必要はありません。私も暗記しているのは、各コマンドにつき2〜3個の頻出オプションだけです。それ以外は--helpmanでその場で調べます。覚えるときは、-rはrecursive、-fはforceのように英単語と関連付けると定着します。「よく使うものだけ覚え、残りは調べる」で実務は十分回ります。

「Permission denied」が出たらどうすればよいですか?

まずls -lで対象ファイルの権限と所有者を確認します。次に、いま自分がどのユーザーで操作しているかを確認します。原因が分かる前にsudochmod 777で押し切るのは避けてください。一時的に動いても、セキュリティの穴や新たなエラーの原因になります。本番環境の場合は、自分で対処せず管理者へ確認するのが安全です。

危険なLinuxコマンドを実行しないための対策はありますか?

意味の分からないコマンドを実行しない、これが大原則です。そのうえで、実行前にpwdlsで現在地と対象を確認します。削除や編集の前にはcpでバックアップを取りましょう。Webからコピーしたコマンドは、貼り付けた後に一度読み直してから実行します。そして練習は必ず、本番ではない安全な環境で行ってください。

Linuxコマンドを安全に練習できる環境はありますか?

あります。代表的なのはWindowsのWSL、Docker、仮想マシンの3つです。インストールに抵抗があれば、ブラウザ上で使えるLinux学習サービスもあります。どれを選ぶ場合も、本番データが入っていない環境で練習することが条件です。壊しても困らない場所でなら、試行錯誤そのものが最高の教材になります。

UbuntuとCentOSでコマンドは違いますか?

cdlsなどの基本コマンドは、ほぼ共通で使えます。大きく異なるのはソフトウェアを導入するパッケージ管理コマンドです。Ubuntu系は主にaptを使います。CentOSやRHEL系では主にdnf、古い環境ではyumが使われます。OSのバージョンによっても細かな違いがあるため、環境が決まったら公式ドキュメントを確認しましょう。本記事の20個は、どのディストリビューションでも通用します。

Linuxコマンドは何個覚えれば実務で困りませんか?

最初は本記事の20個で十分です。私の経験でも、日常業務の大半はこの範囲で回っています。大切なのは暗記の個数ではなく、調べながら正しく使えることです。実務に入れば、担当業務に合わせて必要なコマンドが自然に増えていきます。まず20個を確実に使える状態を作り、そこから育てていきましょう。

こちらもチェックGitは転職にどこまで必要?評価されるGitHubの整え方Gitは転職にどこまで必要?評価されるGitHubの整え方

まとめ|Linuxコマンド一覧は初心者向けの20個から覚えよう

この記事のポイントを振り返ります。Linuxコマンドはすべて暗記する必要はなく、初心者は使用頻度の高い20個から始めれば十分です。最優先はpwdcdlsなどの基本操作。ログ調査ではtailgrep、そしてパイプの組み合わせが武器になります。削除や権限変更の前には、pwdlsで対象を必ず確認してください。練習は本番ではなく、WSLやDockerなどの安全な環境で行いましょう。

知識は、手を動かした瞬間から技術に変わります。まずはターミナルを開いて、次の4行を打ってみてください。

Bash

mkdir linux-practice
cd linux-practice
pwd
ls

練習用ディレクトリを作り、移動して、現在地と中身を確認する。この3操作があなたのLinux学習の第一歩です。今日、この4行から始めましょう。

Labite運営者 しゅう

しゅう

Webエンジニア | Labite運営者

未経験からWebエンジニアになり、PHP・Laravel・JavaScriptを用いた実務経験をもとに、学習・開発・キャリア情報を発信しています。

プロフィールを見る
ゴール
0%
読書の進み具合