linux コマンド一覧|用途別に整理した初心者向け完全ガイド

学習ガイド

「linux コマンド」を調べているということは、ターミナル操作の第一歩を踏み出そうとしているはずです。
本記事では、初心者が最初に覚えるべきコマンドを用途別に整理し、それぞれの使い方を簡潔に解説します。
各コマンドの詳細解説ページへのリンクも用意しているので、気になるコマンドを深掘りする際にも活用してください。


  1. linux コマンドとは
  2. 1. ファイル・ディレクトリ操作コマンド
    1. ls ― ファイル一覧を表示
    2. cd ― ディレクトリ移動
    3. pwd ― 現在のディレクトリを表示
    4. mkdir ― ディレクトリ作成
    5. cp ― ファイル・ディレクトリのコピー(linux コマンド cp)
    6. mv ― ファイルの移動・リネーム
    7. rm ― ファイル・ディレクトリの削除
    8. find ― ファイルを検索
    9. man ― コマンドのマニュアルを表示
  3. 2. テキスト処理コマンド
    1. cat / less / head / tail ― ファイル内容の表示
    2. grep ― テキスト検索
    3. sed ― テキストの置換・編集
    4. awk ― テキストの列処理
    5. sort / uniq ― 並べ替え・重複削除
    6. wc ― 行数・文字数のカウント
    7. tee ― 標準出力とファイルへ同時出力
  4. 3. プロセス管理コマンド
    1. ps ― プロセス一覧を表示
    2. kill / killall / pgrep ― プロセスの終了
    3. top ― リアルタイムのリソース監視
    4. lsof ― 開いているファイルとソケットを確認
    5. jobs / fg / bg ― バックグラウンドジョブの管理
  5. 4. システム情報コマンド
    1. uname ― OS・カーネル情報を表示
    2. df / du ― ディスク使用量の確認
    3. free ― メモリ使用量の確認
    4. vmstat / iostat ― CPU・I/O 統計
    5. uptime ― 稼働時間と負荷を確認
  6. 5. ネットワークコマンド
    1. ping ― ホストへの疎通確認
    2. ssh ― リモートサーバーへの接続
    3. curl / wget ― ファイルのダウンロード・HTTP リクエスト
    4. ip / ifconfig ― ネットワークインターフェースの確認
    5. ss / netstat ― ポートと接続状態の確認
    6. dig / nslookup ― DNS の問い合わせ
    7. traceroute ― 通信経路の確認
    8. tcpdump ― パケットキャプチャ
  7. 6. 権限管理コマンド
    1. chmod ― パーミッションの変更
    2. chown ― 所有者・グループの変更
    3. sudo / su ― 管理者権限での実行
  8. 7. パッケージ管理コマンド
  9. 8. 圧縮・アーカイブコマンド
    1. tar ― アーカイブの作成と展開
    2. gzip / gunzip ― ファイルの圧縮・解凍
    3. zip / unzip ― ZIP 形式
    4. split ― 大容量ファイルの分割
  10. 9. シェル環境・ユーティリティコマンド
    1. history ― コマンド履歴の確認
    2. alias ― コマンドのショートカット設定
    3. export ― 環境変数の設定
    4. source ― ファイルを現在のシェルで実行
    5. systemctl ― サービスの管理
  11. 10. シェルスクリプトの基本
    1. 10.1 スクリプトを作成して実行する
    2. 10.2 変数と条件分岐
    3. 10.3 for ループとコマンド置換
  12. 11. 便利ツール集
  13. 12. 用途別クイックリファレンス
    1. ファイルを探したい
    2. ログを調査したい
    3. ディスクが逼迫したとき
    4. プロセスが応答しないとき
    5. ネットワークトラブルのとき
  14. 初心者が最初に覚えるべき linux コマンド 20 選
  15. よくある質問(FAQ)
  16. まとめ
  17. 関連記事

linux コマンドとは

Linux コマンドとは、ターミナル(コマンドライン)に入力してシステムを操作するための命令文です。
GUI(グラフィカルインターフェース)では操作できない細かい設定・自動化・サーバー管理が、コマンドひとつで実現できます。

なぜコマンドを覚えるのか 具体的なメリット
自動化 繰り返し作業をスクリプトで自動化できる
リモート操作 SSH でサーバーを遠隔管理できる
処理速度 GUI より高速に大量ファイルを操作できる
再現性 コマンドを共有するだけで環境を再現できる

1. ファイル・ディレクトリ操作コマンド

日常的に最も多く使うコマンド群です。まずここから覚えましょう。

