Linuxコマンド入門|エンジニアが最初に覚えるべき基本コマンド30選【2026年版】

Linuxコマンド入門2026年版。ls・cd・grep・chmod・Git・Dockerで使うコマンド30選を実務フリーランスエンジニアがコードで解説。ターミナル未経験者が最初に覚えるべき基礎知識をわかりやすく説明します。

Linuxコマンドラインターミナルシェル初心者エンジニア

※当サイトはアフィリエイトプログラムに参加しています。記事内のリンクから商品を購入すると、当サイトに報酬が支払われることがあります。詳しくはプライバシーポリシーをご覧ください。

「ターミナルって黒い画面で何かするやつでしょ? エンジニアっぽい雰囲気はわかるけど、自分には無縁かな」

正直、当時の僕もそう思っていました。HTMLとCSSでWebページを作るのはGUIで完結するし、Linuxコマンドなんて覚えなくていいかなと。

でも、エンジニアとして働き始めて1週間で気づきました。ターミナルを使えないと、実務でほぼ何もできないと。

Gitの操作も、npmコマンドも、サーバーへのデプロイも、Dockerの操作も、すべてターミナルが前提になっています。プログラミング的に言うと、ターミナルはエンジニアの「共通言語」です。これを知らないのは、外国に住んでいるのに現地語を一切しゃべれないのと同じ状況でした。

この記事では、僕が実務でよく使うLinuxコマンドを厳選して紹介します。全部暗記する必要はありません。「こういうことができる」と知っているだけで、調べながらでも作業できます。


ターミナルのイメージ

なぜLinuxコマンドを覚えるべきか

エンジニアの作業環境

Webエンジニアの開発環境は、多くの場合こういう構成です:

ローカル(Mac / Windows + WSL)
  └─ ターミナルで作業
       ├─ Git操作
       ├─ npm / yarn(パッケージ管理)
       ├─ サーバー起動(node server.js, python manage.py runserver)
       └─ ファイル操作

本番環境(Linux サーバー / クラウド)
  └─ SSHでサーバーに接続してコマンドで操作

MacはUnix系なのでLinuxコマンドがそのまま使えます。WindowsもWSL(Windows Subsystem for Linux)を使えば同様です。DockerもLinux環境で動くので、コンテナの操作にも必要になります。

端的に言えば、**Linuxコマンドはエンジニアの「箸の持ち方」**です。これを知らないでエンジニアをやるのは、箸を使わずに日本料理を食べるようなものです。


基本コマンド:ファイル・ディレクトリ操作

現在地の確認と移動

# 現在いるディレクトリを表示(Print Working Directory)
pwd
# 例: /home/souma/projects

# ディレクトリを移動(Change Directory)
cd /home/souma/projects  # 絶対パスで移動
cd projects              # 相対パスで移動
cd ..                    # 1つ上のディレクトリへ
cd ~                     # ホームディレクトリへ
cd -                     # 直前のディレクトリへ(便利!)

cd -は地味に便利です。2つのディレクトリを行き来する作業のとき、毎回パスを打たなくて済みます。

ファイル・ディレクトリの一覧表示

# ファイル一覧を表示(List)
ls

# 詳細表示(パーミッション・サイズ・更新日時)
ls -l

# 隠しファイル(.で始まるファイル)も表示
ls -a

# よく使う組み合わせ
ls -la

# 人間が読みやすいサイズ表示(KB/MB単位)
ls -lh

実務ではls -laをよく使います。隠しファイル(.gitignore.envなど)も確認できるので。

ファイル・ディレクトリの作成

# ファイルを作成(タイムスタンプを更新 / 空ファイル作成)
touch index.html
touch style.css script.js  # 複数同時

# ディレクトリを作成(Make Directory)
mkdir components
mkdir -p src/components/ui  # 中間ディレクトリも一緒に作成

mkdir -pは深い階層を一気に作れるので、プロジェクト初期セットアップで活躍します。

ファイルのコピー・移動・削除

# コピー(Copy)
cp index.html backup.html
cp -r src/ backup_src/   # ディレクトリをコピー(-r は再帰的)

# 移動・リネーム(Move)
mv old_name.html new_name.html  # リネーム
mv file.html /path/to/dir/      # 別ディレクトリへ移動

# 削除(Remove)
rm file.html
rm -r old_directory/    # ディレクトリごと削除

ここがポイントなんですが、Linuxのrmコマンドにはゴミ箱がありません。削除したら即消えます。rm -rf /(ルートディレクトリを強制再帰削除)は最悪の事故になるので、絶対に気をつけてください。


ファイルの内容を確認する

# ファイルの内容を全部表示(Concatenate)
cat package.json

# 先頭だけ表示(Head)
head -n 20 error.log  # 最初の20行

# 末尾だけ表示(Tail)
tail -n 50 error.log  # 最後の50行

