「ls コマンドで /etc とか /var とか出てくるけど、何がどこにあるかさっぱりわからない…」
この記事では、Linuxのファイルシステム構造(ディレクトリ構造)をわかりやすく解説します。Windowsの「Cドライブ」や「フォルダ」との違いを交えながら、各ディレクトリの役割を一つずつ丁寧に説明します。
ターミナルの基本操作に不安がある方は、先に「ターミナルの使い方と基本コマンド20選」をご覧ください。
Linuxのファイルシステムとは?
ファイルシステムとは、コンピューター上でファイルやフォルダを整理・管理する仕組みのことです。
Windowsでは「Cドライブ(C:)」「Dドライブ(D:)」のように、ドライブ文字でストレージを区別します。一方Linuxはすべてが「/(ルート)」という一つの起点から始まるツリー構造になっています。
主要ディレクトリの役割を解説
/bin ― 基本コマンドが入っている場所
ls・cp・mv・catなど、すべてのユーザーが使う基本的なコマンドの実体がここに入っています。/binは「binary(バイナリ)」の略です。
⚠️ 補足:Ubuntu 20.04以降などの現代的なLinuxでは、/binは/usr/binへのシンボリックリンク(ショートカット)になっています。コマンドの実体は/usr/binにありますが、互換性のため/binからも同じようにアクセスできます。
$ ls /bin
bash cat cp echo ls mkdir mv rm ...
/etc ― 設定ファイルの置き場所
システムやアプリケーションの設定ファイルが集まっています。インフラエンジニアが最もよく触る場所の一つです。
/etc/hosts:ホスト名とIPアドレスの対応表/etc/passwd:ユーザーアカウント情報/etc/nginx/:Nginxの設定ファイル/etc/ssh/:SSHの設定ファイル
/home ― ユーザーのホームディレクトリ
各ユーザーの個人ファイルが置かれる場所です。ユーザー名「user」なら/home/user/が作られます。ターミナルで~と表示されるのがここです。
$ ls /home
user yamada tanaka
$ echo ~
/home/user
/root ― rootユーザーのホームディレクトリ
管理者(root)専用のホームディレクトリです。一般ユーザーはアクセスできません。/home/rootではなく/rootにあることに注意してください。
/var ― 変化するデータの置き場所
「variable(可変)」の略で、システムが動作中に変化するデータが入っています。
/var/log/:ログファイル(syslog・auth.logなど)/var/www/:Webサーバーのドキュメントルート/var/tmp/:一時ファイル(再起動後も残る)
/tmp ― 一時ファイルの置き場所
一時的なファイルが置かれます。再起動すると中身が消えます。誰でも読み書きできるため、スクリプトの一時ファイル置き場としてよく使われます。
/usr ― ユーザー向けプログラムの置き場所
「Unix System Resources」の略。apt installでインストールしたソフトウェアの多くがここに入ります。
/usr/bin/:一般ユーザー向けコマンド(python3・gitなど)/usr/lib/:ライブラリファイル/usr/local/:手動インストールしたソフト
/dev ― デバイスファイルの置き場所
「device(デバイス)」の略。Linuxでは、ハードディスク・USBメモリ・キーボードなどのデバイスもファイルとして扱います。
/dev/sda:最初のハードディスク/dev/null:出力を捨てるときに使う特殊ファイル
/proc ― プロセス情報の仮想ファイルシステム
実際のファイルはなく、カーネルが動的に生成する仮想的なファイルシステムです。実行中のプロセス情報やシステム情報がここから取得できます。
$ cat /proc/cpuinfo # CPU情報
$ cat /proc/meminfo # メモリ情報
/mnt・/media ― マウントポイント
外部ストレージ(USBメモリ・外付けHDDなど)を接続したときの「入口」です。WSL2では/mnt/c/でWindowsのCドライブにアクセスできます。
$ ls /mnt/c/Users/ # WSL2からWindowsのユーザーフォルダを見る
/boot ― 起動に必要なファイル
OSを起動するために必要なカーネルやブートローダーが入っています。通常は触りません。
主要ディレクトリの役割一覧
| ディレクトリ | 役割・内容 |
|---|---|
| / | ルートディレクトリ(すべての起点) |
| /bin | 基本コマンド(ls、cp、mvなど) |
| /sbin | システム管理コマンド(root向け) |
| /etc | 設定ファイル(nginx.conf、sshd_configなど) |
| /home | 一般ユーザーのホームディレクトリ |
| /root | rootユーザーのホームディレクトリ |
| /var | 可変データ(ログ・メール・Webコンテンツなど) |
| /var/log | ログファイルの格納場所 |
| /tmp | 一時ファイル(再起動で削除) |
| /usr | ユーザーが使うプログラム・ライブラリ |
| /usr/local | 手動インストールしたソフトウェア |
| /proc | カーネル・プロセス情報(仮想ファイルシステム) |
| /dev | デバイスファイル(ディスク・USBなど) |
| /mnt / /media | 外部デバイスのマウントポイント |
よく使うパスまとめ
| パス | 役割 | 使う場面 |
|---|---|---|
| /etc/ | 設定ファイル | Nginx・SSH・hostsの編集 |
| /home/ユーザー名/ | 個人ファイル | 日常的な作業全般 |
| /var/log/ | ログファイル | トラブルシューティング |
| /var/www/ | Webドキュメントルート | Webサーバー構築 |
| /tmp/ | 一時ファイル | スクリプトの作業ディレクトリ |
| /usr/bin/ | コマンド・プログラム | インストール済みソフトの確認 |
| /mnt/c/ | WindowsCドライブ(WSL2) | WindowsとLinuxのファイル共有 |
実際に確認してみよう
ターミナルを開いて、実際にディレクトリ構造を確認してみましょう。
# ルートディレクトリの中身を見る
$ ls /
# /etc の中身を見る
$ ls /etc | head -20
# /var/log のログ一覧を見る
$ ls /var/log
# 自分のホームディレクトリを確認する
$ echo $HOME
/home/user
まとめ:この記事で学んだこと
- Linuxのファイルシステムは「/」を頂点としたツリー構造になっている
- Windowsのドライブ文字とは違い、すべてが一つの起点から始まる
/etcは設定ファイル・/homeは個人ファイル・/var/logはログと覚えておこう- WSL2では
/mnt/c/でWindowsのCドライブにアクセスできる - 大文字・小文字は区別される(
Fileとfileは別物)
関連記事
- Linuxって何?Windowsと何が違うの?
- UbuntuとCentOSどっちを選ぶべき?初心者向け比較
- Linuxを無料で今すぐ試す5つの方法
- WSL2のインストールと初期設定【Windows完全対応】
- ターミナルの使い方と基本コマンド20選
▶ 関連記事:パスの概念を完全理解【絶対パス vs 相対パス】
▶ 関連記事:ファイルの中身を見る・検索する方法【cat/less/grep】
▶ 関連記事:ファイルの権限を理解する【chmod・chown完全解説】
📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。



コメント