ls ― ファイル一覧を表示

ls          # カレントディレクトリのファイル一覧
ls -l       # 詳細表示(権限・サイズ・更新日時)
ls -la      # 隠しファイルも含めて詳細表示
ls -lh      # サイズを KB/MB で人が読みやすい形式に

cd ― ディレクトリ移動

cd /var/log     # 絶対パスで移動
cd ../          # 親ディレクトリへ
cd ~            # ホームディレクトリへ
cd -            # 直前のディレクトリへ戻る

詳細: cd コマンドの使い方

pwd ― 現在のディレクトリを表示

pwd    # /home/user/projects のように絶対パスで表示

詳細: pwd コマンドの使い方

mkdir ― ディレクトリ作成

mkdir mydir            # ディレクトリ作成
mkdir -p parent/child  # 親ディレクトリが存在しなくても一括作成

cp ― ファイル・ディレクトリのコピー(linux コマンド cp)

cp src.txt dest.txt        # ファイルをコピー
cp -r srcdir/ destdir/     # ディレクトリをまるごとコピー
cp -i src.txt dest.txt     # 上書き前に確認プロンプト
cp -p src.txt dest.txt     # タイムスタンプ・パーミッションを保持
cp -u src.txt dest.txt     # 新しい場合だけコピー(差分コピー)

よく使うオプション組み合わせ
cp -rp srcdir/ backup/ でディレクトリをパーミッション保持したままバックアップできます。

詳細: cpコマンドの使い方完全ガイド(オプション一覧・早見表) / cp コマンドの基本 ― 大量ファイルのコピー / cp -i で安全にバックアップ

mv ― ファイルの移動・リネーム

mv old.txt new.txt         # ファイル名を変更
mv file.txt /tmp/          # /tmp へ移動
mv -i src.txt dest.txt     # 上書き前に確認

rm ― ファイル・ディレクトリの削除

rm file.txt          # ファイルを削除
rm -r mydir/         # ディレクトリをまるごと削除
rm -i file.txt       # 削除前に確認プロンプト

注意: rm で削除したファイルはゴミ箱に行かず即時削除されます。-r オプションは特に慎重に使いましょう。

詳細: Linuxでファイルを削除する方法 ― rmコマンドの使い方と主要オプションを解説

find ― ファイルを検索

find . -name "*.log"              # カレント配下の .log ファイルを検索
find /var -type f -mtime -7       # /var 配下で7日以内に更新されたファイル
find . -name "*.txt" -exec rm {} ;  # 検索して一括削除

詳細: Linuxのファイル検索方法まとめ|find・locateコマンドの使い方と使い分け / find コマンドと xargs の組み合わせ術

man ― コマンドのマニュアルを表示

man cp      # cp コマンドのマニュアルを表示
man ls      # ls コマンドのマニュアルを表示

詳細: man コマンドの使い方


2. テキスト処理コマンド

ファイルの中身を確認・検索・加工する際に使うコマンドです。

cat / less / head / tail ― ファイル内容の表示

cat file.txt          # ファイルの全内容を表示
less file.txt         # ページャーで表示(q で終了)
head -n 20 file.txt   # 先頭20行を表示
tail -n 20 file.txt   # 末尾20行を表示
tail -f /var/log/syslog  # リアルタイムでログを監視

grep ― テキスト検索

grep "error" app.log           # error を含む行を検索
grep -i "Error" app.log        # 大文字小文字を区別しない
grep -r "TODO" ./src/          # ディレクトリ内を再帰的に検索
grep -v "DEBUG" app.log        # DEBUG を含まない行を抽出
grep -n "error" app.log        # 行番号を表示

sed ― テキストの置換・編集

sed 's/old/new/g' file.txt           # old を new に全置換
sed -n '10,20p' file.txt             # 10〜20行目だけ表示
sed '/^#/d' config.txt               # コメント行を削除

awk ― テキストの列処理

awk '{print $1}' file.txt               # 1列目だけ表示
awk -F: '{print $1}' /etc/passwd        # : 区切りで1列目を表示
awk '/error/ {print $0}' app.log        # error を含む行を出力

sort / uniq ― 並べ替え・重複削除

sort file.txt               # アルファベット順に並べ替え
sort -n numbers.txt         # 数値順に並べ替え
sort -r file.txt            # 逆順
sort file.txt | uniq        # 重複行を削除
sort file.txt | uniq -c    # 出現回数を表示

wc ― 行数・文字数のカウント

wc -l file.txt    # 行数
wc -w file.txt    # 単語数
wc -c file.txt    # バイト数

