※本ページにはプロモーション(広告)が含まれています
「Linuxのコマンドって難しそう…」「ターミナルを開いたけど何を打てばいいかわからない」――そんな悩みを抱えていませんか?
実は、Linuxコマンドは基本の20〜30個を覚えるだけで、日常的な操作のほとんどをカバーできます。サーバー管理、プログラミング、データ分析など、あらゆるIT分野で必須となるLinuxコマンドを、この記事では初心者でも迷わないよう、実行例付きで丁寧に解説します。
2026年現在、クラウドサービス(AWS・GCP・Azure)の普及により、Linuxコマンドの需要はますます高まっています。エンジニアだけでなく、Webデザイナーやデータサイエンティスト、さらには一般のビジネスパーソンにとっても、基本的なコマンド操作を知っておくことは大きなアドバンテージになります。
この記事でわかること
- ターミナル(端末)の基本的な使い方と仕組み
- ファイルやディレクトリを操作するコマンド(ls, cd, cp, mv, rm, mkdirなど)
- テキストの検索・加工・集計を行うコマンド(cat, grep, sed, awk, sort, wcなど)
- システムの状態を確認・管理するコマンド(ps, top, kill, df, du, freeなど)
- パッケージ管理の基本(apt, yum/dnf)
- パイプとリダイレクトを使った効率的なコマンド連携
- 権限管理の基礎(chmod, chown)
- ネットワーク関連の基本コマンド

