ターミナルコマンド一覧(オプション・使用例付き)【実用重視】
日常的によく使うターミナル(シェル)コマンドを、説明・主なオプション・使用例の列に分けて一覧にまとめました。最小限をすばやく思い出せる実用重視の内容にしています。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
で確認、chmod
やchown
で変更できます。
基本操作 / ナビゲーション
コマンド | 説明 | 主なオプション | 使用例 |
---|---|---|---|
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/raw (raw ディレクトリを作る際に、data や project など上位ディレクトリがまだ存在しない場合も、まとめてすべて作成します) |
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 (アーカイブを展開します) |
zip | ZIP 形式で圧縮します。 | -r : ディレクトリ再帰 | zip -r archive.zip folder/ (フォルダを再帰的に圧縮します) |
unzip | ZIP を展開します。 | なし | unzip archive.zip (ZIP を展開します) |
gzip | gzip で圧縮します。 | -k : 元ファイル保持 | gzip file.txt (単一ファイルを圧縮します) |
gunzip | gzip を展開します。 | なし | gunzip file.txt.gz (gzip を解凍します) |
ネットワーク / リモート
コマンド | 説明 | 主なオプション | 使用例 |
---|---|---|---|
curl | HTTP リクエストを送ります。 | -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' (ll を ls -lah に割り当てます) |
history | コマンド履歴を表示します。 | なし | history (履歴を表示します) |
macOS で便利なコマンド
コマンド | 説明 | 主なオプション | 使用例 |
---|---|---|---|
open | Finder/アプリで開きます。 | -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 (インストール済みを更新します) |