tee ― 標準出力とファイルへ同時出力

command | tee output.txt       # 画面表示しながらファイルにも保存
command | tee -a output.txt    # ファイルに追記

詳細: tee コマンドの使い方


3. プロセス管理コマンド

実行中のプロセスを確認・制御するコマンドです。

ps ― プロセス一覧を表示

ps aux                   # 全プロセスを詳細表示
ps aux | grep nginx      # nginx のプロセスを検索
ps -ef                   # 別形式で全プロセスを表示

詳細: ps コマンドの実用例まとめ

kill / killall / pgrep ― プロセスの終了

kill 12345           # PID 指定でプロセスを終了
kill -9 12345        # 強制終了
killall nginx        # 名前でまとめて終了
pgrep nginx          # プロセス名で PID を検索

詳細: kill コマンドとプロセス管理 / killall / pgrep

top ― リアルタイムのリソース監視

top          # CPU・メモリ使用率をリアルタイム表示
htop         # より見やすい top の代替(要インストール)

詳細: top コマンド入門

lsof ― 開いているファイルとソケットを確認

lsof -i :8080        # ポート 8080 を使用しているプロセスを表示
lsof -p 1234         # PID 1234 が開いているファイルを表示

詳細: lsof コマンドの使い方

jobs / fg / bg ― バックグラウンドジョブの管理

command &        # コマンドをバックグラウンドで実行
jobs             # バックグラウンドジョブ一覧を表示
fg %1            # ジョブ番号1をフォアグラウンドに戻す
bg %1            # 停止中のジョブをバックグラウンドで再開

詳細: jobs / fg / bg


4. システム情報コマンド

サーバーやシステムの状態を確認するコマンドです。

uname ― OS・カーネル情報を表示

uname -a    # OS・カーネルバージョン・アーキテクチャを一覧表示
uname -r    # カーネルバージョンのみ表示

df / du ― ディスク使用量の確認

df -h            # マウントポイントごとの空き容量を表示
du -sh *         # カレントディレクトリ直下のサイズを一括確認
du -sh /var/log  # 指定ディレクトリのサイズを確認

詳細: df コマンドの使い方 / du コマンドの使い方 / df・du コマンドでディスク使用量をチェック

free ― メモリ使用量の確認

free -h    # メモリ・スワップの使用状況を人が読みやすい形式で表示

詳細: free コマンドでリソース状況を即チェック

vmstat / iostat ― CPU・I/O 統計

vmstat 1    # 1秒ごとにCPU・メモリ・I/Oの統計を表示
iostat      # ディスクI/Oの統計を表示

詳細: vmstat / iostat

uptime ― 稼働時間と負荷を確認

uptime    # システム稼働時間と負荷平均を表示

5. ネットワークコマンド

ネットワーク状態の確認・通信テスト・リモート接続に使うコマンドです。

ping ― ホストへの疎通確認

ping google.com         # 疎通確認(Ctrl+C で停止)
ping -c 4 google.com   # 4回だけ送信して終了

詳細: ping コマンドでネット接続を確認

ssh ― リモートサーバーへの接続

ssh user@192.168.1.1              # SSH 接続
ssh -i ~/.ssh/id_rsa user@host   # 鍵認証で接続
ssh -p 2222 user@host            # ポート指定

詳細: SSH 公開鍵認証の設定 / ssh-keygen

curl / wget ― ファイルのダウンロード・HTTP リクエスト

curl -O https://example.com/file.tar.gz    # ファイルをダウンロード
curl -I https://example.com               # HTTP ヘッダーだけ取得
wget https://example.com/file.tar.gz      # ファイルをダウンロード
wget -r https://example.com/              # サイト全体を再帰的にダウンロード

ip / ifconfig ― ネットワークインターフェースの確認

ip addr             # IPアドレスを表示(推奨)
ifconfig            # IPアドレスを表示(旧コマンド)
ip route            # ルーティングテーブルを表示

詳細: ip コマンド / ifconfig

ss / netstat ― ポートと接続状態の確認

ss -tlnp        # TCP リスニングポートを表示(推奨)
netstat -tlnp   # 同上(旧コマンド)
ss -an          # 全ソケット接続を表示

詳細: ss コマンド

dig / nslookup ― DNS の問い合わせ

dig example.com           # DNS レコードを取得
nslookup example.com      # DNS 問い合わせ(シンプル)
dig MX example.com        # MX レコードを確認

詳細: dig / nslookup

traceroute ― 通信経路の確認

