「Linuxを使い始めたけど、フォルダの名前が全部英語で分からない…」
「/bin、/etc、/varって、何が入ってるの?」
Windowsに慣れている人がLinuxを初めて触ると、その独特なファイル構造に戸惑ってしまいますよね。
この記事では、Linuxファイルシステムの基本構造について、初心者の方にも分かりやすく解説します。
主要なディレクトリの役割から、Windowsとの違い、実際の使い方まで、具体例を交えながら説明していきますね。
この記事を読めば、Linuxのファイル構造が頭の中でスッキリと整理できるはずです!
Linuxファイルシステムとは?基本を理解しよう

ファイルシステムの定義
ファイルシステムとは、コンピューター上でファイルやフォルダを管理する仕組みのことです。
もっと簡単に言うと、データをどこに、どうやって保存するかのルールですね。
Linuxでは、すべてのファイルとディレクトリ(フォルダ)が一つの大きな木構造(ツリー構造)で管理されています。
Windowsとの大きな違い
WindowsとLinuxでは、ファイル構造の考え方が根本的に違います。
Windowsの場合:
- Cドライブ(C:\)、Dドライブ(D:\)など、ドライブごとに分かれている
- USBメモリを挿すと「Eドライブ」などが追加される
- それぞれが独立した「ルート(起点)」を持つ
Linuxの場合:
- すべてがルートディレクトリ(/)から始まる一つの木構造
- ドライブという概念がない(正確には「マウント」という形で統合される)
- USBメモリも木構造の一部に組み込まれる
つまり、Linuxでは「/」が全ての始まりなんです。
ディレクトリツリー構造を視覚的に理解
家系図のような構造をイメージしてください。
/(ルート)
├── bin(実行ファイル)
├── etc(設定ファイル)
├── home(ユーザーのホーム)
│ ├── user1
│ └── user2
├── var(変動データ)
└── tmp(一時ファイル)
全ての道は「/」から始まり、枝分かれしていくわけですね。
Linuxの標準的なディレクトリ構造
Linuxでは、FHS(Filesystem Hierarchy Standard)という標準規格に基づいて、ディレクトリ構造が決められています。
どのLinuxディストリビューション(Ubuntu、CentOS、Fedoraなど)でも、基本的には同じ構造になっています。
主要なトップレベルディレクトリ一覧
ルート直下にある主なディレクトリを一覧で見てみましょう。
| ディレクトリ | 読み方 | 主な役割 |
|---|---|---|
| / | ルート | すべての起点 |
| /bin | ビン | 基本的なコマンド |
| /boot | ブート | 起動に必要なファイル |
| /dev | デブ | デバイスファイル |
| /etc | エトセ | 設定ファイル |
| /home | ホーム | ユーザーのデータ |
| /lib | リブ | 共有ライブラリ |
| /media | メディア | リムーバブルメディア |
| /mnt | マウント | 一時的なマウントポイント |
| /opt | オプト | 追加ソフトウェア |
| /proc | プロック | プロセス情報 |
| /root | ルート | 管理者のホーム |
| /sbin | エスビン | システム管理コマンド |
| /tmp | テンプ | 一時ファイル |
| /usr | ユーザー | ユーザー向けプログラム |
| /var | バー | 変動データ |
それぞれの詳細を見ていきましょう。
絶対に覚えておくべき重要ディレクトリ
/(ルートディレクトリ)
すべてのディレクトリの最上位です。
特徴:
- Linuxシステム全体の起点
- 他のすべてのディレクトリはここから派生
- スラッシュ「/」一つで表される
注意点:
- ルートディレクトリ自体に直接ファイルを置くことはほとんどない
- システムが正常に動作するために必要不可欠
/home(ホームディレクトリ)
各ユーザーの個人データが保存される場所です。
構造:
/home/
├── tanaka/(田中さん専用)
│ ├── Documents/(ドキュメント)
│ ├── Downloads/(ダウンロード)
│ └── Pictures/(写真)
└── suzuki/(鈴木さん専用)
├── Documents/
└── Music/(音楽)
Windowsとの比較:
- Windows:C:\Users\(ユーザー名)
- Linux:/home/(ユーザー名)
重要なポイント:
- ユーザーごとに完全に独立している
- 自分のホームディレクトリには自由にファイルを作成できる
- 他のユーザーのホームには基本的にアクセスできない
/bin(基本コマンド)
システムの起動や基本操作に必要なコマンドが入っています。
主な内容:
- ls(ファイル一覧表示)
- cp(コピー)
- mv(移動)
- rm(削除)
- cat(ファイル内容表示)
- bash(シェル)
特徴:
- 「bin」は「binary(バイナリ)」の略
- すべてのユーザーが使える基本的なコマンド
- システム起動時でも使える必要があるため、/binに配置
/etc(設定ファイル)
システムやアプリケーションの設定ファイルが集まっている場所です。
主な内容:
- /etc/passwd(ユーザー情報)
- /etc/hosts(ホスト名とIPアドレスの対応)
- /etc/fstab(ファイルシステムのマウント情報)
- /etc/network/(ネットワーク設定)
- /etc/ssh/(SSH設定)
特徴:
- 「et cetera(エトセトラ)」が由来という説がある
- ほとんどがテキストファイル
- 編集には管理者権限が必要なものが多い
注意点:
- 重要な設定ファイルが多いので、編集前には必ずバックアップを
- 間違えるとシステムが起動しなくなることも
/var(変動データ)
頻繁に変更されるデータが保存される場所です。
主な内容:
- /var/log/(ログファイル)
- /var/mail/(メール)
- /var/www/(Webサーバーのコンテンツ)
- /var/cache/(キャッシュデータ)
- /var/tmp/(一時ファイル)
特徴:
- 「variable(変動する)」が由来
- システムやアプリが動作中に書き込む
- ログファイルが大きくなりがち
実用例:
- システムのエラーを調べる時は/var/log/を確認
- Webサイトのファイルは/var/www/に配置することが多い
/tmp(一時ファイル)
一時的なファイルが保存される場所です。
特徴:
- 「temporary(一時的な)」の略
- すべてのユーザーが読み書きできる
- 再起動すると中身が削除されることが多い
用途:
- プログラムの一時作業ファイル
- ダウンロード中のファイル
- 圧縮ファイルの展開先
注意点:
- 重要なファイルは置かない
- 定期的に自動でクリーンアップされる
/usr(ユーザープログラム)
ユーザーが使うプログラムやデータが保存される場所です。
主な構造:
/usr/
├── bin/(一般ユーザー向けコマンド)
├── sbin/(システム管理コマンド)
├── lib/(ライブラリ)
├── share/(共有データ)
└── local/(ローカルにインストールしたソフト)
特徴:
- 「Unix System Resources」の略
- 最も大きなディレクトリの一つ
- ソフトウェアの大部分がここに入る
実用的な話:
- アプリをインストールすると、実行ファイルは/usr/binに入る
- 手動でインストールしたソフトは/usr/local/に入れることが多い
/root(管理者のホーム)
管理者(root)専用のホームディレクトリです。
特徴:
- /homeではなく/直下にある
- 一般ユーザーはアクセスできない
- システムの最高権限を持つユーザー専用
注意点:
- 日常的な作業でrootユーザーを使うのは危険
- 必要な時だけsudoコマンドで一時的に権限を得る
/boot(起動ファイル)
システムの起動に必要なファイルが入っています。
主な内容:
- カーネル(Linuxの中核プログラム)
- ブートローダー(起動プログラム)
- 初期RAMディスク
特徴:
- システムが起動する前に読み込まれる
- 非常に重要なディレクトリ
- 通常はあまり触らない
/dev(デバイスファイル)
ハードウェアデバイスを表すファイルが入っています。
主な内容:
- /dev/sda(ハードディスク)
- /dev/sda1(ハードディスクの1番目のパーティション)
- /dev/null(何も出力しない特殊ファイル)
- /dev/zero(ゼロを無限に出力する特殊ファイル)
Linuxの特徴:
- Linuxでは「すべてはファイル」という哲学
- ハードウェアもファイルとして扱える
/proc(プロセス情報)
実行中のプログラム情報が見られる特殊なディレクトリです。
特徴:
- 実際にはディスクに保存されていない(仮想的なファイルシステム)
- システムの動作状況をリアルタイムで表示
- /proc/cpuinfo(CPU情報)
- /proc/meminfo(メモリ情報)
使い方の例:
cat /proc/cpuinfo # CPU情報を表示
Windowsとの対応関係