ターミナル(端末)の基本を理解しよう
ターミナルとは?
ターミナル(端末)とは、キーボードからテキストでコンピュータに命令を出すためのツールです。Windows の「コマンドプロンプト」や「PowerShell」に相当するもので、Linux ではこのターミナルが操作の中心となります。
マウスでアイコンをクリックする操作(GUI)と違い、コマンドを入力する操作(CUI / CLI)は、一見とっつきにくく感じるかもしれません。しかし、慣れるとGUI よりも圧倒的に速く、正確に、大量の操作を実行できるようになります。
ターミナルの開き方
| OS | ターミナルの開き方 |
|---|---|
| Ubuntu / Debian | Ctrl + Alt + T、またはアプリ一覧から「端末」を選択 |
| CentOS / Fedora | アプリケーション → システムツール → 端末 |
| macOS | Launchpad → その他 → ターミナル、またはSpotlightで「ターミナル」と検索 |
| Windows(WSL) | スタートメニュー → Ubuntu(WSLインストール後) |
コマンドの基本構文
Linuxコマンドは、以下の形式で入力します。
コマンド名 [オプション] [引数]
例えば、ファイルの一覧を詳細表示するには次のように入力します。
ls -la /home/user
- ls → コマンド名(ファイル一覧を表示)
- -la → オプション(-l: 詳細表示、-a: 隠しファイルも表示)
- /home/user → 引数(対象のディレクトリ)
知っておきたいキーボードショートカット
| ショートカット | 動作 |
|---|---|
| Tab | コマンドやファイル名の自動補完(非常に便利!) |
| ↑ / ↓ | コマンド履歴の呼び出し |
| Ctrl + C | 実行中のコマンドを強制終了 |
| Ctrl + L | 画面をクリア(clearコマンドと同じ) |
| Ctrl + A | カーソルを行頭に移動 |
| Ctrl + E | カーソルを行末に移動 |
| Ctrl + R | コマンド履歴を検索 |
| Ctrl + D | ターミナルを終了(exitと同じ) |
ファイル・ディレクトリ操作コマンド
Linuxを使ううえで最も頻繁に使うのが、ファイルやディレクトリ(フォルダ)を操作するコマンドです。ここでは基本的なコマンドを一つずつ、実行例付きで解説します。
ls:ファイル一覧を表示する
lsは「list」の略で、現在のディレクトリにあるファイルやフォルダを一覧表示するコマンドです。最も頻繁に使うコマンドの一つです。
# 基本的な使い方
ls
# 詳細情報を表示(パーミッション、サイズ、更新日時など)
ls -l
# 隠しファイルも含めて表示
ls -a
# 詳細+隠しファイル(最もよく使う組み合わせ)
ls -la
# ファイルサイズを人間が読みやすい形式で表示(KB, MB, GB)
ls -lh
# ファイルを更新日時の新しい順に並べる
ls -lt
| オプション | 意味 | 用途 |
|---|---|---|
| -l | 長い形式で表示 | パーミッション、所有者、サイズ、日時を確認 |
| -a | 全ファイル表示 | .bashrcなどの隠しファイルも表示 |
| -h | サイズを読みやすく | 1048576 → 1.0M のように表示 |
| -t | 更新日時順 | 最近変更されたファイルを素早く確認 |
| -r | 逆順 | -tと組み合わせて古い順に表示 |
| -R | 再帰的に表示 | サブディレクトリの中身も含めて表示 |
cd:ディレクトリを移動する
cdは「change directory」の略で、作業ディレクトリ(現在地)を変更するコマンドです。
# ホームディレクトリに戻る
cd ~
cd # 引数なしでもホームに戻る
# 指定のディレクトリに移動
cd /var/log
# 一つ上のディレクトリに移動
cd ..
# 二つ上のディレクトリに移動
cd ../..
# 直前にいたディレクトリに戻る
cd -
ヒント: パスの途中まで入力してTabキーを押すと、自動補完されます。長いディレクトリ名を入力する際は必ず活用しましょう。
pwd:現在のディレクトリを確認する
pwdは「print working directory」の略で、今自分がどのディレクトリにいるかを表示します。
pwd
# 出力例: /home/user/documents
「今どこにいるかわからなくなった」ときに使う基本コマンドです。
mkdir:ディレクトリを作成する
mkdirは「make directory」の略で、新しいディレクトリ(フォルダ)を作成します。
# ディレクトリを作成
mkdir myproject
# 親ディレクトリも含めて一気に作成(-p オプション)
mkdir -p projects/2026/january
# 複数のディレクトリを同時に作成
mkdir dir1 dir2 dir3
-pオプションは非常に便利です。通常、親ディレクトリが存在しないとエラーになりますが、-pを付けると途中の階層も含めて自動的に作成してくれます。
cp:ファイルをコピーする
cpは「copy」の略で、ファイルやディレクトリをコピーします。
# ファイルをコピー
cp original.txt backup.txt
# 別のディレクトリにコピー
cp report.pdf /home/user/backup/
# ディレクトリごとコピー(-r: 再帰的にコピー)
cp -r myproject myproject_backup
# コピー前に上書き確認をする(-i: interactive)
cp -i important.txt /backup/
# 属性(パーミッション、タイムスタンプ)を保持してコピー
cp -p original.txt backup.txt
| オプション | 意味 |
|---|---|
| -r | ディレクトリを再帰的にコピー(ディレクトリコピー時は必須) |
| -i | 上書き前に確認を求める(誤操作防止) |
| -p | 元ファイルの属性を保持してコピー |
| -v | コピーの経過を表示(verbose) |
mv:ファイルを移動・リネームする
mvは「move」の略で、ファイルの移動やファイル名の変更に使います。
# ファイルを別のディレクトリに移動
mv report.txt /home/user/documents/
# ファイル名を変更(リネーム)
mv old_name.txt new_name.txt
# ディレクトリを移動
mv myproject /home/user/work/
# 上書き前に確認
mv -i important.txt /backup/
注意: mvは移動先に同名ファイルがある場合、確認なしに上書きします。大切なファイルを扱うときは-iオプションを付けましょう。
rm:ファイルを削除する
rmは「remove」の略で、ファイルやディレクトリを削除します。ゴミ箱には入らず完全に削除されるため、慎重に使用してください。
# ファイルを削除
rm unwanted.txt
# 削除前に確認(推奨)
rm -i important.txt
# ディレクトリを中身ごと削除
rm -r old_directory
# 空のディレクトリを削除(rmdirでも可)
rmdir empty_directory
警告: rm -rf / のようなコマンドは絶対に実行しないでください。システム全体のファイルが削除され、復旧不可能になります。rmを使うときは、削除対象を必ず確認してから実行しましょう。

