「Cドライブってどこ? /etc や /var って何のフォルダ?」
Windowsに慣れている方がLinuxに初めて触れると、最初に戸惑うのがファイルの置き場所、つまり「ディレクトリ構造」です。C:\Windows や C:\Program Files のような見慣れた名前は一切なく、/etc や /var といった謎のディレクトリが並んでいます。
この記事では、Linuxのディレクトリ構造をWindowsと比較しながら、初心者の方にもわかるようにやさしく解説します。Ubuntu 24.04 LTS・RHEL 9(WSL2・VPS環境)で動作確認済みです。
「どのフォルダに何が入っているのか」が見えるようになると、Linuxの操作が格段にスムーズになります。
この記事のポイント
・Linuxのファイルはすべて「/」(ルート)から始まる1本のツリー構造
・/home がWindowsの「マイドキュメント」に相当する場所(~ で省略できる)
・/etc は設定ファイル、/var はログの保存場所と覚えておけばOK
・pwdとlsコマンドで今いる場所とファイルの一覧を確認できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
WindowsとLinuxのファイル管理はここが違う
Windowsでは「Cドライブ」「Dドライブ」のようにドライブ文字でディスクを区別しますが、Linuxにはドライブ文字がありません。Linuxでは、すべてのファイルが「/」(スラッシュ)を起点とした1本のツリーにぶら下がっています。USBメモリを挿しても、別のハードディスクを追加しても、すべてこのツリーのどこかに「合流」する仕組みです。
この「/」のことを「ルートディレクトリ」と呼びます。木の根っこ(root)にあたる、すべての出発点です。
この設計はLinuxの源流にあたる「Unix」の設計思想「すべてはファイルである」から来ています。ハードディスクも、USB接続のデバイスも、ネットワーク設定も、すべて「ファイル」として同じ仕組みで扱います。そのため覚えるべき構造は「/ から始まる1本のツリー」の1種類だけです。
WindowsとLinuxの違いを表にまとめると、こうなります。
| 比較項目 | Windows | Linux |
|---|---|---|
| ファイルの起点 | C:\ や D:\ などドライブごと | /(ルート)の1本だけ |
| 区切り文字 | \(バックスラッシュ) | /(スラッシュ) |
| 個人ファイルの場所 | C:\Users\ユーザー名 | /home/ユーザー名 |
| 設定ファイルの場所 | レジストリやAppData | /etc 配下のテキストファイル |
| 大文字・小文字の区別 | 区別しない | 区別する(File.txt と file.txt は別物) |
覚えておきたい主要ディレクトリ一覧
Linuxのルート直下には、役割ごとにディレクトリが並んでいます。全部覚える必要はありません。まずは以下のディレクトリだけ押さえておけば、日常の操作で困ることはほとんどありません。
1. /home ~ 自分のファイルを置く場所
Windowsでいう「マイドキュメント」や「デスクトップ」にあたる場所です。ユーザーごとに専用のディレクトリが用意されます。
例えば、ユーザー名が「tanaka」なら
/home/tanaka が自分の作業場所になります。写真やドキュメント、自分で作ったファイルはここに保存するのが基本です。
よく使う省略表記として、
~(チルダ)は自分のホームディレクトリを指します。~/Documents と書けば /home/tanaka/Documents と同じ意味です。cdコマンドでも cd ~ でホームに戻れます。2. /etc ~ 設定ファイルが集まる場所
Linuxの設定ファイルはほとんどがテキストファイルで、この /etc ディレクトリにまとまっています。Windowsでいうと「コントロールパネル」や「レジストリ」の役割に近いイメージです。
ただし、Linuxの設定ファイルはメモ帳のような普通のテキストエディタで開けるので、Windowsのレジストリよりもずっとわかりやすい仕組みです。代表的なファイルを押さえておきましょう。
・/etc/hosts:IPアドレスとホスト名の対応表(WindowsのC:\Windows\System32\drivers\etc\hostsと同等)
・/etc/fstab:起動時に自動でマウントするディスクを定義するファイル
・/etc/passwd:ユーザーアカウント一覧(パスワード本体は /etc/shadow に分離)
・/etc/ssh/sshd_config:SSHサーバーの接続ポートや認証方法の設定
3. /var ~ ログやデータが溜まる場所
「variable(変化する)」の略で、サーバーの動作記録(ログ)や、メールのデータなど、時間とともに変化するファイルが保存される場所です。・/var/log:システムやアプリのログファイル。トラブルが起きたとき真っ先に確認する
・/var/www:WebサーバーApache/Nginxの公開ディレクトリのデフォルト置き場
・/var/spool:印刷スプールやメールキューなど「処理待ちデータ」
・/var/cache:パッケージマネージャーのキャッシュ(容量を消費するので定期的に削除する)
ディスク容量が足りなくなったとき、まず確認すべきは
/var/log です。ログが数GBに膨らんでいることがよくあります。「何かおかしい」と思ったらログを見る。これはLinuxの基本中の基本です。4. /tmp ~ 一時ファイル置き場
プログラムが作業中に使う一時ファイルが置かれる場所です。Windowsの「Temp」フォルダと同じ役割で、再起動すると中身が消えることがあります。
なお、/var/tmp は再起動をまたいでもデータが残る一時置き場です。スクリプトの一時作業には /tmp、アプリが継続して使う一時データには /var/tmp、という使い分けが基本です。大事なファイルを /tmp に保存したままサーバーを再起動すると消えてしまうので注意してください。
5. /usr ~ プログラム本体が入る場所
「Unix System Resources」の略で、Windowsでいう「Program Files」に近い場所です。インストールしたソフトウェアの実行ファイルやライブラリがここに格納されます。
・/usr/bin:一般ユーザーが実行できるコマンド(
ls、grep、python3 など)・/usr/sbin:管理者(root)向けコマンド(
useradd、fdisk など)・/usr/lib:共有ライブラリ(Windowsの .dll に相当する .so ファイル群)
・/usr/share:アーキテクチャ非依存のデータ(ドキュメント、マニュアルページなど)
6. /bin と /sbin ~ コマンドが入っている場所
Linuxの基本コマンド(ls、cp、mv など)が保存されている場所です。/bin には一般ユーザーが使うコマンド、/sbin には管理者(root)が使うシステム管理用コマンドが入っています。
最近のLinux(RHEL 9やUbuntu 24.04 LTSなど)では、/bin は /usr/bin への「ショートカット(シンボリックリンク)」になっているケースがほとんどです。
7. /root ~ 管理者専用のホームディレクトリ
一般ユーザーのホームは /home/ユーザー名 ですが、システム管理者(root)だけは /root が専用のホームディレクトリです。紛らわしいですが、ルートディレクトリ「/」と管理者のホーム「/root」は別物です。
8. /proc と /dev ~ 仮想・デバイスファイルの置き場
・/proc:実際のファイルは存在しない仮想ディレクトリです。実行中のプロセス情報をファイルとして参照できます(例:/proc/cpuinfo でCPU情報、/proc/meminfo でメモリ情報)・/dev:デバイスファイルの置き場です。ハードディスクは
/dev/sda、USBメモリは /dev/sdb のように表現されます「すべてはファイルである」というLinuxの設計思想を体現したディレクトリです。普段は直接触ることはありませんが、存在を知っておくとトラブルシュート時に役立ちます。
実際にディレクトリ構造を見てみよう
ここまでの説明を、実際のLinux画面で確認してみましょう。WSL2のUbuntuやVPSのターミナルで、以下のコマンドを実行してみてください。
1. 今いる場所を確認する(pwdコマンド)
まず、自分が今どのディレクトリにいるのかを確認します。# 今いるディレクトリを表示する $ pwd /home/tanaka
pwd は「Print Working Directory(作業ディレクトリを表示する)」の略です。ログイン直後は、自分のホームディレクトリ(/home/ユーザー名)にいることが確認できます。
2. ディレクトリの中身を一覧表示する(lsコマンド)
次に、ルートディレクトリの中身を見てみましょう。# ルートディレクトリの中身を表示する(Ubuntu 24.04 LTS / WSL2環境) $ ls / bin dev home lib64 media opt root sbin srv tmp var boot etc lib lost+found mnt proc run snap sys usr
これがLinuxのディレクトリ構造の「骨格」です。環境によって一部のディレクトリが異なる場合があります。
3. ディレクトリを移動する(cdコマンド)
別のディレクトリに移動するにはcd(Change Directory)コマンドを使います。# /etc に移動する $ cd /etc # 今いる場所を確認する $ pwd /etc # /etc の中身を表示する(先頭10件) $ ls | head -10 adduser.conf alternatives apparmor apparmor.d apt bash.bashrc bindresvport.blacklist ca-certificates ca-certificates.conf cron.d
cat /etc/hosts で中身を確認することもできます。4. ホームディレクトリに戻る
迷子になったら、引数なしのcd を実行するだけで自分のホームディレクトリに戻れます。# ホームディレクトリに戻る $ cd # 戻れたことを確認する $ pwd /home/tanaka
cd だけ打てば家に帰れる」と覚えておくと安心です。cd ~ でも同じ動作をします。5. /var/logでシステムログを確認する
トラブルが発生したとき、最初に確認する場所が /var/log です。# /var/log の中身を表示する $ ls /var/log alternatives.log dpkg.log kern.log syslog apt faillog lastlog wtmp auth.log fontconfig private # SSH接続の認証ログを確認する(Ubuntu系) $ sudo tail -20 /var/log/auth.log
/var/log/secure が認証ログのファイル名です。Ubuntu系では /var/log/auth.log を確認してください。初心者がつまずきやすい3つのポイント
【注意】大文字と小文字は別物として扱われる
Windowsでは「Document」も「document」も同じファイルですが、Linuxでは完全に別のファイルとして扱われます。# 大文字と小文字は別ファイル $ touch File.txt file.txt FILE.txt $ ls FILE.txt File.txt file.txt
【注意】隠しファイルは「.」で始まる
Linuxでは、ファイル名の先頭が「.」(ドット)で始まるファイルは「隠しファイル」として扱われ、通常のls コマンドでは表示されません。# 通常のlsでは隠しファイルが見えない $ ls Documents Downloads # -a オプションで隠しファイルも表示する $ ls -a . .. .bashrc .profile Documents Downloads
.bashrc や .profile は、ユーザーの環境設定が書かれた重要なファイルです。「
ls -a で隠しファイルも見える」と覚えておきましょう。【注意】パスの区切りは「/」(スラッシュ)
Windowsの癖で\(バックスラッシュ)を使ってしまうと、Linuxではエラーになります。・Windows:
C:\Users\tanaka\Documents・Linux:
/home/tanaka/DocumentsLinuxでは常に「/」(スラッシュ)を使ってください。
「No such file or directory」が出た時の対処法
ディレクトリ構造を理解していても、最初のうちはエラーに遭遇します。一番よく見るのが「No such file or directory」(そんなファイルやディレクトリはない)というメッセージです。
# 存在しないディレクトリに移動しようとした場合 $ cd /hoem/tanaka -bash: cd: /hoem/tanaka: No such file or directory # root権限でディレクトリの中身を確認する場合 # ls -la /root/ total 28 drwx------ 3 root root 4096 Apr 1 10:00 . drwxr-xr-x 19 root root 4096 Mar 15 09:00 .. -rw-r--r-- 1 root root 3106 Mar 15 09:00 .bashrc
・スペルミスがないか:上の例では /home を /hoem と打ち間違えている
・大文字・小文字が合っているか:/Home と /home は別のディレクトリ
・パスの区切りが / になっているか:Windowsの癖で \ を使っていないか確認
「タイプミスを直したら動いた」というケースがほとんどです。落ち着いてパスを見直しましょう。
また、
rm -rf / はルートディレクトリ以下のすべてのファイルを削除する【危険】なコマンドです。タイポや誤操作で実行してしまうと復旧できなくなるため、絶対に実行してはいけません。最近のLinuxでは --no-preserve-root オプションを付けない限り実行できないよう保護されていますが、覚えておくべき禁則事項です。ディレクトリ構造の全体像まとめ
ここまで解説した主要ディレクトリを一覧にまとめます。| ディレクトリ | Windowsで例えると | 中に入っているもの |
|---|---|---|
| / | C:\ | すべてのファイルの起点(ルート) |
| /home | C:\Users | 各ユーザーの個人ファイル(~ で省略可) |
| /etc | コントロールパネル | システムやソフトウェアの設定ファイル |
| /var | イベントビューアー | ログやメールなど、変化するデータ |
| /tmp | Tempフォルダ | 一時ファイル(再起動で消える可能性あり) |
| /usr | Program Files | アプリケーション本体やライブラリ |
| /bin, /sbin | C:\Windows\System32 | 基本コマンド・管理コマンド |
| /root | C:\Users\Administrator | 管理者(root)専用のホームディレクトリ |
| /proc | タスクマネージャー相当 | 実行中プロセス情報の仮想ファイル |
| /dev | デバイスマネージャー相当 | ハードディスクやUSBなどのデバイスファイル |
本記事のまとめ
Linuxのディレクトリ構造は、慣れるまでWindowsとの違いに戸惑うかもしれません。しかし、「すべて / から始まる1本のツリー」という仕組みがわかってしまえば、実はWindowsよりもシンプルです。
まずは以下の3つだけ覚えてください。
・/home/ユーザー名(~ で省略可):自分のファイルを置く場所
・/etc:設定ファイルが集まる場所
・/var/log:トラブル時にログを確認する場所
今回紹介した
pwd、ls、cd の3つのコマンドを使いこなせれば、Linuxのどこにいても迷わずに操作できるようになります。ディレクトリ構造がわかったら、次は個別のコマンドを身につけていきましょう。以下の記事で実践的な使い方を解説しています。
関連記事 ~ ここから実践的なスキルを身につける
ディレクトリ構造を理解したら、次は実際のコマンド操作を覚えていきましょう。以下の7つのテーマで、実務で使えるLinuxスキルをステップアップできます。
・Linuxコマンド:catコマンドでファイル内容を表示する方法 ~ ファイルの中身を確認する基本操作
・シェルスクリプト:crontabコマンドの設定と書き方 ~ 定期的な作業を自動化する方法
・セキュリティ:chmodコマンドで権限を変更する方法 ~ ファイルを守る権限設定の基本
・サーバー構築:systemctlコマンドでサービスを管理する方法 ~ サーバーの起動・停止を制御する
・ネットワーク:pingコマンドの使い方 ~ ネットワークの疎通を確認する基本手順
・ディスク管理:dfコマンドでディスク容量を確認する方法 ~ ストレージの空き状況を把握する
・現場Tips:historyコマンドでコマンド履歴を確認する方法 ~ 過去に実行したコマンドを振り返る
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
ディレクトリ構造の基本から一歩進んで、実務で使えるスキルを身につけたい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 次のページへ:AIを活用してLinuxコマンドを効率的に学ぶ方法|ChatGPTやCopilotの使い方も
- 前のページへ:ipコマンドでネットワーク設定を確認・変更する方法|ifconfigとの違いやアドレス追加も
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます