【リニューアル記念】未経験からブロガーへのSTEPを続々更新!

【Linuxのディレクトリ構成】Windowsフォルダとの違いを覚えよう!

Linuxのディレクトリ構成

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

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

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

Linuxのディレクトリ用語

Linuxのディレクトリ構成イメージ

Linuxのディレクトリ構成を確認する前に、よく使われる用語や記述方法についても見ていきましょう!

ディレクトリ

Linuxのディレクトリとは、Windowsでいう「フォルダ」のことです。

意味はどちらも似たようなものですが、Linuxには「ディレクトリ」とよぶ慣習があります。

カレントディレクトリ

カレントディレクトリとは、今いるディレクトリのことです。

カレントディレクトリのことを「.(ドット)」であらわすこともできます。

たとえば、以下はすべて「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」にあると覚えておこう!

/sbin

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

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

sbinは「system binaries」の略。

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

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

キツネ

「sbin」には、パソコン自身に関わるコマンドが入ってるんだね!

/usr

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

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

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

キツネ

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

/opt

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

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

  • /opt/sample-app

キツネ

自分で作ったアプリも僕はここに置いちゃってるよ!

まとめ

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

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

キツネ

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

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

テキストのコピーはできません。