Linuxを使い始める前に、「ディレクトリ構成(構造)」についても確認しておきましょう。
Widonwsと比べて、フォルダ構成が大きく違うので、混乱しないためにも最低限の知識は持っておいたほうがいいです。
別に暗記する必要はないので、ざっくりLinuxのディレクトリ構成をイメージしておきましょう!

もくじ
Linuxのディレクトリとは?フォルダとの違い
Linuxのディレクトリ構成(構造)を確認する前に、「ディレクトリの意味」や「フォルダとの違い」について確認しておきます。
- ディレクトリ
- カレントディレクトリ
- 親ディレクトリ
- サブディレクトリ
- ホームディレクトリ
- ワイルドカード
これらの用語を1つずつ理解していくことで、ディレクトリやフォルダとの違いが見えてくるでしょう。
ディレクトリとは
Linuxのディレクトリとは、Windowsでいう「フォルダ」のことです。
意味はどちらも似たようなものですが、Linuxには「ディレクトリ」と呼ぶ慣習があります。
カレントディレクトリとは
カレントディレクトリとは、今いるディレクトリのことです。
カレントディレクトリのことを「.(ドット)」であらわすこともできます。
たとえば、以下はすべて「/home/kitsune」ディレクトリをあらわす記述です。
- /home/kitsune
- /home/kitsune/.
- /home/./kitsune
親ディレクトリとは
親ディレクトリとは、起点となるディレクトリからみて1つ上のディレクトリのことです。
「/home/kitsune/aaa/」という階層があり、起点を「kitsune」とした場合、「home」が親ディレクトリです。
親ディレクトリは、「..(ドットドット)」であらわすこともできます。
たとえば、以下はすべて「/home」ディレクトリをあらわす記述です。
- /home
- /home/kitsune/..
- /home/kitsune/../../home
サブディレクトリとは
サブディレクトリとは、起点となるディレクトリの下にあるディレクトリのことです。
「/home/kitsune/aaa/bbb/」という階層があり、起点を「kitsune」とした場合、「aaa」と「bbb」がサブディレクトリです。
すぐ下にある「aaa」だけを指す場合は、「子ディレクトリ」といいます。
ホームディレクトリとは
ホームディレクトリとは、ユーザーごとに作られる専用のディレクトリのことです。
ホームディレクトリは、「~(チルダ)」であらわすこともできます。
以下の2つは、どちらも同じホームディレクトリをあらわしています。
- /home/kitsune
- ~(チルダ)
ワイルドカードとは
1つのディレクトリやファイルだけではなく、すべてのディレクトリやファイルを指定したいときは、「*(ワイルドカード)」を使います。
たとえば、「/home/kitsune/*」とすれば、対象は以下のようになります。
- /home/kitsune/aaa(対象)
- /home/kitsune/ccc(対象)
- /home/tanuki/ccc(対象外)
「*(ワイルドカード)」は、「0文字以上の任意の文字」をあらわしているので、「/home/kitsune/*.html」のような使い方もできます。
- /home/kitsune/ddd.html(対象)
- /home/kitsune/eee.html(対象)
- /home/kitsune/eee.css(対象外)
Linuxのディレクトリ構成(構造)
Linuxにはたくさんのディレクトリがあるのですが、そのなかでも業務で利用することの多いディレクトリ、知っておいてほしいディレクトリについて紹介します。
「あのファイルはどこにあるんだろう?」
「このファイルってどこに置けばいいんだろう?」
悩んだときは、このLinuxのディレクトリごとの役割を思い出してみてください。
/
「/(ルート)」ディレクトリとは、Linuxにあるすべてのディレクトリの始まりのディレクトリのことです。
これから紹介するディレクトリは、すべて「/」ディレクトリの中に含まれているのです。
Windowsでいうところのローカルディスク「C:」と同じですね。
/etc
「etc(エトセ)」ディレクトリとは、色々なソフトウェアの設定ファイルが置かれているディレクトリのことです。
Linuxにサーバなどのミドルウェアをインストールすると、設定ファイルだけはこの「etc」ディレクトリの中に作られることが多いです。
よく利用する設定ファイルはこれらです。
- /etc/my.cnf(Mysqlの設定ファイル)
- /etc/php.ini(PHPの設定ファイル)
- /etc/httpd/*(Apacheの設定ディレクトリ)
- /etc/nginx/*(Nginxの設定ディレクトリ)
/home
「home(ホーム)」ディレクトリとは、各ユーザーごとのホームディレクトリが含まれているディレクトリのことです。
たとえば、「kitsune」というユーザーを作った場合、「/home/kitsune」というホームディレクトリができます。
「/home/kitsune」は、Windowsでいうところの「C:\Users\kitsune」と同じです。
個人の設定ファイルなんかも、このホームディレクトリに置かれています。
「/home/ユーザー名」の中には、以下のような設定ファイルが置いてあったりします。
- /home/ユーザー名.bashrc(bashの設定ファイル)
- /home/ユーザー名.gitconfig(Gitの個人設定ファイル)
/root
「root(ルート)」ディレクトリとは、rootユーザーのホームディレクトリのことです。
あれ?ユーザーごとのホームディレクトリって「/home」の下じゃなかったの?
実は、rootユーザーだけは特別なんです!
rootユーザーとは、Windowsでいうところの「管理者」のこと。
このrootユーザーに関しては、「home」ディレクトリに何か問題が起きても影響を受けないように、「root」という専用のホームディレクトリが用意されているのです。
/tmp
「tmp(テンプ)」ディレクトリとは、一時的に使うファイルやディレクトリを保存するためのディレクトリです。「temporary(一時的)」の略ですね。
tmpディレクトリの中にあるディレクトリやファイルは、パソコンを再起動すると消えてしまうので注意。
/var
「var(バー)」ディレクトリとは、ログファイルやキャッシュファイルなどの一時的なデータを残しておくためのディレクトリです。
tmpディレクトリと少し似ていますが、大きく違うのはパソコンを再起動しても残り続けるということ。
そこまで重要なファイルじゃないけど、確認することもあるから、すぐに消えちゃうと困るようなファイルがここに保存されているイメージ。
varディレクトリの中は、目的にあったファイルを保存できるように、サブディレクトリで分けられています。
- /var/log(ログファイルのディレクトリ)
- /var/cache(キャッシュファイルのディレクトリ)
- /var/www/html(Apacheの公開ディレクトリ)
一時的なファイルを置くことが多いとお伝えしましたが、「/var/www/html」だけは例外です。
「/var/www/html」はApacheというWebサーバを利用する際のデフォルトの公開ディレクトリになるので、Apacheを使ったサービスの場合は頻繁にアクセスすることになります。
このディレクトリは、アプリケーションそのものを置くことになるので、ほかのディレクトリとは性質が違うので覚えておきましょう。
/bin
「bin(ビン)」ディレクトリとは、たくさんの「バイナリファイル(実行ファイル)」が保存されているディレクトリのことです。「bin」は「binaries(バイナリ)」の略。
バイナリファイルとは、コンピュータが実行できるファイルのことですね。
そして、ここにあるバイナリファイルは、Linuxを操作する基本的な「コマンド(機能)」になります。
コマンド自体も、プログラムとしてLinuxで管理されているのです。
- /bin/cat(ファイルの中身を確認するコマンド)
- /bin/cp(ファイルをコピーするコマンド)
- /bin/rm(ファイルを削除するコマンド)
- /bin/ls(ディレクトリの中身を確認するコマンド)

/sbin
「sbin(エスビン)」ディレクトリには、「bin」と同じくバイナリファイルが保存されています。
ただし、binとはまた少し違います。
sbinは「system binaries」の略。
binがLinuxの基本コマンドなのに対し、sbinは再起動やシャットダウンなど、rootユーザー向けのシステム管理コマンドが保存されているのです。
- /sbin/reboot
- /sbin/poweroff
- /sbin/halt
- /sbin/shutdown

/usr
「usr(ユーザー)」ディレクトリには、各ユーザーが利用するプログラムなどが入っています。
今まで紹介した、「bin」や「tmp」などもサブディレクトリとして存在します。
- /usr/bin(基本ではないユーザー向けコマンド)
- /usr/sbin(基本ではないroot向けコマンド)
- /usr/tmp(/tmpのシンボリックリンクになっている)
/opt
「opt(オプト)」ディレクトリには、自分でインストールしたアプリケーションなどを置いておきます。optは「options」の略です。
「yum」や「apt」などのパッケージ管理システムを使わずにアプリケーションをインストールしたい場合は、ここに保存しておくといいと思います。
- /opt/sample-app

まとめ
ざっと、Linuxのディレクトリ構成について解説しましたが、「なんか難しそう…」と感じてしまった方もいるかもしれませんね。
ですが、実際に触ってみると「こんなものか」というレベルだったりするので、慣れの部分が大きいと思います。
ディレクトリ構成がなんとなくイメージできたら、次は「Linuxのパーミッション(権限)」について学んでいきましょう!
またね、キツネ(@kitaaaa_kitsune)でした!
