Chapter 3: ファイルとフォルダの構造
ファイルシステム、パス、拡張子の理解
3.1 ファイルシステムの仕組み
パソコンの中のデータは、すべて「ファイル」という単位で保存されます。そして、ファイルを整理するために「フォルダ(ディレクトリ)」があります。このファイルとフォルダの管理の仕組み全体をファイルシステムといいます。
ファイルシステムは「木(ツリー)」の形をしています。一番上にルートディレクトリ(根)があり、そこから枝のようにフォルダが広がっています。
Mac と Windows のルートの違い
| OS | ルートの表し方 | ホームフォルダの例 |
|---|---|---|
| Mac / Linux | / | /Users/yamada |
| Windows | C:\ | C:\Users\yamada |
この研修では主に Mac / Linux の表記(/ を使う)を使います。WSLを使っているWindowsユーザーも同じ表記になります。
3.2 絶対パスと相対パス
「パス(Path)」とは、ファイルやフォルダの住所のことです。パスには2種類あります。
絶対パス — 「日本国 東京都 渋谷区...」方式
ルートディレクトリ(/)から始まる、完全な住所です。どこから参照しても同じ場所を指します。
/Users/yamada/Documents/report.pdf読み方:「ルート(/) の中の Users の中の yamada の中の Documents の中の report.pdf」
相対パス — 「ここから2つ右の建物」方式
今いる場所(カレントディレクトリ) を基準にした住所です。
# 今 /Users/yamada にいる場合
Documents/report.pdf # Documents フォルダの中の report.pdf
./Documents/report.pdf # ./ は「今いる場所」を明示的に表す
../Desktop/image.png # .. は「1つ上のフォルダ」を意味する特別な記号のまとめ
| 記号 | 意味 | 例 |
|---|---|---|
/ | ルートディレクトリ(または区切り文字) | /Users/yamada |
~ | ホームディレクトリ | ~/Documents |
. | 現在のディレクトリ | ./file.txt |
.. | 1つ上のディレクトリ | ../other-folder |
練習: 以下のパスを声に出して読んでみましょう。
/Users/yamada/Documents/work/2024/report.pdf
# 「ルート > Users > yamada > Documents > work > 2024 > report.pdf」3.3 拡張子の意味
ファイル名の末尾にある .txt や .jpg などの部分を拡張子といいます。拡張子はそのファイルが「どんな種類のデータか」を表す目印です。
よく使う拡張子一覧
| 拡張子 | 種類 | 用途 |
|---|---|---|
.txt | テキストファイル | メモ、ログ |
.md | Markdown | ドキュメント(次章で詳しく学ぶ) |
.json | JSON | 設定ファイル、データのやり取り |
.yaml / .yml | YAML | 設定ファイル |
.html | HTML | Webページの構造 |
.css | CSS | Webページのデザイン |
.js | JavaScript | Webページの動作 |
.py | Python | Pythonプログラム |
.ts | TypeScript | TypeScriptプログラム |
.png / .jpg | 画像 | 写真、イラスト |
.pdf | 文書 |
拡張子は「偽れる」
注意点として、ファイル名の拡張子は変更できてしまいます。virus.exe を document.pdf に名前変更しても、中身はプログラムのままです。拡張子はあくまでも「目印」であり、中身を保証するものではありません。
3.4 テキストファイルとバイナリファイル
ファイルの種類は大きく2つに分けられます。
テキストファイル
人間が読めるテキスト(文字)だけで構成されているファイルです。ターミナルの cat コマンドで中身を確認できます。
cat hello.txt # 普通に読める
cat script.js # JavaScriptコードが表示されるテキストファイルの例:.txt .md .json .yaml .html .css .js .py .ts
バイナリファイル
画像・動画・音声・実行ファイルなど、0と1のデータが複雑に格納されているファイルです。テキストエディタで開くと文字化けします。
cat image.png # 文字化けした謎の記号が表示されるバイナリファイルの例:.png .jpg .mp4 .exe .zip .pdf
なぜ重要か:開発で扱うソースコード(.js .py .ts など)はすべてテキストファイルです。そのため、テキストエディタさえあればコードを書けます。
3.5 文字コード(UTF-8)
テキストファイルは「文字」を保存しますが、コンピュータは0と1しか扱えません。「あ」「A」「3」といった文字を数字に対応させる仕組みが文字コードです。
現在最もよく使われるのが UTF-8 です。
文字化けとは
異なる文字コードで保存されたファイルを、別の文字コードで開こうとすると「文字化け」が発生します。
正常: こんにちは
文字化け: ã"ã‚"ã«ã¡ã¯UTF-8 を使う習慣をつける
開発では必ず UTF-8 を使います。VS Code(次の章で学ぶ)はデフォルトで UTF-8 を使うため、通常は意識しなくても大丈夫です。ただし、古い Excel ファイルや社内システムでは「Shift-JIS」という文字コードが使われていることがあり、インポート時に文字化けすることがあります。
ターミナルでの確認方法
file hello.txt # ファイルの文字コードを確認
# 出力例: hello.txt: UTF-8 Unicode textまとめ
| 概念 | 一言で言うと | 例 |
|---|---|---|
| ファイルシステム | ファイル・フォルダの管理の仕組み | Mac の Finder で見えるもの全体 |
| 絶対パス | ルートからの完全な住所 | /Users/yamada/Documents/file.txt |
| 相対パス | 今いる場所からの住所 | ../Documents/file.txt |
| 拡張子 | ファイルの種類を示す目印 | .txt .json .py |
| テキストファイル | 人間が読める文字のファイル | ソースコード、設定ファイル |
| バイナリファイル | 0と1の複雑なデータのファイル | 画像、動画 |
| UTF-8 | 現代標準の文字コード | 開発では常にこれを使う |
次のChapterでは、テキストファイルを快適に編集できる「VS Code」の使い方を学びます。