Windowsユーザーが分かりやすいように、対応表を作りました。
| Windows | Linux | 内容 |
|---|---|---|
| C:\ | / | システムのルート |
| C:\Windows | /etc, /boot, /lib | システムファイル |
| C:\Program Files | /usr, /opt | インストールしたソフト |
| C:\Users\(ユーザー名) | /home/(ユーザー名) | ユーザーデータ |
| C:\Windows\System32 | /bin, /sbin | 実行ファイル |
| C:\Users\(ユーザー名)\Desktop | /home/(ユーザー名)/Desktop | デスクトップ |
| C:\Temp | /tmp | 一時ファイル |
| Dドライブ | /mnt/d など | 追加のドライブ |
ただし、完全に1対1対応しているわけではないので、参考程度に考えてください。
実際の使用例とコマンド
理論だけでなく、実際にどう使うかを見てみましょう。
ディレクトリの移動
cdコマンドで移動できます。
# ホームディレクトリへ移動
cd ~
または
cd /home/ユーザー名
# ルートディレクトリへ移動
cd /
# 一つ上のディレクトリへ移動
cd ..
# 特定のディレクトリへ移動
cd /var/log
ファイル一覧の表示
lsコマンドで確認できます。
# 現在のディレクトリの内容を表示
ls
# 詳細情報付きで表示
ls -l
# 隠しファイルも含めて表示
ls -a
# ルート直下のディレクトリを表示
ls /
ファイルの場所を調べる
whichコマンドやwhereisコマンドを使います。
# lsコマンドがどこにあるか調べる
which ls
# 結果:/bin/ls
# pythonがどこにインストールされているか
which python3
# 結果:/usr/bin/python3
ディスクの使用状況を確認
dfコマンドで確認できます。
# ディスクの使用状況
df -h
# 特定のディレクトリのサイズ
du -sh /var/log
パス(Path)の理解
Linuxでは、ファイルやディレクトリの場所をパスで表します。
絶対パス:
- ルート(/)から始まる完全な道筋
- 例:/home/tanaka/Documents/report.txt
相対パス:
- 現在いる場所から見た道筋
- 例:./Documents/report.txt(現在のディレクトリから)
- 例:../Pictures/photo.jpg(一つ上のディレクトリから)
初心者がよく間違えるポイント
間違い1:ルートユーザーと/rootを混同
ルートユーザー(root user):
- システムの管理者アカウント
- 最高権限を持つ
/root:
- ルートユーザーのホームディレクトリ
- 単なるフォルダの一つ
別物なので注意しましょう。
間違い2:/binと/usr/binの違いが分からない
簡単な違い:
- /bin:システム起動に必要な最小限のコマンド
- /usr/bin:一般的なアプリケーション
実際には:
- 最近のLinuxでは、/binは/usr/binへのシンボリックリンク(ショートカット)になっていることが多い
- 初心者は気にしなくてOK
間違い3:すべてのファイルに触っていいと思う
触ってはいけないもの:
- /etc/の重要な設定ファイル
- /boot/の起動ファイル
- /proc/、/sys/などの仮想ファイルシステム
基本ルール:
- 自分のホームディレクトリ(/home/ユーザー名)は自由に使える
- それ以外は管理者権限が必要
- よく分からないファイルは触らない
知っておくと便利なディレクトリ
/media と /mnt の違い
どちらも「外部ストレージをマウント(接続)する場所」ですが、使い分けがあります。
/media:
- USBメモリ、CD/DVDなど、自動マウントされるもの
- 例:/media/ユーザー名/USB001
/mnt:
- 手動でマウントする一時的なもの
- ネットワークドライブなど
/opt(オプショナルソフトウェア)
パッケージ管理外のソフトウェアを入れる場所です。
用途:
- 商用ソフトウェア
- 手動でインストールした大規模アプリ
- 例:/opt/google/chrome
/lib と /lib64
プログラムが使う共有ライブラリが入っています。
違い:
- /lib:32ビット用ライブラリ
- /lib64:64ビット用ライブラリ
Windowsでいう「.dll」ファイルのようなものですね。
/srv(サービスデータ)
サーバーが提供するデータを置く場所です。
用途:
- Webサーバーのコンテンツ(/srv/www/)
- FTPサーバーのデータ(/srv/ftp/)
ただし、実際には/varを使うことの方が多いです。
セキュリティとパーミッション(権限)
Linuxのディレクトリには、それぞれアクセス権限が設定されています。
パーミッションの基本
ls -l /
を実行すると、こんな表示が出ます:
drwxr-xr-x 2 root root 4096 10月 1 10:00 bin
drwxr-xr-x 3 root root 4096 10月 1 10:00 boot
意味:
- d:ディレクトリ
- rwx:所有者の権限(読み・書き・実行)
- r-x:グループの権限(読み・実行のみ)
- r-x:その他のユーザーの権限(読み・実行のみ)
なぜ権限が重要か
セキュリティの観点:
- 一般ユーザーが重要なファイルを削除できないようにする
- 他のユーザーのデータを見られないようにする
- システムを誤って壊さないようにする
よくある質問と回答
Q. なぜCドライブやDドライブがないの?
Linuxの設計思想が違うからです。
Linuxでは、すべてのストレージを一つの木構造に統合します。
例えば:
- Cドライブ → /(ルート)にマウント
- Dドライブ → /mnt/d にマウント
- USBメモリ → /media/usb にマウント
全てが「/」から始まる一つの構造になります。
Q. Windowsのようにフォルダを作っていいですか?
場所によります。
自由に作れる場所:
- 自分のホームディレクトリ(/home/ユーザー名)
- /tmp
作ってはいけない場所:
- /直下(ルート直下)
- /etc、/bin、/bootなどのシステムディレクトリ
基本ルール:
- 個人のデータは/home/ユーザー名の中に
- システム全体で使うものは適切な場所に(要管理者権限)
Q. 削除してはいけないディレクトリはどれですか?
基本的にすべてのシステムディレクトリは重要です。
特に危険:
- /bin、/sbin(コマンドが使えなくなる)
- /etc(設定が全て消える)
- /boot(起動できなくなる)
- /lib(プログラムが動かなくなる)
削除しても大丈夫:
- /tmp(一時ファイル)
- 自分のホームディレクトリ内のファイル
Q. ファイルがどこにあるか分からなくなりました
findコマンドやlocateコマンドで検索できます。
# ファイル名で検索
find / -name "ファイル名" 2>/dev/null
# より高速に検索(データベース使用)
locate ファイル名
# ホームディレクトリ内を検索
find ~ -name "*.txt"
Q. ディレクトリの容量が大きくなりすぎたら?
原因を特定して対処しましょう。
# 容量の大きいディレクトリを探す
du -sh /* | sort -h
# /var/logが大きい場合
sudo du -sh /var/log/*
# 古いログを削除
sudo journalctl --vacuum-size=100M
よくある原因:
- /var/log/のログファイルが肥大化
- /home/のユーザーデータが増えた
- /tmp/が掃除されていない
Q. もっと詳しく学ぶには?
おすすめの学習方法:
1. manコマンドで公式マニュアルを読む
man hier # ディレクトリ階層の説明
2. 実際に探索してみる
ls /
cd /etc
ls -la
3. 書籍やオンライン講座で体系的に学ぶ
4. 練習用の仮想環境を作る
- VirtualBoxなどで練習用Linux環境を構築
- 失敗しても大丈夫な環境で実験
まとめ:Linuxファイルシステムは一本の木
Linuxファイルシステムの基本構造について解説してきました。
この記事のポイント:
✓ Linuxのファイルシステムは「/」(ルート)から始まる一つの木構造
✓ Windowsのようなドライブの概念はなく、すべてが統合されている
✓ /home はユーザーデータ、/etc は設定ファイル、/var は変動データ
✓ /bin や /usr/bin には実行ファイル(コマンド)が入っている
✓ ディレクトリごとにアクセス権限が設定されている
✓ 自分のホームディレクトリ以外は基本的に触らない
✓ FHS(Filesystem Hierarchy Standard)という標準規格に従っている
最も大切なこと:
Linuxのファイルシステムは、最初は複雑に見えるかもしれません。
でも、「すべては/から始まる一本の木」という基本を理解すれば、意外とシンプルなんです。
今日から実践すること:
- ls / でルート直下のディレクトリを確認してみる
- 自分のホームディレクトリ(cd ~)で練習する
- /etc や /var を見学してみる(触らずに見るだけ)
- man hier でディレクトリ構造の公式説明を読む
最初は迷うこともあると思いますが、使っているうちに自然と体に馴染んできます。
焦らず、少しずつLinuxのファイルシステムに慣れていってくださいね!


コメント