ターミナルコマンドライン入門:ls、cd、mkdir から Bash、Git、AI ツールのデプロイまで
ゼロベースユーザー向けのターミナルコマンドライン入門記事で、Terminal、Shell、Bash、Zsh、パス、ls、cd、mkdir、git clone、npm run dev などの基礎概念を解説します。
多くの人が初めてターミナルコマンドラインに触れると、ボタンもアイコンもない「ハッカーの窓」のように感じます。英語のコマンドがずらっと並ぶだけだからです。特に GitHub、Vercel、Node.js、Python、Claude Code、Codex、さまざまな AI Agent のチュートリアルでは、ls、cd、mkdir、git clone、npm install、npm run dev といったコマンドが頻繁に出てくるため、初心者はすぐに挫折しやすいです。
しかし、コマンドラインはそれほど神秘的ではありません。これはコンピューター操作のもう一つの方法にすぎません。普段マウスでフォルダを開いたり、ファイルを作成・移動・プロジェクトを開いたりするように、コマンドラインでは文字列のコマンドで同様の操作を行います。
本記事では、最小限の難解さで、ターミナル、Shell、Bash、Zsh、パス、主要コマンド、そして GitHub、Vercel、Python、Node.js、AI ツールデプロイとのつながりを解説します。これらを理解すれば、OSS の説明文書、サイトデプロイの手順、AI ツールのドキュメントがずっと読みやすくなります。
一、ターミナル、Shell、Bash、Zsh それぞれは何?
コマンドラインを学ぶ前に、混同しやすい概念を整理します。
| 名称 | どう理解すればよいか | 説明 |
|---|---|---|
| Terminal / ターミナル | コマンドを入力するウィンドウ | Mac、Linux、Windows で開くコマンドラインインターフェース |
| Shell | コマンドを解釈するプログラム | 入力したコマンドを理解し、OS に実行を依頼する |
| Bash | よく使われる Shell の一種 | 多くの Linux チュートリアルでデフォルトとして使われる |
| Zsh | 別の Shell | macOS では現在より一般的に Zsh が使われる |
| PowerShell | Windows の代表的な Shell | Windows 上で使われる近代的なコマンドライン環境の一つ |
| Git Bash | Windows 上で Unix 系コマンドを再現する環境 | Git for Windows をインストールすると一般的に利用でき、多くの GitHub チュートリアル命令に近い動作をする |
シンプルに言えば次のとおりです。
Terminal でコマンドを入力すると、Shell がその内容を解釈し、OS が実行します。そのため、チュートリアルで「Bash を開いてコマンドを実行する」と書かれている場合、初心者はまず次のように理解して問題ありません。
ターミナルを開いて、これらのコマンドを入力する。OS によってコマンドライン環境は多少異なる点に注意が必要です。Mac や Linux のチュートリアルでよく見かける ls、cd、mkdir、rm といったコマンドは、Windows の PowerShell では完全には一致しないことがあります。ただし Git Bash、WSL、または Unix 互換環境を使えば、Mac/Linux のチュートリアルとほぼ同じ操作感になります。
二、Bash とは何?なぜチュートリアルで何度も出てくるのか?
Bash は Bourne Again Shell の略で、非常に一般的なコマンド言語インタープリターです。多くの Linux サーバー、デプロイ手順、OSS の README では、Bash あるいは Bash に近い Shell 文法がデフォルトで使われています。
チュートリアルで見かける次のような記法は、Bash の習慣に深く関係しています。
cd my-project && npm installexport OPENAI_API_KEY="your_api_key"python main.py --input data.txtBash は「高度なプログラミング言語」ではありません。複数のシステム操作をつないで実行するための仕組みです。たとえば、プロジェクトディレクトリへの移動、依存関係のインストール、環境変数の設定、スクリプト実行、ログ確認、デプロイなどを連続して行います。
初心者のうちは、まず Bash スクリプトを体系的に学ぶ必要はありません。まずは以下の内容を押さえれば十分です。
- ディレクトリを切り替える方法
- ファイルを確認する方法
- ファイルの作成・コピー・移動・削除
- プログラムを実行する方法
- 引数とオプションを読む方法
&&、|、>、>>の意味- そのコマンドが危険かどうかを判断する方法
この基礎が分かれば、変数、ループ、条件分岐、スクリプトファイルを学ぶタイミングは遅くありません。
三、コマンドラインの基本構造
1 つのコマンドは通常、3 つの部分で構成されます。
command [options] [arguments]例:
ls -la ~分解すると次の通りです。
| 部分 | 例 | 意味 |
|---|---|---|
| コマンド Command | ls | 実行したい操作 |
| オプション Options | -la | コマンドの挙動を変更する |
| 引数 Arguments | ~ | コマンドが作用する対象 |
もう 1 つ例を見ます。
mkdir -p images/iconsこれは images/icons というフォルダを作成し、途中の images フォルダが存在しない場合は同時に作成する、という意味です。
初心者がコマンドラインを恐れる大きな理由は、1 行全体を意味不明な英語の羅列として読んでしまうためです。実は分解すれば読み取れます。
python main.py --input data.txt --output result.mdこのコマンドは次のように理解できます。
python:Python を使ってプログラムを実行するmain.py:実行対象のスクリプト--input data.txt:入力ファイルがdata.txt--output result.md:出力ファイルがresult.md
四、パス:コマンドライン世界の「住所」
パスは、ファイルやフォルダがコンピューター内のどこにあるかを示す位置情報です。
Mac の例:
~/GitHub/LamjinlabWebsiteこれはフォルダの住所表記のようなものです。
ユーザーホームディレクトリ ~
└── GitHub
└── LamjinlabWebsite代表的なパス記号は次のとおりです。
| 記号 | 意味 | 例 |
|---|---|---|
/ | パス区切り文字。ルートディレクトリを表すこともできる | /Users/yourname |
~ | 現在のユーザーのホームディレクトリ | ~/Desktop |
. | 現在のディレクトリ | ./package.json |
.. | 1 つ上のディレクトリ | cd .. |
例:
cd ..これは 1 つ上のフォルダへ戻ることを意味します。
もう 1 つ:
cd ~/GitHub/LamjinlabWebsiteホームディレクトリ配下の GitHub/LamjinlabWebsite フォルダへ移動します。
パスに空白がある場合は、引用符で囲むのが推奨です。
cd "My Projects"または、バックスラッシュで空白をエスケープします。
cd My\ Projects初心者には、引用符で囲むほうが分かりやすくミスも起きにくいです。
五、基本の主要コマンド
まず初心者が優先的に習得すべきコマンドです。
1. pwd:現在位置を確認する
pwd = print working directory。現在の作業ディレクトリを表示します。
pwd出力例:
/Users/yourname/GitHub/LamjinlabWebsite「今どこにいるか分からない」ときは、まず pwd を実行します。
2. ls:ファイルとフォルダを一覧表示する
ls = list。現在のディレクトリ内の内容を列挙します。
lsよく使う書き方:
ls -l詳細情報を表示します。
ls -a隠しファイルを表示します。
ls -la詳細情報と隠しファイルを両方表示します。
隠しファイルは通常 . で始まります。
.env
.gitignore
.DS_Store.env や .env.local は API Key やデータベース接続情報などの機密設定を保存することが多く、GitHub へ不用意にアップロードすべきではありません。
3. cd:ディレクトリを切り替える
cd = change directory。別のフォルダへ移動します。
cd Desktopデスクトップへ移動します。
cd ..1 つ上のディレクトリに戻ります。
cd ~現在のユーザーのホームディレクトリへ戻ります。
cd -直前にいたディレクトリへ戻ります。
プロジェクト間の往復移動で非常に便利です。
4. mkdir:フォルダを作成する
mkdir = make directory。ディレクトリを作成します。
mkdir imagesimages というフォルダを作成します。
よりよく使われ、安全性も高い書き方として:
mkdir -p images/icons-p は中間ディレクトリが存在しない場合に自動作成し、すでにフォルダがある場合はエラーになりません。
例:
mkdir -p ~/ai-agent-workflow-ppt/imagesこれは次のパスを作成します。
~/ai-agent-workflow-ppt/imagesai-agent-workflow-ppt が存在しない場合も、同時に作成されます。
5. touch:空ファイルを作成する
touch は空ファイルを作成するためによく使われます。
touch README.mdREADME.md という名前のファイルを作成します。
サイトプロジェクトでは次のように見かけることがあります。
touch .env.localこれは通常、API Key やデータベース接続情報などを保存するローカル環境変数ファイルを作成する意味です。
6. cat、less、head、tail:ファイル内容の確認
cat はテキストファイルの内容をすばやく確認できます。
cat README.mdファイルが短い場合は cat が便利です。長い場合は less を使います。
less README.md代表的な操作は、スペースでページ送り、q で終了です。
先頭だけ見たい場合は:
head README.md末尾だけ見たい場合は:
tail README.mdログ確認では tail がよく使われます。たとえば:
tail -f app.log-f はファイルの変更を継続追跡します。プログラムの実行ログ監視に使います。
7. cp:ファイルやフォルダをコピーする
cp = copy。コピーを行います。
ファイルのコピー:
cp a.txt b.txtフォルダのコピーには通常 -r が必要です。
cp -r images images-backup-r は再帰的コピーで、フォルダ内の内容すべてを一緒にコピーします。
8. mv:移動またはリネームする
mv = move。移動です。
ファイルのリネーム:
mv old.md new.mdファイルの移動:
mv article.md content/posts/ai/したがって、mv の用途は主に 2 つあります。移動とリネームです。
9. rm:ファイルまたはフォルダを削除する
rm = remove。削除します。
ファイルの削除:
rm test.txtフォルダの削除:
rm -r test-folder初心者は rm の使用に特に注意が必要です。特に次のコマンドは危険です。
rm -rf some-folder-r は再帰削除、-f は強制削除を意味します。これは GUI のゴミ箱に入れるのではなく即時削除されるため、実行前にパスを必ず確認してください。
10. echo:文字列を出力する
echo は文字列を表示するために使われ、> や >> と組み合わせてファイルへ書き込むこともできます。
echo "hello"出力:
helloファイルへの書き込み:
echo "hello" > test.txthello を test.txt に書き込みます。
六、よく使うインタラクション
1. Tab の自動補完
コマンドやファイル名の一部を入力して Tab を押すと、ターミナルが自動補完を試みます。
たとえば現在のディレクトリに次のようなフォルダがある場合:
LamjinlabWebsitecd Lam と入力してから
cd LamTab を押すと、次のように自動補完されることがあります。
cd LamjinlabWebsite2. 上下矢印で履歴コマンドを参照する
↑ で前のコマンド、↓ で後のコマンドを表示できます。
反復実行時に便利です。たとえば:
npm run dev直前に実行したものは、↑ を1回押すだけで再利用できます。
3. Ctrl + C で実行中のプログラムを中断する
コマンドが長時間実行されている、または停止したい場合は次を押します。
Ctrl + Cローカル開発サーバー、Python スクリプト、Node.js プログラムなど、あらゆる長時間実行処理を停止できます。
4. clear で画面をクリアする
画面に文字が多すぎる場合は次を入力します。
clear表示領域を空にして、見通しをよくできます。
5. history で履歴コマンドを表示する
以前実行したコマンドを見たいときは:
history実行履歴の一覧が表示されます。初心者はここで最近何をやったかを振り返るのに使えます。
七、よく使う記号の説明
1. &&:前のコマンド成功時のみ次を実行
例:
mkdir -p images && ls意味は「まず images フォルダを作成し、成功した場合のみ ls を実行して現在の内容を表示する」です。
2. ;:前の結果に関係なく次を実行
例:
mkdir images; ls意味は「まず images フォルダ作成を試み、次に ls を実行する」。前のコマンドが失敗しても、次は実行されることがあります。
そのため依存インストールやデプロイ手順では && の意味を理解するのが重要です。&& は「前の処理が成功したときのみ次に進む」ことを明確に示します。
3. |:パイプ
パイプは、前のコマンドの出力を次のコマンドに渡して処理させます。
例:
ls | grep "mdx"意味は「現在のディレクトリを一覧表示し、その結果から mdx を含む行だけを抽出する」です。
4. > と >>:出力のリダイレクト
> は出力をファイルに書き込み、既存内容を上書きします。
echo "hello" > test.txt>> は出力をファイル末尾に追記します。
echo "world" >> test.txt> は内容を上書きするため、初心者は実行前に対象を確認する必要があります。
5. *:ワイルドカード
* は複数文字をまとめて一致させます。
例:
ls *.md現在のディレクトリ内の .md で終わるすべてのファイルを列挙します。
さらに:
rm *.log現在のディレクトリ内のすべての .log ファイルを削除します。これは削除コマンドなので、実行前に場所を確認してください。
八、実例でコマンドを分解して理解する
たとえば次のコマンドを見たとします。
mkdir -p ~/ai-agent-workflow-ppt/images && ls ~/ai-agent-workflow-ppt/これは 2 つに分解できます。
mkdir -p ~/ai-agent-workflow-ppt/imagesプロジェクト内に images フォルダを作成することを意味します。
ls ~/ai-agent-workflow-ppt/ai-agent-workflow-ppt フォルダ配下の内容を確認することを意味します。
中間の && は次を示します。
前の作成コマンドが成功した場合にのみ、次の表示コマンドを実行します。つまり全体としては次の意味です。
先に images フォルダを作成し、その後でプロジェクトディレクトリの内容を確認する。この種のコマンドは通常安全です。フォルダ作成と一覧表示のみで、削除処理を含まないためです。
九、コマンドラインと GitHub の関係
GitHub は多数の OSS をホストするプラットフォームで、Git はバージョン管理ツールです。GitHub で見るプロジェクトは、通常 Git でローカルに取得します。
最も一般的なコマンドは次の通りです。
git clone https://github.com/example/project.gitこのコマンドの意味は、リモートの GitHub リポジトリをローカルに複製することです。
取得後は通常、プロジェクトディレクトリへ移動します。
cd project次にファイル一覧を確認します。
ls多くの OSS README には次の流れが書かれます。
git clone https://github.com/example/project.git
cd project
npm install
npm run dev初心者がこれを一括でコピペして実行するより、行ごとに意味を理解したほうが確実です。
1. git clone:プロジェクトをダウンロードする 2. cd project:プロジェクトフォルダへ入る 3. npm install:依存関係をインストールする 4. npm run dev:開発サーバーを起動する
これで各ステップの意味が分かり、エラーの原因も追いやすくなります。
十、コマンドラインと Node.js、npm の関係
多くの Web プロジェクト、フロントエンド、Next.js、Vercel プロジェクトで Node.js と npm が使われます。
npm は Node.js エコシステムのパッケージ管理ツールです。代表的な用途は依存関係のインストール、スクリプト実行、開発サーバー起動、ビルドです。
よく使うコマンド:
npm installプロジェクトの依存関係をインストールします。通常は現在のディレクトリの package.json を読み取ります。
npm run devpackage.json に定義された dev スクリプトを実行し、通常はローカル開発サーバーを起動します。
npm run buildビルドスクリプトを実行し、通常は本番向けの成果物を生成します。
npm startスタートスクリプトを実行します。実際の動作は、package.json の定義に依存します。
そのため npm run dev を見たら、ただ暗記するのではなく、package.json を確認するのが実践的です。たとえば以下のような内容です。
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
}
}つまり:
npm run devは実際にはnext devを実行するnpm run buildは実際にはnext buildを実行するnpm startは実際にはnext startを実行する
これを理解すれば、フロントエンドのチュートリアルが格段に分かりやすくなります。
十一、コマンドラインと Python、AI ツールの関係
単にウェブ閲覧だけをするなら、コマンドラインは不要かもしれません。だが、より多くの AI ツール、OSS、オートメーションワークフローを使いたいなら、コマンドラインは避けて通れません。
たとえば:
python main.pyPython スクリプトを実行します。
python -m venv .venvPython 仮想環境を作成します。
pip install -r requirements.txtPython プロジェクトの依存関係をインストールします。
vercel deployWeb サイトをデプロイします。
claudeClaude Code のようなコマンドラインツールを起動する場合があります(インストール方法により変わります)。
AI Agent、Claude Code、Codex、Cursor、Next.js、FastAPI、Vercel のプロジェクトは本質的に、インストール・実行・デバッグ・デプロイをコマンドラインで行います。
つまりコマンドライン学習は「プロになれるため」ではなく、あなたのプロジェクトを自分の意思で制御するために必要なのです。
十二、初心者が最も犯しやすい間違い
1. 自分がどこにいるか分からない
対処:
pwd先に現在地を確認します。
2. パスの入力ミス
対処:Tab の自動補完を積極的に使い、長いパスは手入力を減らす。
3. ファイル名の大文字小文字を忘れる
多くの環境でファイル名の大文字小文字がコマンド実行結果に影響します。
たとえば:
README.md
readme.mdこれは別ファイルとして扱われることがあります。
4. 削除コマンドの誤用
特に危険なのは:
rm -rf実行前に必ずパスを確認し、見知らぬコマンドをいきなりコピーして実行しない。
5. 見知らぬコマンドをそのまま実行する
これも初心者が最も危険な習慣です。どのコマンドも実行前に少なくとも次の 3 点を理解してください。
- ファイルを削除する処理か?
- ファイルを上書きする処理か?
- 外部へ機密情報を送信する可能性があるか?
コマンドに rm -rf、sudo、curl ... | bash、chmod 777、> が含まれている場合は特に慎重に。
6. エラーメッセージを読まない
多くのエラーは原因をすでに示しています。たとえば:
No such file or directory通常はファイルやフォルダが存在しないことを意味し、パスの入力ミスが疑われます。
Permission denied通常は実行またはアクセス権がないことを意味します。
command not found通常はコマンド自体が存在しない、あるいはインストール不足や環境変数設定不足です。
EADDRINUSEローカル開発サーバーでよく出るエラーで、指定ポートがすでに使用中という意味です。たとえば 3000 ポートが既に別プロジェクトで使われている場合など。
十三、学習順の推奨
ゼロから始めるなら、次の順序で学ぶのをおすすめします。
1. まず pwd、ls、cd を覚えて、自分の位置を理解する。 2. 次に mkdir、touch、cp、mv を覚えて、ファイル作成と移動を理解する。 3. 次に注意深く rm を学び、削除方法を知る(乱用しない)。 4. さらに cat、less、head、tail を学び、ファイルやログの確認を習慣化する。 5. そのうえで &&、|、>、>> を学び、コマンドの組み合わせを理解する。 6. 最後に git clone、npm install、npm run dev、python main.py を使って、実際のプロジェクトでコマンドラインを活用する。
これらを抑えれば、ほとんどの GitHub README にある基礎的なコマンドの大半を理解できるようになります。
十四、まとめ
コマンドラインは神秘的なものでも、エンジニアだけの高度な道具でもありません。単にもう一つの操作方式にすぎません。
こう理解できます。
GUI はマウスとボタンでコンピューターを操作すること。
コマンドラインは文字と指示でコンピューターを操作すること。ls、cd、mkdir、pwd、git clone、npm run dev といった基礎コマンドを身につけてから、GitHub、Vercel、Python、Node.js、Claude Code、AI Agent のプロジェクトへ進めば、学習の手応えが格段に上がります。
本当に大事なのは、すべてのコマンドを一度に暗記することではなく、実際の操作を通して少しずつ慣れることです。わからないコマンドに出会ったら、まず分解して読みます。何をやっているか?どのオプションか?対象は何か?この順で見れば、コマンドラインは「見慣れない文字の束」から、自分で理解し再利用できる道具へと変わります。
よくある質問
この記事はどのレベルの開発者向けですか?
本文の「対象読者」の説明をご覧ください。本サイトのプログラミングカテゴリの記事は、初心者から AI プログラミングワークフローまで、各記事で前提知識が異なります。
記事内のツールやコマンドは、OS が違うと差がありますか?
あります。macOS、Linux、Windows のターミナル環境、パス形式、コマンド文法には差があります。記事内で特定の OS が示されていない場合は、公式ドキュメントで対応する OS 向けに調整してください。
どの AI ツールを使うと学習が進みますか?
Claude Code と Codex は、現在実用性の高いコーディング AI ツールとして、コードの説明、ロジック補完、デバッグ、スクリプト生成に使えます。ツール紹介は本サイトの CC Switch ツール記事 と Vibe Coding 面接問題集 も参照してください。
プログラミングで最も重要な習慣は何ですか?
手を動かすことが最優先です。チュートリアルを見るより先に、まず小さくてもよいので実践プロジェクトを始めることを勧めます。わからないことが出たら、理論を最後まで読んで終わるのではなく、ドキュメントとコードを実際に確認しながら進めてください。
参考情報源
- GNU Bash Reference Manual
- GNU Bash Manual:Shell Commands
- GNU Coreutils Manual
- GNU Coreutils:mkdir invocation
- Apple サポート:Terminal ユーザーガイド for Mac
- Microsoft Learn:Windows Terminal Documentation
- Git Documentation:git clone
- Pro Git Book
- npm Docs:scripts
- npm Docs:npm-run-script
- The Art of Command Line
- MDN Web Docs
ターミナルは AI プログラミングツールの基盤環境です。Claude Code や Codex をターミナルで使う方法をさらに知りたい場合は、CC Switch ツール紹介 と Vibe Coding 面接問題集 を参照してください。
Share