ストーリー
ディレクトリとは
ディレクトリ = フォルダ のことです。
| 用語 | 意味 | よく使う場面 |
|---|---|---|
| ディレクトリ | フォルダ | ターミナル、プログラミング |
| フォルダ | ディレクトリ | GUI、一般的な会話 |
ターミナルでは「ディレクトリ」という言葉を使うことが多いです。
ツリー構造
コンピュータのファイルシステムはツリー(木)構造になっています。
graph TD
Root["/(ルート)"]
Users["Users/"]
Taro["taro/"]
Hanako["hanako/"]
Desktop["Desktop/"]
Documents["Documents/"]
Downloads["Downloads/"]
Apps["Applications/"]
System["System/"]
Root --> Users
Root --> Apps
Root --> System
Users --> Taro
Users --> Hanako
Taro --> Desktop
Taro --> Documents
Taro --> Downloads
style Root fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style Taro fill:#dbeafe,stroke:#2563eb,color:#1e40af
style Hanako fill:#dbeafe,stroke:#2563eb,color:#1e40af
- 一番上(根っこ)をルートディレクトリと呼ぶ
- 下に向かって枝分かれしていく
- 各ディレクトリの中にファイルやディレクトリが入る
ルートディレクトリ
Macの場合
graph TD
Root["/(ルート)"]
Users["Users/ ← ユーザーのホーム"]
Apps["Applications/ ← アプリ"]
System["System/ ← システム(触らない)"]
Library["Library/ ← ライブラリ"]
Root --> Users
Root --> Apps
Root --> System
Root --> Library
style Root fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style System fill:#fee2e2,stroke:#dc2626,color:#991b1b
Windowsの場合
graph TD
Root["C:\(ルート)"]
Users["Users\ ← ユーザーのホーム"]
PF["Program Files\ ← アプリ"]
Win["Windows\ ← システム(触らない)"]
Root --> Users
Root --> PF
Root --> Win
style Root fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style Win fill:#fee2e2,stroke:#dc2626,color:#991b1b
Linuxの場合
graph TD
Root["/(ルート)"]
Home["home/ ← ユーザーのホーム"]
Usr["usr/ ← ユーザープログラム"]
Etc["etc/ ← 設定ファイル"]
Var["var/ ← 可変データ"]
Root --> Home
Root --> Usr
Root --> Etc
Root --> Var
style Root fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
ホームディレクトリ
ホームディレクトリは、あなた専用のスペースです。
# ホームディレクトリに移動
cd ~
# ホームディレクトリを確認
pwd
出力例:
/Users/taro # Mac
/home/taro # Linux
C:\Users\taro # Windows
ホームの中身
graph TD
Home["~/(ホームディレクトリ)"]
Desktop["Desktop/ ← デスクトップ"]
Documents["Documents/ ← ドキュメント"]
Downloads["Downloads/ ← ダウンロード"]
Pictures["Pictures/ ← 写真"]
Music["Music/ ← 音楽"]
Home --> Desktop
Home --> Documents
Home --> Downloads
Home --> Pictures
Home --> Music
style Home fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#064e3b
普段の作業は、このホームディレクトリの中で行います。
親ディレクトリと子ディレクトリ
graph LR
Path["/Users/taro/Documents/projects/"]
Parent["taro = 親"]
Child["Documents = 子"]
Grand["projects = 孫"]
Path --- Parent
Path --- Child
Path --- Grand
style Parent fill:#dbeafe,stroke:#2563eb,color:#1e40af
style Child fill:#e0e7ff,stroke:#4f46e5,color:#312e81
style Grand fill:#ede9fe,stroke:#7c3aed,color:#4c1d95
- 親ディレクトリ: 1つ上の階層
- 子ディレクトリ: 1つ下の階層
表記方法
| 記号 | 意味 |
|---|---|
. | 現在のディレクトリ |
.. | 親ディレクトリ(1つ上) |
~ | ホームディレクトリ |
/ | ルートディレクトリ |
実際に確認してみよう
現在地を確認
pwd
現在のディレクトリの中身
ls
親ディレクトリに移動
cd ..
pwd
ホームに戻る
cd ~
pwd
ルートに移動
cd /
ls
ルートには重要なシステムファイルがあるので、見るだけにしましょう。
隠しファイル・隠しディレクトリ
ドット(.)で始まるファイルやディレクトリは隠しファイルです。
ls -a
出力例:
. .. .bashrc .config
Desktop Documents Downloads
.bashrc→ シェルの設定ファイル.config→ アプリの設定ディレクトリ
普段は見えないけど、重要な設定ファイルが隠されています。
よくある構造パターン
プロジェクトフォルダ
graph TD
Projects["~/projects/"]
Website["website/"]
App["app/"]
Index["index.html"]
Style["style.css"]
Images["images/"]
Logo["logo.png"]
Banner["banner.jpg"]
Main["main.py"]
Config["config.json"]
Projects --> Website
Projects --> App
Website --> Index
Website --> Style
Website --> Images
Images --> Logo
Images --> Banner
App --> Main
App --> Config
style Projects fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#064e3b
style Website fill:#dbeafe,stroke:#2563eb,color:#1e40af
style App fill:#dbeafe,stroke:#2563eb,color:#1e40af
style Images fill:#fef3c7,stroke:#d97706,color:#92400e
整理のコツ
- プロジェクトごとにフォルダを分ける
- 関連するファイルは同じフォルダにまとめる
- わかりやすい名前をつける
ハンズオン
以下のコマンドを順番に実行してください。
# 1. ホームディレクトリに移動
cd ~
# 2. 現在地を確認
pwd
# 3. 中身を確認
ls
# 4. 隠しファイルも確認
ls -a
# 5. 親ディレクトリに移動
cd ..
# 6. 確認
pwd
ls
# 7. ルートに移動
cd /
# 8. 確認
pwd
ls
# 9. ホームに戻る
cd ~
まとめ
| 概念 | 説明 |
|---|---|
| ディレクトリ | フォルダのこと |
| ツリー構造 | ファイルシステムの階層構造 |
| ルート(/) | 一番上のディレクトリ |
| ホーム(~) | ユーザー専用のディレクトリ |
| 親(..) | 1つ上の階層 |
| 隠しファイル | ドットで始まるファイル |
チェックリスト
- ディレクトリ構造を理解できた
- ルートとホームの違いがわかった
-
..で親に移動できた - 隠しファイルを表示できた
次のステップへ
ディレクトリ構造は理解できましたか?
次のセクションでは、パスの読み方・書き方を学びます。ファイルの場所を正確に指定できるようになりましょう!
推定読了時間: 30分