ターミナルコマンド一覧(オプション・使用例付き)【実用重視】

投稿: 2025/9/27
ドキュメント

日常的によく使うターミナル(シェル)コマンドを、説明・主なオプション・使用例の列に分けて一覧にまとめました。最小限をすばやく思い出せる実用重視の内容にしています。Linux と macOS のどちらでも使えるコマンドを中心に、macOS 特有の便利コマンドも補足します。より詳しい使い方は man コマンド名 で確認できます。


使い方のヒント

  • 安全第一: rm -rf などの破壊的コマンドは、対象やパスをよく確認してから実行しましょう。誤操作を防ぐため、-i(確認付き)オプションの活用もおすすめです。

  • マニュアルの活用: コマンドの詳細やオプションは man コマンド名 または コマンド --help で確認できます。困ったときはまずマニュアルを参照しましょう。

  • 組み合わせが力: |(パイプ)やリダイレクト(>, >>)を組み合わせることで、複数のコマンドを連携させて効率的に作業できます。例: cat file.txt | grep "error" > errors.txt

  • タブ補完の活用: コマンドやファイル名の途中で Tab キーを押すと自動補完できます。長いパスや複雑なファイル名入力の手間を省けます。

  • 履歴の活用: 上下矢印キーで過去のコマンド履歴を呼び出せます。history コマンドで一覧表示、!n で特定の履歴番号を再実行できます。

  • ワイルドカードの利用: *? などのワイルドカードを使うと、複数ファイルをまとめて指定できます。例: ls *.txt

  • コマンドの中断・停止: 実行中のコマンドを中断したい場合は Ctrl + C、一時停止は Ctrl + Z で行えます。

  • エイリアスの活用: よく使うコマンドや長いコマンドは alias で短縮できます。例: alias ll='ls -lAh'

  • パーミッションの確認と変更: ファイルやディレクトリの権限は ls -l で確認、chmodchown で変更できます。


基本操作 / ナビゲーション

コマンド説明主なオプション使用例
pwd現在の作業ディレクトリを表示します。なしpwd(現在のパスを表示します)
lsディレクトリの内容を一覧表示します。-l: 詳細表示 -a: 隠しファイルも表示 -h: 人間に読みやすいサイズls(簡易一覧を表示します) ls -l(詳細一覧を表示します) ls -la(隠しを含む詳細一覧を表示します) ls -lh(サイズを見やすく表示します)
cdディレクトリを移動します。-: 直前のディレクトリへ ..: 親ディレクトリへcd /var/log(絶対パスで移動します) cd ..(親ディレクトリへ移動します) cd -(直前のディレクトリへ戻ります)
clear画面をクリアします。なしclear(画面を消去します)
exitシェルを終了します。なしexit(シェルを終了します)

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

コマンド説明主なオプション使用例
mkdirディレクトリを作成します。-p: 必要なら親ディレクトリも同時に作成mkdir -p project/data/rawraw ディレクトリを作る際に、dataproject など上位ディレクトリがまだ存在しない場合も、まとめてすべて作成します)
rmdir空のディレクトリを削除します。なしrmdir empty_dir(空のディレクトリを削除します)
touchタイムスタンプ更新/新規ファイル作成を行います。なしtouch new_file.txt(空ファイルを作成します)
cpファイル/ディレクトリをコピーします。-r: 再帰的にコピー -i: 上書き前に確認 -v: 進行表示cp -r src dst(ディレクトリを再帰的にコピーします)
mvファイル/ディレクトリを移動・改名します。-i: 上書き前に確認 -v: 進行表示mv old.txt new.txt(ファイル名を変更します)
rmファイル/ディレクトリを削除します。-r: 再帰削除 -f: 強制削除 -i: 確認ありrm -rf build/(⚠️ 確認なしで強制削除します。このコマンドは非常に危険で、指定したディレクトリやファイルがすべて即座に削除され、元に戻せません。誤って重要なファイルやシステムディレクトリを指定すると、システムが正常に動作しなくなる恐れがあります。実行前にパスや内容を必ず確認してください)
lnハード/シンボリックリンクを作成します。-s: シンボリックリンクln -s /path/to/original link_name(シンボリックリンクを作成します)

シンボリックリンクとは?
シンボリックリンク(シンリンク、soft link)は、実体ファイルやディレクトリへの「ショートカット」のような特殊ファイルです。リンク先が移動・削除されるとリンクが無効(壊れたリンク)になりますが、異なるファイルシステム間でも作成できます。
一方、ハードリンクは同じファイルシステム内でのみ有効で、リンク先が削除されても他のハードリンクから内容にアクセスできます。
シンボリックリンクは ln -s で、ハードリンクは ln で作成します。


検索 / テキスト処理

コマンド説明主なオプション使用例
catファイル内容を連結・表示します。-n: 行番号を付与cat file1 file2 > all.txt(2つの内容を連結して保存します)
lessページャで内容を閲覧します。なしless large.log(ページ送りで閲覧します)
head先頭行を表示します。-n: 行数指定head -n 20 file.txt(先頭20行を表示します)
tail末尾行を表示します。-n: 行数指定 -f: 追尾表示tail -f /var/log/system.log(追尾しながら末尾を表示します)
grep正規表現で行を検索します。-i: 大小無視 -v: 否定一致 -r: 再帰検索grep -ri "error" ./logs(大文字小文字を無視して再帰検索します)
wc行/単語/バイト数を数えます。-l: 行数 -w: 単語数 -c: バイト数wc -l access.log(行数のみを数えます)
sort行をソートします。-r: 逆順 -n: 数値としてsort -nr scores.txt(数値として降順に並べます)
uniq重複行を処理します。-c: 件数表示 -d: 重複のみ表示sort data.txt | uniq -c(重複数を集計します)
cut区切りでフィールド抽出をします。-d: 区切り文字 -f: フィールド番号cut -d ':' -f 1,7 /etc/passwd(1列目と7列目を取り出します)
find条件でファイル検索をします。-name: 名前 -type: 種別 -size: サイズfind . -type f -name "*.log"(拡張子が log のファイルを探します)
xargs標準入力を引数に変換して実行します。-n: 引数数 -P: 並列数 -I {}: プレースホルダーls *.log | xargs -n1 gzip(一覧を引数にして順次圧縮します)
sedストリームエディタで置換等を行います。-e: 式指定 -i: 上書き編集 -n: 自動出力抑制sed -i '' 's/foo/bar/g' file.txt(foo を bar に一括置換します)
awkパターン処理とレポート生成を行います。-F: 区切り指定awk -F, '{print $1, $3}' data.csv(1列目と3列目を表示します)

