OS

Linuxコマンド一覧|用途別早見表48選とUbuntu 26.04での変更点

Linuxのコマンドは数百種類ありますが、日常の運用で実際に使うものは限られます。この記事では、よく使う48コマンドを用途別の早見表にまとめたうえで、使用頻度の高いものは実行例つきで解説します。あわせて、ifconfigやnetstatが動かない理由と代替コマンド、2026年4月23日にリリースされたUbuntu 26.04 LTSでコアユーティリティの実装そのものが入れ替わった点まで扱いました。手元の環境でコマンドが見つからないときの原因切り分けにも使えます。

まとめ

用途別の早見表は次章にあります。先に結論だけ押さえたい方は以下を確認してください。

  • 覚える順序は、ファイル操作(ls・cd・cp・mv・rm)→テキスト検索(grep)→権限(chmod・chown)の順が実務で詰まりにくい構成です。
  • ifconfigやnetstatが「command not found」になるのは環境の不具合ではありません。net-toolsが既定でインストールされなくなったためで、現在の標準はipコマンドとssコマンドです。
  • Ubuntu 26.04 LTSではlsをはじめとする大半のコアユーティリティが、GNU coreutilsからRust製のuutils coreutils 0.8.0に置き換わりました。ただしcp・mv・rmの3つだけは未解決の脆弱性を理由にGNU実装のまま据え置かれています。
  • cdやaliasはmanコマンドでマニュアルが引けません。これらはシェル組み込みコマンドのため、helpコマンドを使います。
  • chownの再帰指定は大文字の-Rです。小文字の-rというオプションは存在しません。

用途別Linuxコマンド早見表

実務で登場する頻度が高い48コマンドを5分類で整理しました。まずここから目的のコマンドを引き、詳しい使い方は後続の章で確認してください。

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

コマンド 用途 主なオプション
ls ファイル一覧の表示 -l 詳細/-a 隠しファイル/-h 単位 ls -lh
cd ディレクトリの移動 – 直前の位置へ戻る cd /var/log
pwd 現在地の絶対パス表示 -P リンクを解決した実体パス pwd
cp コピー -r 再帰/-i 確認/-p 属性保持 cp -r src dst
mv 移動・名前変更 -i 確認/-n 上書き禁止 mv old.txt new.txt
rm 削除 -r 再帰/-i 確認/-f 強制 rm -i file.txt
mkdir ディレクトリ作成 -p 親ごと作成 mkdir -p a/b/c
rmdir 空ディレクトリ削除 -p 親もまとめて削除 rmdir tmp
touch 空ファイル作成・時刻更新 -t 時刻を指定 touch memo.txt
find 条件を指定した検索 -name/-type/-mtime find . -name "*.log"
ln リンク作成 -s シンボリックリンク ln -s target link

テキストの表示・検索・加工

コマンド 用途 主なオプション
cat ファイル内容の連結表示 -n 行番号 cat app.conf
less ページ送りでの閲覧 -N 行番号/+F 追記を追従 less app.log
head 先頭のみ表示 -n 行数 head -n 20 app.log
tail 末尾表示・追記の追従 -f 追従/-n 行数 tail -f app.log
grep 文字列検索 -r 再帰/-n 行番号/-i 大小無視 grep -rn "error" .
sed 置換・行編集 -i 直接編集/-e 複数指定 sed -i 's/a/b/g' f.txt
awk 列の抽出・集計 -F 区切り文字の指定 awk '{print $1}' f.txt
sort 並べ替え -n 数値/-r 逆順/-h 単位付き sort -n nums.txt
uniq 連続する重複行の除去 -c 件数/-d 重複行のみ sort f.txt | uniq -c
wc 行数・単語数の計上 -l 行/-w 単語/-c バイト wc -l app.log
diff 差分比較 -u 統一形式/-r 再帰 diff old.txt new.txt

プロセスとシステム状態

