Linuxでコマンドを使っていると、以下のようにハイフン(-)が付いた「オプション」をよく見かけますよね。
ls -l
grep -i
cp -r
tar -xvf
find . -name "*.txt"
でも、以下のような疑問を持つことはありませんか?
- 「この
-l
ってなんの意味?他にどんなオプションがあるの?」 - 「
-
と--
の違いがわからない」 - 「コマンドごとに覚えるオプションが多すぎて混乱する」
- 「manページが長すぎて、必要な情報がすぐに見つからない」
- 「オプションを組み合わせるときのルールを知りたい」
この記事では、以下の内容を分かりやすく解説します。
- Linuxコマンドオプションの基本的な読み方と意味
- オプション一覧をすぐに確認する複数の方法
- 短い形式(-l)と長い形式(–help)の違いと使い分け
- 実践的によく使うオプションの覚え方
- オプション組み合わせのルールと応用テクニック
これを読めば、manページを調べなくてもサクッとオプションを理解できるようになり、Linuxコマンドを効率的に使いこなせるようになります。
Linuxのオプションとは?基本概念を理解しよう

オプションの定義と役割
オプションとは オプションとは、コマンドに追加の動作や設定を指示するパラメータです。同じコマンドでも、オプションを変えることで全く異なる動作をさせることができます。
基本的な構文
コマンド名 [オプション] [引数]
具体例
# 基本形:ファイル一覧を表示
ls
# オプション付き:詳細情報も表示
ls -l
# 複数オプション:詳細+隠しファイル+人間可読形式
ls -lah
オプションの形式
短い形式(Short Options)
- 形式:
-
+ 1文字のアルファベット - 例:
-l
,-a
,-r
,-v
- 特徴:入力が簡単、組み合わせ可能
長い形式(Long Options)
- 形式:
--
+ 単語や句 - 例:
--help
,--version
,--recursive
- 特徴:意味が分かりやすい、自己文書化
両方対応の例
# 短い形式
ls -a
# 長い形式(同じ意味)
ls --all
# 短い形式
rm -r
# 長い形式(同じ意味)
rm --recursive
オプションの種類
フラグ型オプション
- 機能:特定の動作を有効/無効にする
- 例:
-v
(verbose:詳細表示)、-q
(quiet:静寂モード)
値を取るオプション
- 機能:パラメータに値を指定
- 例:
-n 5
(数値5を指定)、--output=file.txt
(ファイル名を指定)
組み合わせ例
# フラグ型の組み合わせ
ls -la # -l と -a を同時指定
# 値を取るオプションとの組み合わせ
grep -n -A 3 "pattern" file.txt # 行番号表示 + マッチ後3行表示
オプション一覧を確認する方法