ストリームエディタ(sed)とは?
sed は「ストリームエディタ」と呼ばれ、ファイルや標準入力から受け取ったテキストデータを、コマンドで指定したルールに従って一括で編集・変換できるツールです。
たとえば「特定の文字列をすべて置換」「特定の行だけ削除」「パターンに一致する行だけ抽出」など、テキストファイルを直接開かずに自動処理できます。

  • sed 's/検索/置換/g' file.txt のように使い、s は「置換(substitute)」を意味します。

  • -i オプションを付けると、元ファイルを直接書き換えます(バックアップを取りたい場合は -i.bak などと指定)。

  • 正規表現も使えるため、複雑なパターンマッチや一括編集が可能です。

例:

  • sed 's/foo/bar/g' file.txt … file.txt 内の「foo」をすべて「bar」に置換して表示

  • sed -i '' 's/foo/bar/g' file.txt … file.txt の内容を直接「foo→bar」に書き換え


プロセス / システム情報

コマンド説明主なオプション使用例
ps実行中プロセスを表示します。-e: すべて -f: フル表示ps -ef(全プロセスを詳細表示します)
topリアルタイムでプロセスを監視します。なしtop(プロセスの状況を監視します)
killプロセスを終了します。-9: 強制終了kill -9 1234(PID 1234 を強制終了します)
uptime稼働時間・負荷を表示します。なしuptime(稼働時間と平均負荷を表示します)
whoami現在のユーザー名を表示します。なしwhoami(現在のユーザー名を表示します)
idユーザー/グループ ID を表示します。なしid(UID/GID を表示します)
dfファイルシステム使用量を表示します。-h: 人間向け表示 -T: FS タイプdf -hT(ファイルシステムと空き容量を見やすく表示します)
duディレクトリごとの容量を表示します。-h: 人間向け -s: 合計のみdu -sh ~/Downloads(合計サイズのみ見やすく表示します)
chmodパーミッションを変更します。-R: 再帰的に適用chmod 755 script.sh(権限を 755 に設定します)
chown所有者/グループを変更します。-R: 再帰的に適用chown user:staff file.txt(所有者とグループを変更します)

圧縮 / アーカイブ

コマンド説明主なオプション使用例
tarアーカイブ作成/展開を行います。-c: 作成 -x: 展開 -v: 詳細 -f: ファイル名指定tar -cvf archive.tar files/(アーカイブを作成します) / tar -xvf archive.tar(アーカイブを展開します)
zipZIP 形式で圧縮します。-r: ディレクトリ再帰zip -r archive.zip folder/(フォルダを再帰的に圧縮します)
unzipZIP を展開します。なしunzip archive.zip(ZIP を展開します)
gzipgzip で圧縮します。-k: 元ファイル保持gzip file.txt(単一ファイルを圧縮します)
gunzipgzip を展開します。なしgunzip file.txt.gz(gzip を解凍します)

ネットワーク / リモート

コマンド説明主なオプション使用例
curlHTTP リクエストを送ります。-I: ヘッダーのみ -L: リダイレクト追従 -O/-o: 保存 -X: メソッド指定curl -L -o file.tar.gz https://example.com/file.tar.gz(リダイレクトに追従して保存します)
wgetファイルをダウンロードします。-O: 保存名 -r: 再帰 -c: 続きからwget -O file.tar.gz https://example.com/file.tar.gz(指定した名前で保存します)
sshリモートにログインします。-i: 鍵指定 -p: ポートssh -i key.pem -p 2222 user@host(鍵とポートを指定して接続します)
scpリモートとファイルを転送します。-r: ディレクトリ -i: 鍵 -P: ポートscp -i key.pem -P 2222 file user@host:/path/(鍵とポートを指定して転送します)
which実行ファイルのパスを表示します。なしwhich python3(実行パスを表示します)
aliasコマンドの別名を定義します。なしalias ll='ls -lah'llls -lah に割り当てます)
historyコマンド履歴を表示します。なしhistory(履歴を表示します)

macOS で便利なコマンド

コマンド説明主なオプション使用例
openFinder/アプリで開きます。-a: アプリ指定 -R: Finder で表示 -t: デフォルトエディタopen .(カレントを Finder で開きます) open -a Finder .(Finder を指定して開きます) open README.md(既定アプリで開きます)
pbcopyクリップボードへコピーします。なしecho "hello" | pbcopy(文字列をクリップボードへ送ります)
pbpasteクリップボードから貼り付けます。なしpbpaste > clip.txt(クリップボードをファイルへ保存します)
brew[Homebrew](https://brew.sh/) でパッケージ管理します。install: インストール update: 定義更新 upgrade: パッケージ更新 list: 一覧brew install wget(パッケージをインストールします) / brew upgrade(インストール済みを更新します)