コマンド 用途 主なオプション
ps プロセス一覧 aux 全プロセス/-ef 別書式 ps aux
top 負荷のリアルタイム監視 -u ユーザー指定 top
kill プロセスへのシグナル送信 -9 強制終了/-l シグナル一覧 kill -15 1234
df ディスク使用量 -h 単位/-i inode使用量 df -h
du ディレクトリ別の使用量 -s 合計のみ/-h 単位 du -sh *
free メモリ使用量 -h 単位/-s 秒間隔で更新 free -h
uptime 稼働時間と負荷平均 -p 稼働時間のみ uptime
systemctl サービスの制御 status/start/enable systemctl status ssh
journalctl システムログ閲覧 -u 単位指定/-f 追従 journalctl -u ssh

圧縮・アーカイブ・転送

コマンド 用途 主なオプション
tar アーカイブの作成・展開 -c 作成/-x 展開/-t 一覧/-z gzip tar -czf a.tar.gz dir
gzip 単一ファイルの圧縮 -d 展開/-k 元ファイルを残す gzip app.log
gunzip gz形式の展開 -c 標準出力へ書き出す gunzip app.log.gz
zip zip形式の圧縮 -r 再帰/-e パスワード保護 zip -r a.zip dir
unzip zip形式の展開 -l 一覧/-d 展開先/-O 文字コード unzip a.zip
scp SSH経由のファイル転送 -r 再帰/-P ポート番号 scp f.txt host:~/
rsync 差分同期 -a 属性保持/-v 詳細/–delete rsync -av src/ dst/

権限・ユーザー・ネットワーク

コマンド 用途 主なオプション
chmod アクセス権の変更 -R 再帰/–reference 権限を複製 chmod 644 f.txt
chown 所有者の変更 -R 再帰(小文字-rは不可) chown -R app:app dir
chgrp 所有グループの変更 -R 再帰 chgrp www-data f.txt
sudo 管理者権限での実行 -u 実行ユーザー/-i ログインシェル sudo apt update
adduser ユーザー追加(Debian系推奨) –system システム用アカウント sudo adduser taro
deluser ユーザー削除(Debian系推奨) –remove-home ホームも削除 sudo deluser taro
ip IPアドレス・経路の確認 -c 色付き/-br 簡易表示 ip -c addr show
ss 通信ポートの確認 -t TCP/-u UDP/-l 待受/-n 数値 ss -tuln
ping 疎通確認 -c 回数/-i 送信間隔 ping -c 4 example.com
curl HTTP通信の確認 -I ヘッダのみ/-o 保存/-L 追従 curl -I https://example.com

ファイル・ディレクトリ操作コマンドの実行例

lsの読み方と-lahの使い分け

lsは引数なしでも動きますが、実務では-lと-hを組み合わせます。-lで詳細表示、-hで容量を読みやすい単位(K、M、G)に変換し、隠しファイルまで含めるなら-aを足してください。

$ ls -lah
total 24K
drwxr-xr-x 3 app app 4.0K Jul 30 09:12 .
drwxr-xr-x 8 app app 4.0K Jul 28 17:55 ..
-rw-r--r-- 1 app app  220 Jul 12 11:40 .env
-rw-r--r-- 1 app app 4.2K Jul 30 09:12 app.conf
drwxr-xr-x 2 app app 4.0K Jul 28 18:03 logs

先頭の10文字は「ファイル種別+所有者・グループ・その他の権限」を表します。1文字目がdならディレクトリ、-なら通常ファイル、lならシンボリックリンクを指します。続く数字はハードリンク数で、以降は所有者名、所有グループ名、サイズ、更新日時、名前と並びます。-hを付けない場合、サイズの単位はバイトになります。

cp・mv・rmの事故防止オプション

この3つは取り消しが効かないため、オプションの選び方が事故を分けます。cpでディレクトリを扱うときは-rが必須です。mvは移動と名前変更を兼ねており、移動先に同名ファイルがあると無言で上書きします。

$ cp -r src/ backup/
$ mv -i report.txt report_2026.txt
$ rm -i old.log