traceroute google.com    # google.com までの経路とレイテンシを表示

詳細: traceroute コマンド

tcpdump ― パケットキャプチャ

tcpdump -i eth0               # eth0 のパケットをキャプチャ
tcpdump -i any port 80        # ポート80のパケットを監視

詳細: tcpdump コマンド


6. 権限管理コマンド

ファイルの権限や所有者を管理するコマンドです。

chmod ― パーミッションの変更

chmod 755 script.sh      # 所有者 rwx、グループ r-x、その他 r-x
chmod u+x script.sh      # 所有者に実行権限を追加
chmod -R 644 dir/        # ディレクトリ以下を一括変更

chown ― 所有者・グループの変更

chown user:group file.txt    # 所有者とグループを変更
chown -R www-data /var/www/  # ディレクトリ以下を一括変更

詳細: chmod と chown の使い方を解説

sudo / su ― 管理者権限での実行

sudo apt update          # root 権限でコマンドを実行
sudo -i                  # root シェルを起動
su - username            # 別ユーザーに切り替え

詳細: sudo / su


7. パッケージ管理コマンド

OS のディストリビューションに合わせたパッケージ管理コマンドを使います。

ディストリビューション コマンド例 詳細
Ubuntu / Debian 系 sudo apt update && sudo apt install パッケージ名 apt
RHEL / CentOS 系 sudo yum install パッケージ名 yum
macOS (Homebrew) brew install パッケージ名 brew

8. 圧縮・アーカイブコマンド

tar ― アーカイブの作成と展開

tar -czvf archive.tar.gz dir/    # ディレクトリを tar.gz に圧縮
tar -xzvf archive.tar.gz        # tar.gz を展開
tar -tzvf archive.tar.gz        # 中身を確認(展開しない)

tar コマンドのオプション一覧や圧縮形式ごとの違いはtarコマンドの使い方|解凍・圧縮オプション一覧を早見表で確認で詳しく解説しています。

gzip / gunzip ― ファイルの圧縮・解凍

gzip file.txt        # file.txt.gz に圧縮
gunzip file.txt.gz   # 解凍

zip / unzip ― ZIP 形式

zip -r archive.zip dir/    # ディレクトリを zip に圧縮
unzip archive.zip          # 解凍

split ― 大容量ファイルの分割

split -b 100M largefile.tar.gz chunk_    # 100MB ずつ分割
cat chunk_* > restored.tar.gz            # 結合して復元

詳細: split コマンド


9. シェル環境・ユーティリティコマンド

history ― コマンド履歴の確認

history         # コマンド履歴を表示
history 20      # 直近20件を表示
!123            # 履歴番号123のコマンドを実行

詳細: history コマンド

alias ― コマンドのショートカット設定

alias ll='ls -lah'         # ll で ls -lah を実行
alias gs='git status'      # gs で git status を実行
alias ..='cd ..'           # .. で親ディレクトリへ移動

詳細: alias コマンド

export ― 環境変数の設定

export PATH="$HOME/.local/bin:$PATH"    # PATH に追加
export NODE_ENV=production               # 環境変数を設定
printenv PATH                            # 環境変数を確認

詳細: export コマンド / printenv / env コマンド

source ― ファイルを現在のシェルで実行

source ~/.bashrc         # .bashrc を再読み込み
source ./setup.sh        # セットアップスクリプトを実行

詳細: source コマンド

systemctl ― サービスの管理

systemctl start nginx     # サービスを起動
systemctl stop nginx      # サービスを停止
systemctl restart nginx   # サービスを再起動
systemctl status nginx    # サービスの状態を確認
systemctl enable nginx    # 自動起動を有効化

詳細: systemctl コマンド / journalctl でログを確認


10. シェルスクリプトの基本

コマンドを個別に打つだけでなく、組み合わせてファイルに保存すれば繰り返し実行できるスクリプトになります。ここでは最小構成の書き方を紹介します。

10.1 スクリプトを作成して実行する

#!/usr/bin/env bash
# hello.sh - こんにちはスクリプト

echo "Hello, $1!"
chmod +x hello.sh    # 実行権限を付与
./hello.sh World     # 実行(World が $1 に渡る)

10.2 変数と条件分岐

MY_NAME="Alice"
echo "Hello, $MY_NAME!"

if [ -f "$1" ]; then
    echo "$1 is a file."
else
    echo "$1 is not a file."
fi

10.3 for ループとコマンド置換

for FILE in *.txt; do
    echo "Processing $FILE"
done

CURRENT_BRANCH=$(git branch --show-current)
echo "Current branch: $CURRENT_BRANCH"

