【月間10万PV達成】ブログの作り方を無料公開中!

Linuxのディレクトリ構成(構造)とは?Windowsフォルダとの違いを覚える!

Linuxのディレクトリ構成

Linuxを使い始める前に、「ディレクトリ構成(構造)」についても確認しておきましょう。

Widonwsと比べて、フォルダ構成が大きく違うので、混乱しないためにも最低限の知識は持っておいたほうがいいです。

別に暗記する必要はないので、ざっくりLinuxのディレクトリ構成をイメージしておきましょう!

「フォルダ」と「ディレクトリ」は何が違うの?って初心者向けだよ!
Linuxとは【初心者向け】Linuxとは?特徴やカーネルの仕組み、種類をわかりやすく解説!

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の設定ディレクトリ)

設定ファイルといえば「etc」だよ!

/home

「home(ホーム)」ディレクトリとは、各ユーザーごとのホームディレクトリが含まれているディレクトリのことです。

たとえば、「kitsune」というユーザーを作った場合、「/home/kitsune」というホームディレクトリができます。

「/home/kitsune」は、Windowsでいうところの「C:\Users\kitsune」と同じです。

個人の設定ファイルなんかも、このホームディレクトリに置かれています。

「/home/ユーザー名」の中には、以下のような設定ファイルが置いてあったりします。

  • /home/ユーザー名.bashrc(bashの設定ファイル)
  • /home/ユーザー名.gitconfig(Gitの個人設定ファイル)

ホームディレクトリの中は、基本的に何を置いてもOK!

/root

「root(ルート)」ディレクトリとは、rootユーザーのホームディレクトリのことです。

あれ?ユーザーごとのホームディレクトリって「/home」の下じゃなかったの?

実は、rootユーザーだけは特別なんです!

rootユーザーとは、Windowsでいうところの「管理者」のこと。

このrootユーザーに関しては、「home」ディレクトリに何か問題が起きても影響を受けないように、「root」という専用のホームディレクトリが用意されているのです。

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を使ったサービスの場合は頻繁にアクセスすることになります。

このディレクトリは、アプリケーションそのものを置くことになるので、ほかのディレクトリとは性質が違うので覚えておきましょう。

PHPエンジニアは、Apacheを使うことが多いから嫌でも覚えるけどね!

/bin

「bin(ビン)」ディレクトリとは、たくさんの「バイナリファイル(実行ファイル)」が保存されているディレクトリのことです。「bin」は「binaries(バイナリ)」の略。

バイナリファイルとは、コンピュータが実行できるファイルのことですね。

そして、ここにあるバイナリファイルは、Linuxを操作する基本的な「コマンド(機能)」になります。

コマンド自体も、プログラムとしてLinuxで管理されているのです。

  • /bin/cat(ファイルの中身を確認するコマンド)
  • /bin/cp(ファイルをコピーするコマンド)
  • /bin/rm(ファイルを削除するコマンド)
  • /bin/ls(ディレクトリの中身を確認するコマンド)

基本的なコマンドは「bin」にあると覚えておこう!
Linuxコマンドとオプションこれで完璧!Linux基本コマンドとオプションの使い方【一覧あり】

/sbin

「sbin(エスビン)」ディレクトリには、「bin」と同じくバイナリファイルが保存されています。

ただし、binとはまた少し違います。

sbinは「system binaries」の略。

binがLinuxの基本コマンドなのに対し、sbinは再起動やシャットダウンなど、rootユーザー向けのシステム管理コマンドが保存されているのです。

  • /sbin/reboot
  • /sbin/poweroff
  • /sbin/halt
  • /sbin/shutdown

「sbin」には、パソコン自身に関わるコマンドが入ってるんだね!
Linuxコマンドとオプションこれで完璧!Linux基本コマンドとオプションの使い方【一覧あり】

/usr

「usr(ユーザー)」ディレクトリには、各ユーザーが利用するプログラムなどが入っています。

今まで紹介した、「bin」や「tmp」などもサブディレクトリとして存在します。

  • /usr/bin(基本ではないユーザー向けコマンド)
  • /usr/sbin(基本ではないroot向けコマンド)
  • /usr/tmp(/tmpのシンボリックリンクになっている)

「usr」ディレクトリは少し複雑なので、その都度調べよう!

/opt

「opt(オプト)」ディレクトリには、自分でインストールしたアプリケーションなどを置いておきます。optは「options」の略です。

「yum」や「apt」などのパッケージ管理システムを使わずにアプリケーションをインストールしたい場合は、ここに保存しておくといいと思います。

  • /opt/sample-app

自分で作ったアプリも僕はここに置いちゃってるよ!
yumとはyumとは?コマンドの使い方やリポジトリの指定、追加、一覧、rpmの違いなど

まとめ

ざっと、Linuxのディレクトリ構成について解説しましたが、「なんか難しそう…」と感じてしまった方もいるかもしれませんね。

ですが、実際に触ってみると「こんなものか」というレベルだったりするので、慣れの部分が大きいと思います。

実際に使ってみるまでは、苦手意識が出ちゃうものだよ!

ディレクトリ構成がなんとなくイメージできたら、次は「Linuxのパーミッション(権限)」について学んでいきましょう!

またね、キツネ(@kitaaaa_kitsune)でした!

【Linux入門】基礎知識の勉強まとめ!構築方法やコマンドを学習する【Linux入門】基礎知識や構築、使い方の勉強【初心者向け学習】
テキストのコピーはできません。