プログラミング · macOS · シェル
macOSターミナル(zsh)コマンドのタイピング練習
macOS のターミナル(zsh)で使うコマンド90個を打って覚えます。pwd・ls・ls -la などの基本から、コマンドごとに何をするかの説明が付いています。
1リスト・90語
無料・ログインなしで練習できます。押すとこのパックをフォローし、すぐに練習が始まります。
収録している言葉
macOSターミナル(zsh)コマンド
| 打つ言葉 | 意味・補足 |
|---|---|
| pwd | 現在のフォルダを表示 |
| ls | ファイルとフォルダの一覧 |
| ls -la | 隠しファイルを含む詳細一覧 |
| ls -lh | 容量を読みやすく表示 |
| cd ~/Downloads | cd:フォルダを移動(スペースを含むパスは引用符で囲む) |
| cd .. | 1つ上へ移動 |
| cd ~ | ホームへ移動 |
| cd - | 直前のフォルダへ戻る |
| open . | .:現在のフォルダを表す(パスの記号) / Finderで現在のフォルダを開く |
| ls .. | ..:1つ上のフォルダを表す(パスの記号) |
| ls ~/Desktop | ~:ホームフォルダを表す(パスの記号) |
| mkdir project | mkdir:フォルダを作成 |
| mkdir -p project/src/components | mkdir -p:階層をまとめて作成 |
| touch memo.txt | touch:ファイル作成・更新日時変更(既存ファイルの内容は変更しない) |
| cp memo.txt memo-backup.txt | cp:ファイルをコピー(同名のコピー先を上書きする場合がある) |
| cp -R src src-backup | cp -R:フォルダをコピー |
| mv old.txt new.txt | mv:移動・名前変更(同名の移動先を上書きする場合がある) |
| rm -i memo.txt | rm -i:確認しながら削除(ゴミ箱を経由しない) |
| rm -r old-folder | rm -r:フォルダと中身を削除(ゴミ箱を経由しない。対象を確認する) |
| rmdir empty-folder | rmdir:空のフォルダを削除 |
| ln -s ~/Documents/docs docs-link | ln -s:シンボリックリンクを作成 |
| file image.png | file:ファイル形式を判定 |
| stat memo.txt | stat:ファイル属性を表示(Linux版とオプションが異なる) |
| cat memo.txt | cat:内容を表示 |
| less app.log | less:長い内容をスクロール表示(qで終了。/文字列で検索) |
| head -n 20 app.log | head:先頭を表示 |
| tail -n 20 app.log | tail:末尾を表示 |
| tail -f app.log | tail -f:ログの追記を追跡(Control + Cで終了) |
| nano memo.txt | nano:テキストを編集(Control + Oで保存、Control + Xで終了) |
| grep -n "ERROR" app.log | grep:一致する行を検索(-nは行番号表示) |
| grep -Rn "TODO" src | grep -R:フォルダ内を再帰検索 |
| find . -name "*.tsx" | find:名前などでファイル検索(パターンを引用符で囲む) |
| mdfind 'kMDItemFSName == "*.pdf"' | mdfind:Spotlightの索引から検索(索引対象に依存する) |
| wc -l memo.txt | wc -l:行数を数える(正確には改行文字の数) |
| sort names.txt | sort:行を並べ替える |
| sort names.txt | uniq | uniq:隣接する重複行をまとめる(離れた重複はそのままでは除去しない) |
| diff -u old.txt new.txt | diff:ファイルの差分を表示 |
| open report.pdf | open:既定アプリで開く |
| open -a TextEdit memo.txt | open -a:アプリを指定して開く |
| open https://example.com | open URL:ブラウザでURLを開く |
| pwd | pbcopy | pbcopy:クリップボードへコピー |
| pbpaste > memo.txt | pbpaste:クリップボードを出力(例は既存ファイルを上書き) |
| screencapture ~/Desktop/screen.png | screencapture:スクリーンショットを保存(画面収録権限が必要な場合がある) |
| sips -g pixelWidth -g pixelHeight image.png | sips:画像情報を表示・画像変換(例は幅と高さの表示) |
| say "こんにちは" | say:文字を読み上げる |
| caffeinate -i | アイドルスリープを防ぐ(Control + Cで解除) |
| sw_vers | macOSバージョンを表示 |
| system_profiler SPHardwareDataType | system_profiler:ハードウェア情報を表示 |
| ps aux | プロセスを一覧表示 |
| top | CPU・メモリ使用状況を表示(qで終了) |
| pgrep -fl node | pgrep -fl:名前でプロセス検索 |
| kill 12345 | kill:プロセスに終了を要求(12345を対象PIDに置き換える) |
| lsof -nP -iTCP:3000 -sTCP:LISTEN | lsof -i:ポートの使用状況を確認(例は3000番の待受プロセス) |
| df -h | ディスクの空き容量を表示 |
| du -sh ~/Downloads | du -sh:フォルダの使用容量を表示 |
| curl -I https://example.com | curl -I:HTTPヘッダーを確認(HEADリクエストを送る) |
| curl -L -o page.html https://example.com | curl -L -o:URLからファイルを取得(-Lはリダイレクト追従。既存出力を上書き) |
| ping -c 4 example.com | ping:ネットワーク疎通を確認(応答がなくても通信不可とは限らない) |
| dig example.com | dig:DNS情報を確認 |
| ssh user@hostname | ssh:リモートへSSH接続(接続先のアカウントと認証が必要) |
| scp memo.txt user@hostname:~/ | scp:SSH経由でファイル転送(接続先の認証が必要) |
| project=ffpf-portal | 名前=値:シェル変数を設定 |
| echo "$project" | echo:文字や変数を表示 |
| export NODE_ENV=development | export:環境変数を設定(子プロセスにも渡される) |
| unset NODE_ENV | unset:変数を解除 |
| print -l $path | コマンド検索先を1行ずつ表示(zshのpath配列) |
| command -v node | command -v:コマンドの場所・定義を確認 |
| type -a python3 | type -a:同名コマンドの候補を確認 |
| alias ll='ls -lah' | alias:コマンドの別名を設定(永続化する場合は~/.zshrcに記述) |
| unalias ll | unalias:別名を解除 |
| history | コマンド履歴を表示 |
| source ~/.zshrc | source:現在のシェルで設定等を読み込む(指定ファイルの内容を実行する) |
| jobs | ジョブを一覧表示(現在のシェルのジョブが対象) |
| fg | ジョブを前面で再開 |
| exit | シェルを終了 |
| cat app.log | grep "ERROR" | |:左の標準出力を右の標準入力へ渡す |
| echo "hello" > memo.txt | >:出力を保存・上書き(既存内容を上書き) |
| echo "追加" >> memo.txt | >>:末尾へ追記 |
| ls /nonexistent 2> error.log | 2>:標準エラー出力を保存(既存のエラーログを上書き) |
| mkdir demo && cd demo | &&:成功した場合だけ次を実行 |
| command -v node || echo "見つかりません" | ||:失敗した場合だけ次を実行 |
| pwd; ls | ;:成否に関係なく順番に実行 |
| sleep 60 & | &:バックグラウンドで実行 |
| echo "現在地: $(pwd)" | $(...):コマンド出力を埋め込む |
| ls *.png | *:ファイル名の任意の文字列に一致(zshでは通常、一致がないとno matches found) |
| man ls | man:コマンドのマニュアルを表示(qで終了) |
| man zshbuiltins | zsh組み込み機能のマニュアル(qで終了) |
| sed -i '' 's/old/new/g' file.txt | sed -i '':ファイルを直接置換編集(macOS形式。バックアップを作らず上書き) |
| date -v+1d | 翌日の日付を表示(macOS形式。システム時刻は変更しない) |
| stat -f '%N %z bytes' file.txt | stat -f:書式を指定して属性を表示(macOS形式) |