-iを付けると上書きや削除の前に確認を求めます。共用サーバーでの作業や、ワイルドカードを含む削除では-iを既定にしておくと安全側に倒せます。rm -rf を対話なしでパス変数と組み合わせるのは避けてください。変数が空になった場合に想定外の範囲を削除します。

テキスト検索・加工コマンドの実行例

grepによるログの絞り込み

grepは単体で使うより、-rでディレクトリ再帰、-nで行番号表示、-iで大文字小文字の無視を組み合わせると調査が速くなります。

$ grep -rni "timeout" /var/log/app/
/var/log/app/worker.log:184:connection timeout after 30s

該当行の前後も見たい場合は-Aで後ろ、-Bで前、-Cで両方の行数を指定します。障害調査では grep -C 5 のようにエラー行の前後5行を出すと、原因になった直前の処理を追えます。

sed・awkの役割分担

sedは行単位の置換、awkは列単位の抽出が得意です。役割が違うため、置換はsed、集計はawkと切り分けると読みやすいコマンドになります。

$ sed -i.bak 's/localhost/db.internal/g' app.conf
$ awk '{print $1}' access.log | sort | uniq -c | sort -rn | head

sedの-iは元ファイルを直接書き換えます。上の例のように-i.bakと拡張子を続けると、書き換え前の内容がapp.conf.bakとして残る仕組みです。本番の設定ファイルを触るときは拡張子付きで使ってください。なおこの書き方はGNU sed(Linux)の仕様で、macOSに入っているBSD sedでは sed -i '' 's/a/b/g' f.txt のように空文字の引数が必要になります。手順書をMacとLinuxで共用する場合の定番のつまずきどころです。

sort・uniqによる重複集計

uniqは「連続する」重複行しか除去しません。そのため単独で使うと期待どおりに動かず、必ずsortと組み合わせます。件数を数えるなら-cを付けます。

$ sort ip.txt | uniq -c | sort -rn
     42 203.0.113.10
      7 198.51.100.4

プロセス・リソース確認コマンドの実行例

ps・topでの負荷原因の特定

psは実行時点のスナップショット、topは継続的な監視という違いがあります。プロセスIDを調べてから停止する、という流れが基本です。

$ ps aux | grep [n]ginx
www-data 2417 0.0 0.4 55212 8123 ?  S  09:01  0:00 nginx: worker process

検索文字列の1文字目を角括弧で囲むと、grep自身のプロセスが結果に混ざるのを防げます。topは起動後に M でメモリ順、P でCPU順に並べ替えられます。

killのシグナル使い分け

killは「強制終了」専用のコマンドではなく、プロセスへシグナルを送るコマンドです。既定はSIGTERM(15)で、アプリケーションに終了処理をさせてから止めます。応答しない場合のみSIGKILL(9)を使います。

$ kill 2417
$ kill -9 2417

最初から-9を使うのは避けてください。SIGKILLはプロセスに割り込む余地を与えないため、書き込み途中のファイルやロックが残ります。データベースやキューを扱うプロセスでは、-9で止めた後の復旧作業のほうが高くつきます。

df・du・freeによる容量の切り分け

「ディスクが満杯」の調査では、dfで全体を見てからduで犯人を絞ります。両者を混同すると原因にたどり着けません。ファイル数が多い環境では容量に余裕があっても df -i のinode枯渇で書き込みに失敗するため、あわせて確認してください。