chmod:ファイルの権限を変更する
chmodは「change mode」の略で、ファイルやディレクトリのアクセス権限(パーミッション)を変更します。
パーミッションの読み方
ls -l で表示されるパーミッションは、以下の意味を持ちます。
-rwxr-xr--
│└┬┘└┬┘└┬┘
│ │ │ └── その他のユーザー(r: 読み取りのみ)
│ │ └───── グループ(r-x: 読み取り+実行)
│ └──────── 所有者(rwx: 読み取り+書き込み+実行)
└────────── ファイルタイプ(-: 通常ファイル、d: ディレクトリ)
| 記号 | 意味 | 数値 |
|---|---|---|
| r | 読み取り(read) | 4 |
| w | 書き込み(write) | 2 |
| x | 実行(execute) | 1 |
| – | 権限なし | 0 |
# 所有者に実行権限を追加
chmod u+x script.sh
# 数値で指定(所有者:rwx、グループ:r-x、その他:r--)
chmod 754 script.sh
# 全ユーザーに読み取り権限を付与
chmod a+r document.txt
# ディレクトリ以下を再帰的に変更
chmod -R 755 /var/www/html
| 数値 | 権限 | 主な用途 |
|---|---|---|
| 755 | rwxr-xr-x | 実行ファイル、ディレクトリ |
| 644 | rw-r–r– | 通常のファイル(HTMLやテキスト) |
| 600 | rw——- | 秘密鍵やパスワードファイル |
| 700 | rwx—— | 個人用スクリプト |
| 777 | rwxrwxrwx | 全員にフルアクセス(非推奨) |
chown:ファイルの所有者を変更する
chownは「change owner」の略で、ファイルやディレクトリの所有者やグループを変更します。通常、管理者権限(sudo)が必要です。
# 所有者を変更
sudo chown newuser myfile.txt
# 所有者とグループを同時に変更
sudo chown newuser:newgroup myfile.txt
# ディレクトリ以下を再帰的に変更
sudo chown -R www-data:www-data /var/www/html
find:ファイルを検索する
findコマンドは、条件を指定してファイルやディレクトリを検索する強力なコマンドです。
# 名前で検索
find /home -name "*.txt"
# 大文字小文字を区別しない検索
find / -iname "readme*"
# 過去7日以内に変更されたファイルを検索
find /var/log -mtime -7
# サイズが100MB以上のファイルを検索
find / -size +100M
# 特定のタイプのみ検索(f: ファイル、d: ディレクトリ)
find /home -type f -name "*.log"
テキスト処理コマンド
Linuxの真骨頂とも言えるのが、テキストを操作するコマンド群です。ログ解析やデータ処理に欠かせないツールを紹介します。
cat:ファイルの内容を表示する
catは「concatenate(連結)」の略で、ファイルの内容を画面に表示するコマンドです。
# ファイルの内容を表示
cat readme.txt
# 行番号付きで表示
cat -n readme.txt
# 複数ファイルを結合して表示
cat file1.txt file2.txt
# 複数ファイルを結合して新しいファイルに保存
cat file1.txt file2.txt > combined.txt
補足: 大きなファイルを表示する場合は、lessコマンドの方が便利です。lessはページ単位でスクロール表示でき、qで終了します。
# ページ単位で表示(スペースで次ページ、bで前ページ、qで終了)
less /var/log/syslog
# ファイルの先頭10行だけ表示
head -n 10 largefile.txt
# ファイルの末尾10行だけ表示
tail -n 10 largefile.txt
# リアルタイムでファイルの追記を監視(ログ監視に最適)
tail -f /var/log/syslog
grep:テキストを検索する
grepはファイルの中から指定したパターンに一致する行を検索する、非常に強力なコマンドです。
# 特定の文字列を含む行を検索
grep "error" /var/log/syslog
# 大文字小文字を区別しない(-i)
grep -i "warning" logfile.txt
# 一致する行の行番号を表示(-n)
grep -n "TODO" source_code.py
# 再帰的にディレクトリ内を検索(-r)
grep -r "config" /etc/
# 一致しない行を表示(-v: 除外フィルタ)
grep -v "DEBUG" application.log
# 一致するファイル名だけ表示(-l)
grep -rl "password" /etc/
# 正規表現を使った検索(-E: 拡張正規表現)
grep -E "[0-9]{3}-[0-9]{4}" contacts.txt
| オプション | 意味 | 使用例 |
|---|---|---|
| -i | 大文字小文字を区別しない | grep -i “error” log.txt |
| -n | 行番号を表示 | grep -n “TODO” code.py |
| -r | 再帰的に検索 | grep -r “config” /etc/ |
| -v | 一致しない行を表示 | grep -v “DEBUG” app.log |
| -c | 一致した行数を表示 | grep -c “error” log.txt |
| -l | 一致したファイル名を表示 | grep -rl “TODO” src/ |
| -E | 拡張正規表現を使用 | grep -E “^[0-9]+” data.txt |
sed:テキストを置換・編集する
sedは「stream editor」の略で、ファイル内のテキストを検索・置換・削除できるコマンドです。
# 文字列を置換(最初の一致のみ)
sed 's/old/new/' file.txt
# 全ての一致を置換(gフラグ)
sed 's/old/new/g' file.txt
# ファイルを直接書き換え(-i オプション)
sed -i 's/old/new/g' file.txt
# 特定の行を削除(3行目を削除)
sed '3d' file.txt
# 空行を削除
sed '/^$/d' file.txt
# 特定の行だけ表示(5行目から10行目)
sed -n '5,10p' file.txt
awk:テキストをカラム処理する
awkはテキストをカラム(列)単位で処理する強力なコマンドです。CSV やログファイルの解析に特に威力を発揮します。
# 特定のカラムを表示(スペース区切りの2番目のカラム)
awk '{print $2}' file.txt
# カンマ区切り(CSV)の場合
awk -F',' '{print $1, $3}' data.csv
# 条件に一致する行だけ処理
awk '$3 > 100 {print $1, $3}' sales.txt
# カラムの合計を計算
awk '{sum += $1} END {print "合計:", sum}' numbers.txt
# 行番号付きで表示
awk '{print NR, $0}' file.txt
sort:行を並べ替える
# アルファベット順にソート
sort names.txt
# 数値としてソート(-n)
sort -n scores.txt
# 逆順にソート(-r)
sort -r names.txt
# 特定のカラムでソート(-k: 3番目のカラム)
sort -k3 -n data.txt
# 重複を除去してソート(-u)
sort -u names.txt
wc:行数・単語数・文字数を数える
wcは「word count」の略で、ファイルの行数・単語数・バイト数をカウントします。
# 行数・単語数・バイト数を表示
wc document.txt
# 行数だけ表示(-l)
wc -l access.log
# 単語数だけ表示(-w)
wc -w essay.txt
# 複数ファイルの合計
wc -l *.log
その他の便利なテキスト処理コマンド
| コマンド | 機能 | 使用例 |
|---|---|---|
| uniq | 連続する重複行を除去 | sort file.txt | uniq |
| cut | 特定のカラムを切り出す | cut -d’,’ -f1,3 data.csv |
| tr | 文字を変換・削除 | tr ‘a-z’ ‘A-Z’ < file.txt |
| diff | 2つのファイルの差分を表示 | diff file1.txt file2.txt |
| tee | 標準出力とファイル両方に書き出す | ls | tee filelist.txt |
パイプとリダイレクト
Linuxの真の力は、複数のコマンドを組み合わせることで発揮されます。その鍵となるのが「パイプ」と「リダイレクト」です。
パイプ(|):コマンドをつなげる
パイプ | は、前のコマンドの出力を次のコマンドの入力として渡す仕組みです。
# ログからエラー行を抽出して行数をカウント
cat /var/log/syslog | grep "error" | wc -l
# プロセスの中からnginxを検索
ps aux | grep nginx
# ディレクトリ内のファイル数をカウント
ls -1 | wc -l
# アクセスログからIPアドレスを抽出、出現回数順にソート
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10
# CSVの3列目の数値を合計
cut -d',' -f3 sales.csv | awk '{sum+=$1} END {print sum}'
パイプの使い方を覚えると、複雑なデータ処理を1行のコマンドで実現できるようになります。Linux を使いこなすうえで最も重要な概念の一つです。
リダイレクト(>, >>, <):入出力を制御する
リダイレクトは、コマンドの入力元や出力先を変更する機能です。
# 出力をファイルに保存(上書き)
ls -la > filelist.txt
# 出力をファイルに追記
echo "新しいログ" >> log.txt
# エラー出力をファイルに保存
command 2> error.log
# 標準出力とエラー出力の両方をファイルに保存
command > output.log 2>&1
# ファイルを入力として使用
sort < unsorted.txt > sorted.txt
# 出力を捨てる(/dev/null に送る)
command > /dev/null 2>&1
| 記号 | 意味 | 具体例 |
|---|---|---|
| > | 標準出力をファイルに上書き | echo “hello” > file.txt |
| >> | 標準出力をファイルに追記 | echo “world” >> file.txt |
| < | ファイルを標準入力として使用 | sort < data.txt |
| 2> | エラー出力をファイルに保存 | command 2> error.log |
| 2>&1 | エラー出力を標準出力に統合 | command > all.log 2>&1 |
| | | 前のコマンドの出力を次の入力に | cat log | grep error |

