ターミナル入門|プログラマーが最初に覚えるべきコマンド20選【Mac/Windows対応】
目次
ターミナルとは何か・なぜ使うのか
ターミナル(コマンドライン / CLI)とは、文字を入力してコンピューターを操作するインターフェースです。GUIのようにマウスでクリックするのではなく、コマンドを打ち込んで操作します。
「難しそう」と感じる人も多いですが、プログラミングの現場ではターミナルを使わないことはほぼありません。以下のような場面で必須です。
npm installでパッケージをインストールするgit pushでコードをGitHubにアップロードする- サーバーにSSHで接続して設定を変更する
- Dockerコンテナを起動・停止する
ターミナルを使えるようになるだけで、開発の効率が大幅に上がります。
Mac と Windows のターミナル
Mac
Macには標準でターミナル.appが付属しています(アプリケーション → ユーティリティ)。より使いやすいiTerm2という無料アプリもおすすめです。
デフォルトのシェルはzsh(macOS Catalina以降)です。
Windows
Windowsには複数の選択肢があります。
| 名称 | 特徴 |
|---|---|
| PowerShell | Windows標準搭載。コマンドの一部はLinuxと異なる |
| WSL2(Windows Subsystem for Linux) | Windows上でLinux環境を動かす。開発現場で主流 |
| Git Bash | Gitインストール時に付属。Linux系コマンドが使える |
開発を本格的にやるならWSL2 + Ubuntuの組み合わせが最もおすすめです。Mac/Linuxと同じコマンドが使えるため、チームでの開発がスムーズになります。
絶対パスと相対パスの理解
コマンドを使う前に、パスの概念を理解しましょう。
絶対パス: ルート(/)から始まる完全なパス
/Users/aquarigon/Documents/project/index.html
相対パス: 現在地(カレントディレクトリ)からの相対的なパス
./project/index.html # 現在地からprojectフォルダのindex.html
../index.html # 一つ上の階層のindex.html
pwdコマンドで現在地を確認できます。迷ったらpwdを叩く習慣をつけましょう。
必須コマンド20選
ファイル・ディレクトリ操作
1. ls(Mac/Linux)/ dir(Windows)— ファイル一覧を表示
ls # カレントディレクトリのファイル一覧
ls -la # 隠しファイルも含めた詳細表示
ls src/ # srcディレクトリの内容を表示
2. cd — ディレクトリを移動
cd Documents # Documentsディレクトリに移動
cd .. # 一つ上の階層に移動
cd ~ # ホームディレクトリに移動
cd /Users/aquarigon # 絶対パスで移動
3. pwd — 現在地を表示
pwd
# 出力例: /Users/aquarigon/Documents/project
4. mkdir — ディレクトリを作成
mkdir my-project # my-projectフォルダを作成
mkdir -p src/components # 中間ディレクトリも含めて一括作成
5. touch — 空のファイルを作成
touch index.html # index.htmlを作成
touch src/styles/main.css # パスを指定してファイルを作成
6. cp — ファイル・ディレクトリをコピー
cp index.html backup.html # ファイルをコピー
cp -r src/ src-backup/ # ディレクトリを再帰的にコピー
7. mv — ファイルを移動・リネーム
mv old-name.txt new-name.txt # ファイル名を変更
mv index.html src/ # ファイルをsrcディレクトリに移動
8. rm — ファイル・ディレクトリを削除
rm file.txt # ファイルを削除
rm -rf node_modules/ # ディレクトリを強制的に再帰削除
rm -rfは元に戻せません。実行前に必ずパスを確認してください。
ファイルの中身を確認
9. cat — ファイルの内容を全て表示
cat package.json # package.jsonの内容を表示
cat .env # 環境変数ファイルの内容を確認
10. less — ファイルをページ単位で表示
less server.log # ログファイルをページ単位で確認
# スペースで次ページ、qで終了
11. head — ファイルの先頭を表示
head -n 20 app.log # 先頭20行を表示
12. tail — ファイルの末尾を表示
tail -n 50 error.log # 末尾50行を表示
tail -f access.log # リアルタイムでログを監視(-fオプション)
検索・フィルタリング
13. grep — ファイル内の文字列を検索
grep "error" app.log # "error"を含む行を表示
grep -r "useState" src/ # srcフォルダを再帰的に検索
grep -i "todo" src/*.js # 大文字小文字を区別せずに検索
14. find — ファイルを検索
find . -name "*.js" # カレントから.jsファイルを検索
find src/ -name "index.html" # src内のindex.htmlを検索
パーミッションとネットワーク
15. chmod — ファイルのパーミッションを変更
chmod +x deploy.sh # スクリプトに実行権限を付与
chmod 755 script.sh # 数値でパーミッションを設定
16. curl — URLにリクエストを送信
curl https://api.example.com/users # GETリクエスト
curl -X POST -d '{"name":"test"}' \
-H "Content-Type: application/json" \
https://api.example.com/users # POSTリクエスト
APIの動作確認やファイルのダウンロードに使います。
その他の便利コマンド
17. echo — テキストを出力
echo "Hello, World!" # テキストを出力
echo $PATH # 環境変数の値を確認
echo "PORT=3000" >> .env # ファイルに追記
18. which — コマンドのパスを確認
which node # 出力例: /usr/local/bin/node
which python3 # pythonのインストール場所を確認
バージョンが複数インストールされているときの確認に便利です。
19. man — コマンドのマニュアルを表示
man ls # lsコマンドのマニュアルを表示
man curl # curlのオプション一覧を確認
# qで終了
20. history — コマンド履歴を表示
history # 過去のコマンド履歴を表示
history | grep npm # npmを含む履歴だけ絞り込む
上矢印キーで履歴を遡ることもできます。Ctrl + Rでインクリメンタル検索も可能です。
覚えておくと便利なショートカット
| ショートカット | 動作 |
|---|---|
Tab | コマンド・パスを補完 |
Ctrl + C | 実行中のコマンドを強制終了 |
Ctrl + R | 履歴をインクリメンタル検索 |
Ctrl + L | 画面をクリア(clearコマンドと同じ) |
!! | 直前のコマンドを再実行 |
~ | ホームディレクトリを表す |
※ アフィリエイトリンクを含みます
Udemy — Linux Command Line & Shell Scripting Bible
実践的なLinuxコマンドをハンズオン形式で学べる講座。シェルスクリプトの自動化まで幅広くカバーしています。
※ アフィリエイトリンクを含みます
まとめ
20個のコマンドは一度に覚える必要はありません。まずはls・cd・mkdir・touch・rmの5つを使いこなすことから始めてください。
ターミナルは使えば使うほど慣れるものです。GUIでできる操作をあえてターミナルでやってみる練習を繰り返すことで、自然と身についていきます。