詳細: case/esac の使い分け / shellcheck で静的解析


11. 便利ツール集

標準コマンドに加えて、以下のツールを導入すると作業効率がさらに上がります。

ツール 役割 使い方の例
htop インタラクティブなプロセス監視(top の見やすい代替) htop
ncdu ディスク使用状況の可視化 ncdu /
tree ディレクトリをツリー表示 tree -L 2
fzf インタラクティブなfuzzy finder find . | fzf
rgripgrep 高速な全文検索 rg -i "TODO" .
fd find の高速な代替 fd pattern
tig Gitのターミナルビューア tig

12. 用途別クイックリファレンス

よくあるシーンで使うコマンドをひとまとめにしました。

ファイルを探したい

find . -name "*.conf"                     # 拡張子で検索
find /var -type f -size +100M             # 100MB 以上のファイルを検索
grep -r "キーワード" ./                    # 内容で検索

ログを調査したい

tail -f /var/log/nginx/error.log         # リアルタイムでエラーログを確認
grep "error" /var/log/syslog | tail -50  # エラー行を抽出
journalctl -u nginx --since "1 hour ago" # systemd サービスのログ

ディスクが逼迫したとき

df -h                        # 空き容量を確認
du -sh /var/log/*            # ログディレクトリのサイズを確認
find / -type f -size +500M   # 大きなファイルを探す

プロセスが応答しないとき

ps aux | grep process_name        # プロセスを確認
kill -9 $(pgrep process_name)     # 強制終了

ネットワークトラブルのとき

ping 8.8.8.8          # インターネット疎通確認
ss -tlnp              # 開いているポートを確認
dig example.com       # DNS 解決を確認

初心者が最初に覚えるべき linux コマンド 20 選

# コマンド 用途
1 ls -la ファイル一覧(隠しファイル含む)
2 cd ディレクトリ移動
3 pwd 現在のディレクトリを確認
4 cp -r ファイル・ディレクトリのコピー
5 mv ファイルの移動・リネーム
6 rm -r ファイル・ディレクトリの削除
7 mkdir -p ディレクトリ作成
8 cat / less ファイル内容の表示
9 grep テキスト検索
10 find ファイル検索
11 chmod / chown 権限・所有者の変更
12 ps aux プロセス一覧
13 kill プロセス終了
14 top / htop リソース監視
15 df -h ディスク使用量確認
16 free -h メモリ使用量確認
17 ssh リモートサーバーへ接続
18 tar -czvf / -xzvf 圧縮・解凍
19 sudo 管理者権限での実行
20 man コマンドのマニュアルを表示

よくある質問(FAQ)

Q. linux コマンドはどこで練習できますか?
ローカルに Linux 環境がなくても WSL(Windows Subsystem for Linux)で Windows 上に Linux 環境を作れます。また、Docker を使ってコンテナ内で練習する方法もおすすめです。
Q. コマンドが間違っていたらどうなりますか?
多くの場合はエラーメッセージが表示されるだけです。ただし rm -rf のような削除コマンドは元に戻せないため、実行前に必ず確認しましょう。-i オプションを付けると確認プロンプトが表示されます。
Q. コマンドのヘルプを確認したい
man コマンド名 または コマンド名 --help でオプション一覧を確認できます。例: man cpcp --help
Q. Permission denied が出るときは?
権限が不足しています。sudo を先頭に付けて管理者権限で実行するか、chmod でファイルのパーミッションを確認・変更してください。詳細: 権限エラーが出たら

まとめ

本記事では linux コマンドを以下の用途別に整理しました。

  • ファイル操作: ls / cd / pwd / cp / mv / rm / find / mkdir
  • テキスト処理: cat / grep / sed / awk / sort / wc
  • プロセス管理: ps / kill / top / lsof / jobs
  • システム情報: df / du / free / uname / vmstat
  • ネットワーク: ping / ssh / curl / ip / ss / dig
  • 権限管理: chmod / chown / sudo
  • パッケージ管理: apt / yum / brew

最初から全部覚える必要はありません。ls・cd・cp・grep・ps・ssh の 6 つをまず使いこなせるようになると、日常的な Linux 操作のほとんどはカバーできます。
各コマンドの詳細な使い方は、各リンク先の解説記事で深掘りしてください。

→ 体系的に学びたい場合は14日で基礎固め|Linux & Bash独学ロードマップ、トラブル対応の手順を確認したい場合はLinuxトラブルシューティング総合ハブもあわせてご覧ください。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント