前の記事では、grep・findコマンドを使ってファイルや文字列を検索する方法を学びました。
その中で、次のようなディレクトリが登場しました。
/etc
/home
/var
/tmp
Linuxを初めて学習していると、
「なぜログは/var/logにあるの?」
「WindowsのCドライブのようなものはないの?」
と疑問に感じるかもしれません。
Linuxでは、ファイルやディレクトリがバラバラに配置されているわけではありません。 「どのようなファイルを、どこに置くのか」がある程度決められています。
今回は、Linuxを操作するうえで重要なディレクトリ構造を学習していきましょう。
Linuxが「/」を頂点としたツリー構造になっていることを理解し、 /etc・/home・/var・/usr・/tmpなど、主要ディレクトリの役割を説明できるようになることを目指します。
Linuxのディレクトリは「/」から始まる
Linuxのディレクトリ構造を理解するうえで、最初に覚えておきたいのがルートディレクトリです。
Linuxでは、
/
が、すべてのディレクトリの出発点になります。
この「/」をルートディレクトリ(root directory)と呼びます。
/etc
設定
/home
ユーザー
/var
可変データ
/usr
プログラム等
/tmp
一時ファイル
つまりLinuxでは、すべてのファイルやディレクトリが「/」の下にぶら下がっていると考えることができます。
Windowsとの違いをイメージしよう
Windowsを使い慣れている場合は、Linuxの構造が少し分かりにくいかもしれません。
C:\
├─ Windows
├─ Users
└─ Program Files
D:\
└─ Data
/
├─ etc
├─ home
├─ var
├─ usr
└─ tmp
最初は各ディレクトリをすべて暗記する必要はありません。 まずは「/が頂点」という全体像を理解しましょう。
Linuxの基本的なディレクトリ構造
一般的なLinuxでは、ルートディレクトリの下に次のようなディレクトリがあります。
/
├── bin
├── boot
├── dev
├── etc
├── home
├── root
├── run
├── tmp
├── usr
└── var
└── log
この中でも、Linux初学者がまず覚えておきたいのは次のディレクトリです。
/etc
設定ファイル
/home
一般ユーザーのホーム
/var
ログなど変化するデータ
/usr
プログラム・共有データ
/tmp
一時ファイル
/root
rootユーザーのホーム
/etc:システムやサービスの設定ファイル
/etcは、Linuxを扱ううえで非常によく見るディレクトリです。
/etc
OSやサービスなどの設定ファイルが保存される場所です。
たとえば、次のようなファイルがあります。
/etc/hosts
ホスト名とIPアドレスの対応など
/etc/passwd
ユーザーアカウント情報
/etc/ssh/sshd_config
SSHサーバーの設定
サーバーの設定変更やトラブルシューティングでは、/etc配下を確認する場面が非常に多いです。
ls /etc
/home:一般ユーザーのホームディレクトリ
/homeには、一般ユーザーごとのホームディレクトリが配置されます。
/home
/home/taro
taro
/home/hanako
hanako
/home/user
user
たとえば「taro」というユーザーであれば、通常は、
/home/taro
がホームディレクトリになります。
ユーザーが作成したファイルや個人設定などは、このホームディレクトリ内に保存されることが多くあります。
/root:rootユーザー専用のホームディレクトリ
ここは初学者が混乱しやすいポイントです。
Linuxには、
/
ルートディレクトリ
ファイルシステムの頂点
/root
rootユーザーのホーム
管理者用ホームディレクトリ
というまったく別のものがあります。
/ はLinux全体の頂点です。/rootはrootユーザー用のホームディレクトリです。
/var:ログなど「変化するデータ」
/varの「var」は、variable(変化する)に由来します。
その名前のとおり、運用中にサイズや内容が変化していくデータが配置されます。
/var
/var/log
ログ
/var/cache
キャッシュ
/var/lib
サービス等の状態データ
特に重要なのが、
/var/log
です。
システムやサービスのログが保存されるため、Linuxサーバーで障害が発生したときに確認する代表的な場所です。
/usr:プログラムや共有データ
/usrには、ユーザーが利用するコマンドやライブラリ、共有データなどが配置されます。
/usr/bin
多くの一般的なコマンド
/usr/lib
ライブラリなど
/usr/share
共有データなど
名前からユーザー用ディレクトリのように見えますが、個人ファイルは通常/home配下に保存します。
/tmp:一時ファイルを保存する場所
/tmpは、temporary(一時的)の名前のとおり、一時ファイルを保存するためのディレクトリです。
/tmp
アプリケーションなどが一時的に使用するファイルが配置されます。
長期間保存する重要なファイルを置く場所ではありません。環境によっては再起動や一定期間経過後などに削除される場合があります。
/bin:基本的なコマンド
/binは、基本的なコマンドに関連するディレクトリです。
たとえば、
ls
cp
mv
rm
など、これまで学習してきた基本コマンドが関係します。
現在の多くのLinuxディストリビューションでは、/binが/usr/binへのシンボリックリンクになっている場合があります。 初級では「基本コマンドに関係する場所」と理解しておけば十分です。
/boot・/devも知っておこう
/boot
起動に必要なファイル
Linuxカーネルなど、システム起動に関係するファイルが配置されます。
/dev
デバイスファイル
ディスクや端末など、デバイスを表現する特殊なファイルが存在します。
初級段階では細かい内容を暗記する必要はありません。まずは「Linuxではデバイスもファイルとして扱われる」という特徴を知っておきましょう。
主要ディレクトリを整理しよう
/
ファイルシステム全体の頂点
/etc
設定ファイル
/home
一般ユーザーのホーム
/root
rootユーザーのホーム
/var
ログなど変化するデータ
/usr
コマンド・ライブラリ・共有データなど
/tmp
一時ファイル
/boot
システム起動関連
/dev
デバイスファイル
ここで実際に確認してみよう:Linux Directory Explorer
主要ディレクトリの役割を、実際に選択しながら確認してみましょう。
下のディレクトリをクリックすると、「何が保存されるのか」「実務でどんなときに見るのか」が表示されます。
Linux Directory Explorer
/
Linuxファイルシステムの頂点Linuxのすべてのファイルとディレクトリは、この「/」を起点として配置されます。
Linux全体のディレクトリ構造を理解するときの出発点です。
ここで実際に試してみよう:ディレクトリを移動する
これまで学習したpwd・ls・cdを使って、Linuxのディレクトリ構造を探索してみましょう。
ディレクトリ構造を理解すると、cdやfindなどのコマンドも使いやすくなります。
実務ではディレクトリ構造をどう使う?
Linuxのディレクトリ構造は、単なる暗記知識ではありません。
障害対応やサーバー設定では、「何を調べたいか」から確認するディレクトリを推測します。
/etc
/var/log
/home
Linuxを扱っているうちに自然と場所は覚えていきます。 初級では、/etc・/home・/var・/usr・/tmpの役割を優先して理解しましょう。
同じファイルでも「誰でも操作できる」とは限らない
ここまでで、Linuxではファイルがどのように配置されているのかが分かりました。
しかし、Linuxサーバーではすべてのユーザーが、すべてのファイルを自由に変更できるわけではありません。
たとえば、重要な設定ファイルを一般ユーザーが自由に書き換えられてしまうと、サーバーの設定を壊してしまう可能性があります。
そこでLinuxでは、ファイルやディレクトリに「誰が・何をできるのか」という権限を設定できます。
これがパーミッションです。
次の記事では、このパーミッションの読み方と、chmodコマンドによる権限変更を学習します。
確認問題:Linuxのディレクトリ構造を理解できたか確認しよう
Linuxでシステムやサービスの設定ファイルが配置される代表的なディレクトリはどれですか?
/etcには、OSや各種サービスの設定ファイルが配置されます。
Linuxサーバーでログを確認したい場合、最初に確認する代表的な場所はどれですか?
/varには変化するデータが配置され、/var/logはシステムやサービスのログを保存する代表的な場所です。
「/」と「/root」の説明として正しいものはどれですか?
「/」はLinuxファイルシステム全体の頂点です。一方、/rootは管理者であるrootユーザーのホームディレクトリです。
3問に挑戦してみましょう。
まとめ
Linuxでは「/」がファイルシステム全体の頂点になる
/etcには設定ファイルが配置される
/homeには一般ユーザーのホームディレクトリが配置される
/varにはログなど内容が変化するデータが配置される
すべてを暗記するのではなく、「何を調べたいか」からディレクトリを考えることが重要
次は「Linuxのパーミッションとchmodの基本」を学びましょう
Linuxのファイルやディレクトリがどこに配置されるのかを理解できたら、 次は「そのファイルを誰が操作できるのか」を学習します。
次の記事では、
r・w・xの意味や
rwxr-xr-xの読み方、chmodコマンドによる権限変更を初心者向けに解説します。