方法1:–help オプション(最も簡単)
基本的な使い方
コマンド名 --help
実例と出力の読み方
ls --help
出力例
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
-l use a long listing format
-h, --human-readable with -l and/or -s, print human readable sizes
-r, --reverse reverse order while sorting
-R, --recursive list subdirectories recursively
-t sort by modification time, newest first
出力の読み方
- Usage行:基本的な使用方法
- 左列:短い形式と長い形式のオプション
- 右列:オプションの説明
方法2:man コマンド(詳細マニュアル)
基本的な使い方
man コマンド名
操作方法
- スクロール:↑↓矢印キー、Page Up/Down
- 検索:
/検索語
でパターン検索 - 次の検索:
n
キー - 終了:
q
キー
manページの構成
- NAME:コマンドの名前と簡単な説明
- SYNOPSIS:使用方法の概要
- DESCRIPTION:詳細な説明
- OPTIONS:オプションの詳細リスト
- EXAMPLES:使用例
- SEE ALSO:関連コマンド
効率的な使い方
# オプション部分に直接ジャンプ
man ls
# 表示後に「/OPTIONS」と入力してEnter
方法3:info コマンド(GNU系の詳細情報)
GNU Coreutils の詳細情報
info ls
info grep
info tar
infoの特徴
- 階層構造:章立てされた詳細マニュアル
- ハイパーリンク:関連項目への移動が可能
- 豊富な例:実践的な使用例が充実
操作方法
- 移動:↑↓矢印キー
- リンク:Enterで移動
- 戻る:
l
(エル)キー - 終了:
q
キー
方法4:コマンド固有の確認方法
バージョン情報と簡易ヘルプ
# バージョン表示(多くのコマンドで利用可能)
ls --version
grep --version
# 一部のコマンドでは -h も利用可能
tar -h
コマンドのみ実行(一部で有効)
# オプションなしで実行すると使用方法が表示されるコマンド
grep
awk
sed
方法5:オンラインリソースの活用
コマンド例集サイト
- explainshell.com:コマンドラインの解説
- man7.org:オンラインmanページ
- tldr:簡潔な使用例集
tldrコマンドのインストールと使用
# Ubuntuでのインストール
sudo apt install tldr
# 使用例
tldr ls
tldr tar
tldr find
主要コマンドのオプション詳細解説
ファイル・ディレクトリ操作系
lsコマンド(ファイル一覧表示)
# 基本的なオプション
ls -l # 詳細形式で表示
ls -a # 隠しファイル(.で始まるファイル)も表示
ls -h # ファイルサイズを人間可読形式で表示(1K, 1M等)
ls -t # 更新時刻順でソート(新しいものが上)
ls -r # 逆順でソート
ls -R # サブディレクトリも再帰的に表示
# 組み合わせ例
ls -lah # 詳細+隠しファイル+人間可読形式
ls -ltr # 詳細+時刻順+逆順(古いものが下)
cpコマンド(ファイルコピー)
# 基本的なオプション
cp -r # ディレクトリを再帰的にコピー
cp -i # 上書き前に確認
cp -p # 属性(パーミッション、タイムスタンプ)を保持
cp -v # 詳細表示(何をコピーしているかを表示)
cp -u # 更新されたファイルのみコピー
# 実用例
cp -rip source/ dest/ # 安全なディレクトリコピー
cp -v *.txt backup/ # txtファイルを詳細表示でバックアップ
mvコマンド(ファイル移動・リネーム)
# 基本的なオプション
mv -i # 上書き前に確認
mv -v # 詳細表示
mv -n # 上書きしない(no-clobber)
# 実用例
mv -iv old_name new_name # 安全なリネーム
rmコマンド(ファイル削除)
# 基本的なオプション
rm -r # ディレクトリを再帰的に削除
rm -f # 強制削除(確認なし)
rm -i # 削除前に確認
rm -v # 詳細表示
# 安全な使用例
rm -i *.tmp # 一時ファイルを確認付きで削除
rm -rf /path/to/old_dir # ディレクトリを強制削除(注意!)
テキスト処理系
grepコマンド(パターン検索)
# 基本的なオプション
grep -i # 大文字小文字を無視
grep -v # マッチしない行を表示(反転)
grep -n # 行番号を表示
grep -r # ディレクトリを再帰的に検索
grep -l # マッチしたファイル名のみ表示
grep -c # マッチした行数をカウント
grep -A 3 # マッチ行の後3行も表示
grep -B 3 # マッチ行の前3行も表示
grep -C 3 # マッチ行の前後3行を表示
# 実用例
grep -rn "TODO" . # TODOコメントを再帰検索
grep -v "^#" config.txt # コメント行以外を表示
grep -E "(error|warning)" # 正規表現でエラーまたは警告を検索
findコマンド(ファイル検索)
# 基本的なオプション
find . -name "*.txt" # ファイル名パターンで検索
find . -type f # ファイルのみ検索
find . -type d # ディレクトリのみ検索
find . -size +1M # 1MB以上のファイル
find . -mtime -7 # 7日以内に更新されたファイル
find . -exec command {} \; # 検索結果に対してコマンド実行
# 実用例
find /var/log -name "*.log" -mtime +30 -exec rm {} \; # 古いログファイル削除
find . -type f -name "*.tmp" -delete # 一時ファイル削除
アーカイブ・圧縮系
tarコマンド(アーカイブ作成・展開)
# 主要オプション
tar -c # アーカイブ作成(create)
tar -x # アーカイブ展開(extract)
tar -t # 内容一覧表示(list)
tar -v # 詳細表示(verbose)
tar -f # ファイル名指定
tar -z # gzip圧縮/展開
tar -j # bzip2圧縮/展開
tar -J # xz圧縮/展開
# よく使う組み合わせ
tar -czvf archive.tar.gz dir/ # ディレクトリをgzip圧縮でアーカイブ
tar -xzvf archive.tar.gz # gzip圧縮アーカイブを展開
tar -tzf archive.tar.gz # アーカイブ内容を確認
システム情報・プロセス系
psコマンド(プロセス表示)
# 基本的なオプション
ps aux # 全ユーザーの全プロセスを詳細表示
ps -ef # 全プロセスを別形式で表示
ps -u user # 特定ユーザーのプロセス
ps --forest # プロセスツリー表示
# 実用例
ps aux | grep apache # Apacheプロセスを検索
ps -eo pid,ppid,cmd --sort=-%cpu # CPU使用率順でプロセス表示
topコマンド(プロセス監視)
# 実行時オプション
top -p PID # 特定プロセスのみ監視
top -u user # 特定ユーザーのプロセスのみ
top -n 1 # 1回だけ表示して終了
# 実行中のキー操作
# M: メモリ使用量順
# P: CPU使用率順
# k: プロセス終了
# q: 終了
オプション組み合わせのルールと応用