# リアルタイムでログを見る(サーバー運用でよく使う)
tail -f access.log

# スクロールしながら読む
less error.log  # スペースで次ページ、qで終了

tail -fはサーバーのログを監視するときに非常に便利です。デプロイ後のエラー確認や、バックグラウンド処理の進捗確認に使います。


コードを書くエンジニアのイメージ

検索・フィルタリング

grepでテキスト検索

# ファイル内でキーワードを検索
grep "error" access.log

# 大文字小文字を区別しない
grep -i "Error" access.log

# 行番号を表示
grep -n "TODO" src/index.js

# 再帰的に検索(ディレクトリ内の全ファイル)
grep -r "useState" src/

# マッチしない行を表示(exclude)
grep -v "DEBUG" error.log

実務でよく使うのはgrep -rです。「このプロジェクトのどこかにAPI_KEYという文字列があるはず」というときに一発で探せます。

findでファイルを探す

# ファイル名で検索
find . -name "*.js"

# ディレクトリのみ検索
find . -type d -name "components"

# 更新日時で検索(7日以内に変更されたファイル)
find . -mtime -7

# 特定サイズ以上のファイル
find . -size +10M

プロセス管理

# 実行中のプロセス一覧
ps aux

# プロセスを名前で検索
ps aux | grep node

# プロセスを強制終了
kill 1234        # PIDを指定
kill -9 1234     # 強制終了(-9 = SIGKILL)

# 対話的なプロセスモニター(qで終了)
top
htop  # topの見やすい版(別途インストール必要)

kill -9は「問答無用で殺す」コマンドです。ポートが占有されて開発サーバーが起動できないときなどに使います。

# 特定ポートを使っているプロセスを確認して終了
lsof -i :3000      # 3000番ポートを使っているプロセス確認
kill -9 $(lsof -t -i :3000)  # 3000番ポートを使うプロセスを終了

ターミナルからデータベース操作を行う場面も多いです。MySQLやPostgreSQLのCLIクライアントもコマンドラインから起動します。SQL・データベース入門も参考にしてください。


ネットワーク・通信

# URLにリクエストを送る(curl)
curl https://api.example.com/users

# POSTリクエスト
curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name": "souma"}'

# ファイルをダウンロード
curl -O https://example.com/file.zip
wget https://example.com/file.zip  # wgetでも可

# SSHでサーバーに接続
ssh user@192.168.1.1
ssh -i ~/.ssh/id_rsa user@server.example.com  # 秘密鍵指定

curlはREST APIのテストによく使います。APIの動作確認を手軽にできるので、開発中に重宝します。


パーミッション(権限)

# ファイルの権限を変更(Change Mode)
chmod 755 script.sh   # 数字で指定
chmod +x script.sh    # 実行権限を追加
chmod -w file.txt     # 書き込み権限を削除

# 所有者を変更(Change Owner)
chown user:group file.txt
chown -R user:group directory/  # 再帰的に

パーミッションの読み方

-rwxr-xr-x
 ↑↑↑↑↑↑↑↑↑
 │└───┘└───┘└───┘
 │ │     │     └── その他のユーザーの権限
 │ │     └──────── グループの権限
 │ └────────────── 所有者の権限
 └──────────────── ファイルタイプ(-:ファイル, d:ディレクトリ)

r = 読み取り(4)
w = 書き込み(2)
x = 実行  (1)

755 = rwx(4+2+1) r-x(4+0+1) r-x(4+0+1)

シェルスクリプトを作ったらまずchmod +x script.shで実行権限を付与する、というのが基本の流れです。


パイプとリダイレクト

Linuxの真価は、コマンドを組み合わせて使える点にあります。

# パイプ(|):前のコマンドの出力を次のコマンドの入力に渡す
ls -la | grep ".js"           # .jsファイルだけ表示
ps aux | grep node | grep -v grep  # nodeプロセスを探す
cat access.log | sort | uniq -c | sort -rn  # アクセス頻度の集計

# リダイレクト(>):出力をファイルに保存
echo "Hello, World" > output.txt    # 上書き
echo "追記行" >> output.txt         # 追記

# エラー出力をファイルに保存
command 2> error.log
command > output.log 2>&1  # 標準出力とエラーを同じファイルへ

パイプは「コマンドという道具を組み合わせて、より複雑な処理をする」Linuxの哲学そのものです。

ターミナル操作ができると、Pythonスクリプトの実行も簡単です。Python入門ガイドと組み合わせると、サーバー上での自動化が学べます。


よく使うショートカット

Ctrl + C    # 実行中のプロセスを中断
Ctrl + Z    # バックグラウンドに送る(fg で戻る)
Ctrl + D    # ターミナル/セッションを終了
Ctrl + L    # 画面をクリア(clear と同じ)
Ctrl + R    # コマンド履歴をインクリメンタル検索
Tab         # コマンド・パスを補完(強力!)
↑↓キー      # コマンド履歴を遡る
history     # コマンド履歴を表示
!!          # 直前のコマンドを再実行
sudo !!     # 直前のコマンドをsudoで再実行