$ df -h
$ du -sh /var/* 2>/dev/null | sort -h | tail -5

圧縮・アーカイブコマンドの実行例

tarのオプション組み合わせ

tarのオプションは、c(作成)、x(展開)、t(一覧)、z(gzip圧縮)、f(ファイル名指定)、v(詳細表示)の組み合わせで覚えると迷いません。

$ tar -tzf backup.tar.gz
etc/nginx/nginx.conf
etc/nginx/sites-available/default
$ tar -xzvf backup.tar.gz -C /tmp/restore/

展開前にtで中身を確認する習慣を付けると、カレントディレクトリにファイルが散乱する事故を防げます。上の一覧のようにパスが相対で始まっていれば、展開先は-Cで指定した場所に収まります。Ubuntu 26.04に収録されているGNU tarは1.35系で、-Cの挙動は長く変わっていません。

zip・unzipとWindows間の受け渡し

zipとunzipはUbuntuのデスクトップ版には入っていますが、Server minimalやクラウドイメージには含まれないため、その場合は導入が必要です。Windows環境と受け渡しするファイルでは、tar.gzよりzipのほうが相手側で開きやすくなります。

$ sudo apt install zip unzip
$ zip -r docs.zip docs/
$ unzip -O cp932 from_windows.zip

Windowsで作成されたzipは、ファイル名がShift_JIS系(CP932)で格納されていることがあります。展開後に日本語ファイル名が文字化けする場合は、上の例のように-Oで文字コードを指定してください。-OはDebian/Ubuntuのunzipパッケージに含まれるオプションです。

パーミッション・ユーザー管理コマンドの実行例

chmodの数値表記とシンボリック表記

chmodには数値で指定する方法と、記号で指定する方法があります。数値は読み取り4、書き込み2、実行1の合計を、所有者・グループ・その他の順に3桁で並べます。

指定 意味 主な用途
644 所有者は読み書き、他は読み取り 設定ファイル・HTML
755 所有者は全権、他は読み取りと実行 ディレクトリ・スクリプト
600 所有者のみ読み書き 認証情報・鍵ファイル
700 所有者のみ全権 個人用ディレクトリ
$ chmod 600 ~/.ssh/id_ed25519
$ chmod u+x deploy.sh

SSHの秘密鍵が600より緩い権限だと、sshクライアントが鍵の読み込みを拒否します。接続できないときはまず権限を確認してください。777は「誰でも書き換えられる」状態を意味するため、公開ディレクトリで使ってはいけません。

chown・chgrpによる所有者の変更

chownは所有者を、chgrpは所有グループを変更します。chownはコロン区切りで両方を一度に指定できます。

$ sudo chown -R www-data:www-data /var/www/html
$ sudo chgrp developers shared.txt

ディレクトリ配下をまとめて変更する再帰オプションは、大文字の-Rです。GNU coreutilsのマニュアルにあるchownのオプションは-Rおよび–recursiveで、小文字の-rというオプションは定義されていません。sudo chown -r と入力してエラーになる場合は、大文字に直せば通ります。

Ubuntuでのuseraddとadduserの使い分け

ユーザー追加にはuseraddとadduserの2つがありますが、Ubuntuを含むDebian系では後者が推奨されています。Ubuntuのuseraddのマニュアルには「useradd is a low level utility for adding users.」と明記され、続けて「On Debian, administrators should usually use adduser(8) instead.」とあります。

$ sudo adduser taro
$ sudo usermod -aG sudo taro

useraddは低水準ユーティリティであり、ホームディレクトリの作成やパスワード設定を自動では行いません。対話的に一通り設定してくれるadduserを使うほうが、設定漏れによるログイン不可を避けられます。管理者権限を与える場合は、上の例のようにsudoグループへ追加します。

ネットワーク確認コマンドのip・ssへの移行

ifconfigやnetstatを実行して「command not found」と表示された経験があるなら、それは環境が壊れているのではありません。これらを収録するnet-toolsパッケージが、既定でインストールされなくなったためです。Canonicalは2017年7月の公式ブログで「We’ve already stopped installing ifconfig on desktops (it still gets installed on servers for now)」と述べ、iproute2系への移行を案内していました。その後サーバー側でも既定インストールから外れ、Ubuntu 26.04でも明示的に導入しない限り入りません。

旧コマンド 現在の標準 用途
ifconfig ip address show IPアドレスの確認
ifconfig ip link show MACアドレス・リンク状態
netstat ss ソケット・ポートの確認
route ip route 経路表の確認
ipmaddr ip maddress マルチキャストアドレス
mii-tool ethtool リンク速度・全二重の確認
$ ip -c addr show
$ ip route
$ sudo ip link set enp0s3 up
$ sudo ss -tulpn

ipコマンドは省略形が使えるため、日常の確認は ip a(アドレス表示)と ip r(経路表示)で足ります。リンク状態を変更する ip link set はroot権限が必要です。インターフェース名は環境ごとに異なり、上の enp0s3 はVirtualBoxの既定名にあたるため、物理サーバーやクラウドでは ip -c addr show で確認した実際の名前に置き換えてください。

ssは/procを走査するnetstatと違い、netlink経由でカーネルから直接情報を取得します。ソケット数が多い環境ほど応答の差が出る設計です。-tulpnで「TCP・UDPの待ち受けポートとプロセス名」を確認できますが、-pで他プロセスの名前まで表示するにはroot権限が要るため、sudoを付けてください。

既存の運用手順書がifconfig前提で書かれている場合、net-toolsパッケージ自体は現在もUbuntuのリポジトリに残っており(26.04収録版は2.10-2ubuntu1)、sudo apt install net-tools で導入できます。ただし新しく手順を書くならip系に寄せるべきです。net-toolsは長期にわたり開発が止まっており、ネットワーク名前空間など新しい機能を扱えません。tracerouteも既定では入らないことが多く、必要なら別途インストールします。

Ubuntu 26.04 LTSで変わったコマンドの実装

2026年4月23日にリリースされたUbuntu 26.04 LTS(Resolute Raccoon)では、コマンド名は同じまま中身の実装が入れ替わりました。Canonicalの公式発表は、このリリースに「new kernel drivers and subsystems written in Rust, as well as sudo-rs and uutils coreutils bringing memory-safe reimplementations of foundational system tools such as sudo and ls」が含まれるとしています。C言語で書かれたGNU coreutilsが、Rust製のuutils coreutilsへ置き換わったということです。

ただし全部が入れ替わったわけではありません。ここが実務上いちばん重要な点です。

対象 26.04での実装 確認方法
ls・cat・sortなど大半 uutils coreutils 0.8.0 ls --version
cp・mv・rm GNU coreutils(据え置き) cp --version
sudo sudo-rs sudo --version
$ ls --version
ls (uutils coreutils) 0.8.0

Canonicalはcp・mv・rmの3つについて、uutils版に未解決のTOCTOU(time-of-check to time-of-use)問題が2026年4月22日時点で8件残っているとして、LTSでの採用を見送りました。ファイルを破壊しうる操作を担う3コマンドだけを慎重に扱った形です。同社は依存関係の監査で多数の指摘を受けたうえで、次期のUbuntu 26.10で100%のrust-coreutils化を目標としています。そのため同じシステム上でも ls --version はuutils、cp --version はGNUと表示が割れます。リポジトリ収録版はrust-coreutils 0.8.0-0ubuntu3です。

日常的な使い方が変わるわけではありませんが、影響が出うる場面があります。最も注意したいのは、コマンドの出力文字列やエラーメッセージを前提にしたスクリプトです。文言がわずかに変わるだけでパースが崩れるため、バッチ処理や監視スクリプトは移行前に実挙動で確認してください。次に、GNU拡張のマイナーなオプションに依存している処理です。uutilsはGNU互換を目標にしていますが、実装状況はオプション単位で異なります。sudoersで複雑なルールやPAM連携を組んでいる環境も、sudo-rsへの切り替えにあたるため確認対象です。

GNU実装に戻す必要がある場合、Ubuntuは切り替えを提供者パッケージの形で用意しています。GNU側の提供者パッケージはcoreutils-from-gnuで、gnu-coreutilsに依存する構成です。ただしこれは基本システムの入れ替えにあたるため、検証環境で確認してから適用し、以降のリリースアップグレード時に構成が戻る可能性も見込んでおいてください。Ubuntu 26.04 LTSのサポート期限は2031年4月です。バージョンごとの差異はUbuntu 26.04 LTS(Resolute Raccoon)とは|リリース日・新機能・24.04からのアップグレードで整理しています。

manが引けないコマンドの調べ方

manコマンドはマニュアルを表示しますが、cdやalias、echoでは期待した内容が出ません。これらは独立した実行ファイルではなく、シェル自身に組み込まれたコマンドだからです。

まず、そのコマンドの正体を確かめます。

$ type cd
cd is a shell builtin
$ type find
find is /usr/bin/find

「shell builtin」と表示されたものは、manではなくhelpで説明を読みます。なおUbuntuの既定の.bashrcはlsやgrepにaliasを設定しているため、これらを調べるときは type -a ls のように-aを付けて全候補を出すほうが確実です。

$ help cd
$ help alias

コマンド名そのものを忘れた場合は、キーワードからマニュアルを横断検索できます。man -k compress のように渡すと、説明文に一致するコマンドの一覧が返ります。検索対象は英語のマニュアルなので、日本語で引きたい場合は sudo apt install manpages-ja で日本語manページを追加してください。実行できるコマンド名を列挙するなら、bash上で compgen -c が使えます(aliasや関数も含まれます)。manの各項目にある1や8といった数字はセクション番号で、1が一般ユーザー向けコマンド、5がファイル形式、8が管理者向けコマンドを指します。同名で内容が違う場合は man 5 crontab のようにセクションを指定します。

WindowsコマンドプロンプトとLinuxコマンドの対応

Windowsからサーバー運用に入ると、手が覚えたコマンドが通じずに戸惑います。よく使うものの対応は次のとおりです。

Windows(cmd) Linux 用途
dir ls 一覧表示
cd cd 移動(同名)
copy cp コピー
move / ren mv 移動・名前変更
del rm 削除
type cat 内容表示
findstr grep 文字列検索
tasklist ps プロセス一覧
taskkill kill プロセス停止
ipconfig ip addr IPアドレス確認

表記上の違いも押さえておくと混乱しません。パス区切りはWindowsが円記号(バックスラッシュ)、Linuxはスラッシュです。Linuxのパスは大文字と小文字を区別するため、Report.txtとreport.txtは別のファイルとして扱われます。オプションの記号もWindowsのスラッシュ形式に対し、Linuxはハイフン形式を使います。

Windows上でLinuxコマンドを試すなら、WSL2を使えば仮想マシンを別途構築せずにUbuntu環境を動かせます。仕組みと導入手順はWSL2とは|WSL1との違い・仕組み・インストール方法とメリット/デメリットを解説で解説しています。

よくある質問

Linuxコマンドの全一覧はどこで確認できますか

実行できるコマンド名を列挙するなら、bash上で compgen -c | sort -u を使います。説明文からキーワードで探す場合は man -k キーワード です。どちらも環境に実際に入っているコマンドだけが対象になるため、この記事の早見表のような一般的な一覧と併用すると探しやすくなります。

ls -lの各列は何を表していますか

左から、権限(先頭1文字が種別、続く9文字が所有者・グループ・その他の読み書き実行)、ハードリンク数、所有者、所有グループ、サイズ、最終更新日時、名前の順です。サイズの単位は既定でバイトのため、KやMで読みたい場合は-hを追加してください。

ifconfigがcommand not foundになるのはなぜですか

net-toolsパッケージが既定でインストールされなくなったためです。現在の標準はipコマンドで、ip addr show が同じ用途にあたります。どうしても必要なら sudo apt install net-tools で導入できますが、新規の手順書はip系で書くことをおすすめします。

sudo chown -rがエラーになるのはなぜですか

chownの再帰オプションは大文字の-Rであり、小文字の-rは定義されていないためです。GNU coreutilsのマニュアルでも再帰指定は-Rと–recursiveのみが挙げられています。sudo chown -R user:group dir と大文字で指定してください。

コマンドプロンプトのコマンドはLinuxでも使えますか

dirやcopyなどWindows固有のコマンドはLinuxでは動きません。ただしcdのように名前が共通のものもあります。前章の対応表で置き換えるか、WSL2でLinux環境そのものを用意する方法があります。

関連記事

資料請求

RELATED POSTS 関連記事