システム管理コマンド
サーバーやPCの状態を把握し、管理するためのコマンドを紹介します。トラブルシューティングにも必須の知識です。
ps:プロセスを確認する
psは現在実行中のプロセス(プログラム)の一覧を表示するコマンドです。
# 全プロセスを詳細表示(最もよく使う)
ps aux
# 特定のプロセスを検索
ps aux | grep nginx
# プロセスをツリー形式で表示
ps auxf
# 自分のプロセスだけ表示
ps u
| カラム | 意味 |
|---|---|
| USER | プロセスの実行ユーザー |
| PID | プロセスID(killで使う番号) |
| %CPU | CPU使用率 |
| %MEM | メモリ使用率 |
| COMMAND | 実行中のコマンド |
top / htop:リアルタイムでシステム監視
topはCPUやメモリの使用状況をリアルタイムで表示するコマンドです。Windowsの「タスクマネージャー」に相当します。
# リアルタイム監視を起動(qで終了)
top
# より見やすいバージョン(要インストール)
htop
topコマンドの画面では、以下のキーで操作できます。
- q: 終了
- M: メモリ使用量順にソート
- P: CPU使用量順にソート
- k: プロセスをkill(PIDを入力)
- 1: CPUコアごとの使用率を表示
kill:プロセスを終了する
killは指定したプロセスにシグナルを送って終了させるコマンドです。
# プロセスを終了(SIGTERM: 正常終了を要求)
kill 12345
# 強制終了(SIGKILL: 即座に終了、応答しないプロセスに使用)
kill -9 12345
# プロセス名で終了
killall firefox
# 名前でプロセスを検索して終了
pkill -f "python server.py"
ポイント: まず通常の kill PID を試し、それで終了しない場合にのみ kill -9 PID(強制終了)を使いましょう。-9はプロセスにクリーンアップの余地を与えないため、データが失われる可能性があります。
df:ディスクの空き容量を確認する
dfは「disk free」の略で、ディスクの使用量と空き容量を表示します。
# 人間が読みやすい形式で表示(推奨)
df -h
# 特定のパスが属するファイルシステムだけ表示
df -h /home
# ファイルシステムのタイプも表示
df -Th
du:ディレクトリのサイズを確認する
duは「disk usage」の略で、ディレクトリやファイルのサイズを表示します。
# 現在のディレクトリの合計サイズ
du -sh
# サブディレクトリごとのサイズを表示
du -h --max-depth=1
# サイズの大きい順にソート
du -h --max-depth=1 | sort -rh
# 特定ディレクトリのサイズ
du -sh /var/log
free:メモリ使用量を確認する
freeはシステムのメモリ(RAM)の使用状況を表示します。
# 人間が読みやすい形式で表示
free -h
# 出力例:
# total used free shared buff/cache available
# Mem: 15Gi 8.2Gi 1.5Gi 512Mi 5.8Gi 6.5Gi
# Swap: 2.0Gi 256Mi 1.7Gi
| 項目 | 意味 |
|---|---|
| total | 物理メモリの総量 |
| used | 使用中のメモリ |
| free | 完全に未使用のメモリ |
| buff/cache | バッファ・キャッシュとして使用中(必要に応じて解放可能) |
| available | 実際に利用可能なメモリ量(freeよりこちらを見ること) |
| Swap | スワップ領域(ディスクを仮想メモリとして使用) |
パッケージ管理コマンド
ソフトウェアのインストール・更新・削除を行うコマンドです。Linuxのディストリビューション(種類)によって使うコマンドが異なります。
apt(Ubuntu / Debian系)
# パッケージリストを更新
sudo apt update
# インストール済みパッケージを更新
sudo apt upgrade
# 新しいパッケージをインストール
sudo apt install nginx
# パッケージを削除
sudo apt remove nginx
# パッケージを検索
apt search keyword
# パッケージの情報を表示
apt show nginx
yum / dnf(CentOS / Fedora / RHEL系)
# パッケージをインストール(dnfはyumの後継)
sudo dnf install nginx
# パッケージを更新
sudo dnf update
# パッケージを削除
sudo dnf remove nginx
# パッケージを検索
dnf search keyword
# インストール済みパッケージ一覧
dnf list installed
| 操作 | apt(Ubuntu / Debian) | dnf(CentOS / Fedora) |
|---|---|---|
| インストール | sudo apt install パッケージ名 | sudo dnf install パッケージ名 |
| 削除 | sudo apt remove パッケージ名 | sudo dnf remove パッケージ名 |
| 更新 | sudo apt update && sudo apt upgrade | sudo dnf update |
| 検索 | apt search キーワード | dnf search キーワード |
| 情報表示 | apt show パッケージ名 | dnf info パッケージ名 |
ネットワーク関連コマンド
ネットワークの状態確認やトラブルシューティングに使うコマンドです。
基本的なネットワークコマンド
# ネットワークインターフェースの情報を表示
ip addr show
# または
ifconfig # 古いコマンド(非推奨だが広く使われている)
# ネットワーク接続を確認(ping)
ping google.com
# 3回だけpingを送信
ping -c 3 google.com
# ネットワーク経路を確認
traceroute google.com
# DNSの名前解決を確認
nslookup google.com
dig google.com
# ポートの使用状況を確認
ss -tuln
# または
netstat -tuln # 古いコマンド
curl / wget:ファイルをダウンロード
# URLの内容を表示
curl https://example.com
# ファイルをダウンロード
curl -O https://example.com/file.zip
wget https://example.com/file.zip
# HTTPヘッダーだけ確認
curl -I https://example.com
# APIのレスポンスを取得(JSON)
curl -s https://api.example.com/data | python3 -m json.tool
| コマンド | 用途 | 具体例 |
|---|---|---|
| ping | 接続確認 | ping -c 3 google.com |
| traceroute | 経路確認 | traceroute google.com |
| nslookup | DNS確認 | nslookup example.com |
| ss | ソケット情報 | ss -tuln |
| curl | HTTP通信 | curl -I https://example.com |
| wget | ファイル取得 | wget https://example.com/file.zip |
| ip | ネットワーク設定 | ip addr show |
| ssh | リモート接続 | ssh user@192.168.1.100 |
| scp | リモートファイル転送 | scp file.txt user@server:/path/ |
覚えておくと便利なコマンド・テクニック集
コマンド履歴の活用
# 過去のコマンド履歴を表示
history
# 履歴からキーワードで検索(Ctrl + R でもOK)
history | grep "apt install"
# 直前のコマンドを再実行
!!
# 直前のコマンドにsudoを付けて再実行
sudo !!
エイリアス(ショートカット)の設定
# よく使うコマンドにエイリアスを設定
alias ll='ls -la'
alias gs='git status'
alias update='sudo apt update && sudo apt upgrade -y'
# 永続化するには ~/.bashrc に追記
echo "alias ll='ls -la'" >> ~/.bashrc
source ~/.bashrc
ワイルドカード(パターンマッチング)
| ワイルドカード | 意味 | 例 |
|---|---|---|
| * | 0文字以上の任意の文字列 | ls *.txt(.txtで終わるファイル全て) |
| ? | 任意の1文字 | ls file?.txt(file1.txt, fileA.txt など) |
| [abc] | a, b, c のいずれか1文字 | ls file[123].txt |
| [0-9] | 0から9のいずれか1文字 | ls log[0-9].txt |
manコマンド:困ったら調べる
コマンドの使い方がわからないときは、man(manual)コマンドでマニュアルを表示できます。
# grepのマニュアルを表示
man grep
# 簡易的な使い方を表示
grep --help
Linuxコマンド一覧(早見表)
この記事で紹介したコマンドを一覧表にまとめました。ブックマークしていつでも参照できるようにしておくと便利です。
ファイル操作
| コマンド | 機能 | 覚え方 |
|---|---|---|
| ls | ファイル一覧を表示 | list |
| cd | ディレクトリを移動 | change directory |
| pwd | 現在のディレクトリを表示 | print working directory |
| mkdir | ディレクトリを作成 | make directory |
| cp | コピー | copy |
| mv | 移動・リネーム | move |
| rm | 削除 | remove |
| find | ファイルを検索 | find |
| chmod | 権限を変更 | change mode |
| chown | 所有者を変更 | change owner |
テキスト処理
| コマンド | 機能 | 覚え方 |
|---|---|---|
| cat | ファイル内容を表示 | concatenate |
| less | ページ単位で表示 | less is more |
| head | 先頭部分を表示 | head |
| tail | 末尾部分を表示 | tail |
| grep | テキストを検索 | global regular expression print |
| sed | テキストを置換 | stream editor |
| awk | カラム処理 | 開発者3人の頭文字 |
| sort | 並べ替え | sort |
| wc | 行数・単語数を数える | word count |
| uniq | 重複行を除去 | unique |
システム管理
| コマンド | 機能 | 覚え方 |
|---|---|---|
| ps | プロセス一覧を表示 | process status |
| top | リアルタイム監視 | table of processes |
| kill | プロセスを終了 | kill |
| df | ディスク空き容量 | disk free |
| du | ディスク使用量 | disk usage |
| free | メモリ使用量 | free memory |
| sudo | 管理者権限で実行 | super user do |
| systemctl | サービス管理 | system control |
よくある質問(FAQ)
Q1. Linuxコマンドはどこで練習できますか?
最も手軽な方法は以下の3つです。
- WSL(Windows Subsystem for Linux): Windows 10/11にLinux環境をインストールできます。設定 → アプリ → オプション機能 から有効化できます。
- VirtualBox + Ubuntu: 無料の仮想マシンソフトでUbuntuをインストールして練習できます。
- macOSのターミナル: macOSはUNIXベースのため、ほとんどのLinuxコマンドがそのまま使えます。
Q2. sudoとは何ですか?なぜ必要なのですか?
sudoは「super user do」の略で、管理者(root)権限でコマンドを実行するための仕組みです。システムファイルの変更やソフトウェアのインストールなど、重要な操作には管理者権限が必要です。セキュリティを守るために、普段は一般ユーザーとして操作し、必要なときだけsudoを使うのがLinuxの基本的な考え方です。
Q3. コマンドを間違えて実行してしまったらどうすればいいですか?
まず Ctrl + C で実行中のコマンドを停止してください。ファイルを誤って削除した場合、Linuxの標準的なrmコマンドでは復元が困難です。重要なデータは定期的にバックアップを取ることが最も確実な対策です。また、rm -iのように-iオプション(削除前に確認)を付ける習慣をつけると安全です。
Q4. シェルの種類(bash, zsh, fishなど)は何が違うのですか?
シェルはコマンドを解釈するプログラムで、種類によって使える機能や補完の仕方が異なります。主な違いは以下の通りです。
- bash: 最も広く使われている標準的なシェル。ほとんどのLinuxディストリビューションのデフォルト。
- zsh: bashの上位互換。強力な補完機能やプラグインが特長。macOSのデフォルトシェル(Catalina以降)。
- fish: 初心者にやさしいシェル。シンタックスハイライトや自動補完が標準搭載。
初心者はまずbashで基本を覚え、慣れてきたらzshやfishを試すのがおすすめです。
Q5. 「Permission denied」と表示されたらどうすればいいですか?
アクセス権限が不足していることを示すエラーです。以下の対処法を試してください。
- sudo を付けて再実行:
sudo コマンドで管理者権限で実行 - ファイルの権限を確認:
ls -la ファイル名でパーミッションを確認 - 権限を変更:
chmodで適切な権限を付与(ただし不用意に777にするのは避けること)
Q6. viやvimの使い方がわかりません。他にエディタはありますか?
vim は高機能ですが学習曲線が急なため、初心者にはnanoエディタがおすすめです。nano ファイル名 で起動でき、画面下部に操作ガイドが表示されるため直感的に使えます。操作に慣れてきたら、vim の基本操作(iで入力モード、Escで通常モード、:wqで保存終了)を覚えると作業効率が大幅に上がります。
Q7. WindowsでLinuxコマンドを使う方法はありますか?
はい、主に3つの方法があります。
- WSL(Windows Subsystem for Linux): 最もおすすめ。Windows上でLinuxを直接動かせます。
- Git Bash: Gitをインストールすると付属するbashシェル。基本的なコマンドが使えます。
- PowerShell: 一部のLinuxコマンド(ls, catなど)がエイリアスとして使えます。
Q8. パイプとリダイレクトの違いは何ですか?
パイプ(|)はコマンドの出力を「別のコマンド」に渡します。リダイレクト(>)はコマンドの出力を「ファイル」に渡します。パイプは「コマンド→コマンド」、リダイレクトは「コマンド→ファイル」と覚えると区別しやすいです。
Q9. apt と apt-get の違いは何ですか?
aptはapt-getの後継コマンドで、より使いやすくなっています。日常的な操作ではaptを使い、シェルスクリプト内では互換性のためにapt-getを使うのが一般的です。
Q10. Linuxコマンドを効率よく覚えるコツはありますか?
最も効果的な方法は「実際に使うこと」です。以下のステップで段階的に覚えていくのがおすすめです。
- まずは5つ:
ls,cd,pwd,cat,mkdirから始める - 次に操作系:
cp,mv,rm,grepを追加 - パイプを覚える:
|を使ってコマンドを組み合わせる - 管理系に進む:
ps,top,df,chmodを学ぶ - シェルスクリプト: コマンドを組み合わせて自動化する
「コマンドを丸暗記する」のではなく、「やりたいことをコマンドで実現する」という姿勢で取り組むと、自然と身に付きます。
まとめ
この記事では、Linuxコマンドの基本を「ファイル操作」「テキスト処理」「パイプとリダイレクト」「システム管理」「パッケージ管理」「ネットワーク」の6分野に分けて解説しました。
最初は覚えることが多く感じるかもしれませんが、日常的に使うコマンドは実は限られています。まずは以下の「最重要コマンド10選」を確実に使えるようにしましょう。
| 優先度 | コマンド | 一言で言うと |
|---|---|---|
| 1 | ls | 今いるところを見る |
| 2 | cd | 場所を移動する |
| 3 | cat | ファイルの中身を見る |
| 4 | grep | 文字列を検索する |
| 5 | cp / mv / rm | コピー・移動・削除 |
| 6 | mkdir | フォルダを作る |
| 7 | chmod | 権限を変える |
| 8 | ps / top | 動いているプログラムを見る |
| 9 | df / du | ディスク容量を確認する |
| 10 | | (パイプ) | コマンドをつなげる |
Linuxコマンドは、一度覚えれば一生使えるスキルです。クラウドサーバーの管理、プログラミング、データ分析、さらにはIoTデバイスの操作まで、幅広い場面で活躍します。
最初は簡単なコマンドから始めて、少しずつレパートリーを増やしていきましょう。わからないことがあったらこの記事に戻ってきて、コマンドの使い方を確認してみてください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!