Tab補完は絶対に使ってください。コマンドのスペルミスが減り、長いパス入力が楽になります。


まとめ:最初に覚えるべき10コマンド

全部いきなり覚えようとすると挫折します。まずはこの10個から:

1.  pwd      → 今どこにいるか確認
2.  ls -la   → ファイル一覧を確認
3.  cd       → ディレクトリ移動
4.  mkdir    → ディレクトリ作成
5.  touch    → ファイル作成
6.  cat      → ファイル内容を表示
7.  cp / mv  → コピー・移動
8.  rm       → 削除(慎重に)
9.  grep     → テキスト検索
10. Tab補完  → 入力補完(超重要)

大事なのは実際に使いながら覚えることです。コマンドは手を動かして初めて身につきます。

エンジニアへの転職を考えているなら、Linuxコマンドは必須スキルです。他にも覚えるべきスキルはエンジニア転職ロードマップの記事をご覧ください。

GitとGitHubの操作もコマンドラインで行うことが多いです。詳しくはGit・GitHub入門の記事も参考にどうぞ。

AWSのサーバー操作もLinuxコマンドが基本です。AWS入門完全ガイド2026と合わせて学ぶと理解が深まります。

まずは今日、ターミナルを開いてls -laを打ってみてください。そこから始まります。


Linuxの実務的な使い方を体系的に学びたい場合は、プログラミングスクールの活用も一つの選択肢です。独学では気づきにくい「プロの作業スタイル」を早期に身につけられます。プログラミングスクール比較記事も参考にしてみてください。

ターミナル操作に慣れてきたら、Docker入門の記事でコンテナ技術にも触れてみてください。実務ではDockerコンテナの中でLinuxコマンドを使う場面が非常に多いです。

また、Node.jsの入門記事でサーバーサイドの開発に踏み込むときも、ターミナル操作は必須です。


よくある質問

Q: WindowsでもLinuxコマンドを練習できますか?

A: できます。WSL(Windows Subsystem for Linux)を使えば、Windows上でLinux環境を動かせます。インストールはMicrosoft公式ドキュメントの手順に従うのが確実です。エンジニアを目指すなら、WSLのセットアップは早めにやっておくことをおすすめします。

Q: MacのターミナルとLinuxのターミナルは同じコマンドが使えますか?

A: 基本的なコマンド(ls, cd, mkdir, grep, find など)はほぼ同じように使えます。MacはUnix系OSなので、Linuxとの互換性が高いです。ただしコマンドのオプションが微妙に違う場合があるので(特にsedやdate)、本番のLinuxサーバーと挙動が違うことに気づいたら調べてみてください。

Q: Linuxコマンドを学ぶのにおすすめの練習方法は?

A: 一番効果的なのは「実際に手を動かすこと」です。Progateの「Linux」コースで基礎を学んだ後、自分のポートフォリオのデプロイ作業でターミナルを使うのがおすすめです。また、GitはLinuxコマンドと組み合わせて使うことが多いため、Git・GitHub入門と並行して学ぶと相乗効果があります。

Q: sudo rm -rf / は本当に危険ですか?

A: 非常に危険です。ルートディレクトリ以下の全ファイルを強制再帰削除するコマンドで、実行するとシステムが壊れます。現代のLinuxディストリビューションにはこのコマンドに対する保護機能がありますが、本文でも書いた通り「rmコマンドにゴミ箱はない」というLinuxの鉄則は常に意識してください。


【2026年4月追記】GitHub ActionsでLinuxコマンドをフル活用

この記事を書いた後、GitHub Actionsの入門記事を書きました。

GitHub Actionsのyamlファイルの中では、run: でLinuxコマンドを直接書きます。記事で紹介したgrep、find、chmod などが全部そのまま使えます。「Linuxコマンドを学ぶ → GitHub Actionsで自動化する」という流れは、独学エンジニアにとって一番効率的なスキルアップルートの一つだと思います。


【2026年5月追記】2026年現在、クラウド環境(AWS EC2・GCP・Azure)での開発がさらに普及しており、Linuxコマンドの重要性は増すばかりです。特にsystemctl(サービス管理)、journalctl(ログ確認)、crontab(定期実行)はクラウド環境でも頻繁に使うコマンドです。また、VS CodeのRemote SSH拡張機能を使うと、Linuxサーバー上のコードをローカルのエディタで編集できるようになり、作業効率が大幅に上がります。基本コマンドをマスターしたら、クラウド環境でも試してみてください。


あわせて読みたい

【買い切り型】Colosoでプロから学ぶ

業界トップの講師によるオンライン講座。買い切り型で何度でも復習可能。受講期限なし。

講座一覧を見る →