短いオプションの組み合わせルール
基本ルール
# 個別指定
ls -l -a -h
# 組み合わせ指定(推奨)
ls -lah
# 値を取るオプションは最後に配置
tar -czf archive.tar.gz dir/ # -f は最後
注意すべきパターン
# ❌ 間違い:値を取るオプションが途中にある
tar -cfz archive.tar.gz dir/ # -f の後に値が必要なので -z が無視される
# ✅ 正しい:値を取るオプションを最後に
tar -czf archive.tar.gz dir/
長いオプションの使用方法
値の渡し方
# = を使用(推奨)
grep --max-count=5 pattern file
# スペース区切りも可能
grep --max-count 5 pattern file
特殊なオプション
–(ダブルハイフン)
# オプション終了の明示
grep -r -- "-pattern" . # "-pattern"をパターンとして検索
rm -- -filename # "-filename"というファイルを削除
組み合わせでの意味変化
ls -lt # 詳細表示 + 時刻順ソート
ls -lS # 詳細表示 + サイズ順ソート
grep -rv # 再帰検索 + 反転マッチ
効率的なオプション学習法
段階的学習アプローチ
レベル1:基本オプション
# 毎日使うレベル
ls -l, ls -a
cp -r, cp -i
rm -r, rm -i
grep -i, grep -r
レベル2:中級オプション
# 週数回使うレベル
find . -name, find . -type
tar -czf, tar -xzf
ps aux
grep -n, grep -v
レベル3:上級オプション
# 特定状況で使うレベル
find . -exec
grep -A, grep -B, grep -C
tar --exclude
ps --sort
覚え方のコツ
頭文字による記憶法
- -l = long(詳細表示)
- -a = all(すべて)
- -r = recursive(再帰的)
- -i = interactive(対話的)または ignore-case(大文字小文字無視)
- -v = verbose(詳細)または invert-match(反転)
使用頻度による優先順位
- 毎日使う:ls -l, grep -i, cp -r
- 週数回:find -name, tar -czf
- 月数回:advanced grep options, complex find
実践的な練習方法
チートシート作成
# 自分用チートシートファイル作成
echo "ls -lah # 詳細+隠し+読みやすい" >> ~/cheat.txt
echo "grep -rn # 再帰+行番号" >> ~/cheat.txt
エイリアス活用
# ~/.bashrc または ~/.zshrc に追加
alias ll='ls -lah'
alias grep='grep --color=auto'
alias la='ls -A'
alias l='ls -CF'
よくある疑問と解決方法

オプションが効かない場合
原因1:オプション指定ミス
# ❌ 間違い
ls -L # -l(エル)のつもりで -L(大文字エル)
# ✅ 正しい
ls -l # 小文字のエル
原因2:古いバージョンのコマンド
# バージョン確認
ls --version
grep --version
# 利用可能オプション確認
ls --help | grep -E '^[ ]*-'
原因3:システム固有の違い
# GNU版とBSD版の違い確認
man ls # MANUALで提供元を確認
which ls # コマンドの場所確認
オプションの調べ方がわからない
効率的な調査手順
- 簡易確認:
command --help
- 詳細確認:
man command
- 実例確認:
tldr command
- Web検索:「linux command options」
複雑なオプション組み合わせ
デバッグ手法
# 段階的に確認
ls -l # まず基本形
ls -la # オプション追加
ls -lah # さらに追加
# verbose オプション活用
cp -v file1 file2 # 何が実行されているか確認
まとめ:Linuxオプションをマスターして効率的なコマンドライン操作を
Linuxコマンドのオプションを理解することで、コマンドライン操作が劇的に効率化されます。
オプション理解の基本ポイント
- 短い形式(-l)と長い形式(–help)の使い分け
- **
--help
で手軽に確認、man
**で詳細確認 - 頭文字記憶法で効率的に暗記
- 段階的学習で無理なくマスター
効率的な学習方法
- 毎日使うオプションから優先的に覚える
- 実際の作業で繰り返し使用
- エイリアス設定で入力を簡素化
- チートシート作成で参照を高速化
実践的な活用テクニック
- 組み合わせルールを理解して安全に使用
- verbose オプションでコマンドの動作を確認
- man ページでの効率的な情報検索
- オンラインリソースの併用
覚えておくべき重要オプション
# ファイル操作
ls -lah # 詳細+隠し+読みやすい
cp -rip # 再帰+対話+属性保持
rm -ri # 再帰+対話(安全な削除)
# テキスト処理
grep -rn # 再帰+行番号
find . -name "*.txt" # ファイル名検索
# アーカイブ
tar -czf # 作成+gzip+ファイル指定
tar -xzf # 展開+gzip+ファイル指定
コメント