Webプログラマーの仕事は多岐にわたります。
プログラミング以外にもサーバのセットアップなどもします。
ですので、Linuxの知識も必要になってきます。
Linuxを理解する上で重要なポイントは Linuxのディレクトリ構造を理解すること です。
自分が「今どのディレクトリにいるのか?」はとても重要なことなのです。
今回は「Linuxのディレクトリ構造」についてエントリーをします。
Linuxディレクトリ構造
もし、手元にルート権限のあるサーバ環境があればルートに移動してどんなディレクトリがあるか ls コマンド
で確認してみましょう。
以下、各ディレクトリについて解説していきます。
INDEX
/(ルート)
- 最上のディレクトリであるルートディレクトリを意味します。
- Linuxのすべてのディレクトリたちのスタート地点です。
- 絶対パスで表記する際にはこのディレクトリから始める必要があります。
/root(ルートディレクトリ)
- システム管理者であるrootアカウントのホームディレクトリになります。
- 以前は「/」(ルートディレクトリ)がホームディレクトリとして使われていました。
/lib(リブ)
- システムの起動時に必要なものを格納します。
- 「/bin」(基本コマンド)や「/sbin」(システム管理コマンド)にあるコマンドを実行するのに必要なライブラリが保存されています。
- ユーザーや管理者がこの「/lib」ディレクトリに直接アクセスすることは滅多にありません。
/bin(ビン)
- bin(ビン)は binaries(バイナリ)の略です。
- たくさんの「バイナリファイル(コンピュータが実行できるファイル)」が保存されているディレクトリ。
- システム管理者(root)と一般ユーザーの両方が使う基本的なコマンドが格納されています。
- /bin/cat ファイルの中身を確認するコマンド
- /bin/cp ファイルをコピーするコマンド
- /bin/rm ファイルを削除するコマンド
- /bin/ls ディレクトリの中身を確認するコマンド
/sbin(エスビン)
- sbin(エスピン)は system binaries の略です。
- システム管理者(root)が仕様するコマンドが格納されています。
- 主に、起動、停止やリカバリーのような、システム管理に必要なコマンドを格納しています。
- セキュリティの配慮として、一般ユーザーは実行できません。
- /sbin/reboot 再起動コマンド
- /sbin/shutdown シャットダウンコマンド
/dev(デブ)
- ハードウェア機器を表すファイルが保存される場所です。
- キーボード、マウス、プリンターなどのデバイスファイル。
- devディレクトリのファイルを操作することは滅多にありません。
/etc(エトセ)
- エトセトラ(その他、いろいろなど)
- 「設定ファイル」が格納されています。
- /etc/my.cnf MySQL の設定ファイル
- /etc/php.ini PHP の設定ファイル
- /etc/httpd/* Apache の設定ファイル
- /etc/nginx/* Nginx の設定ファイル
- /etc/letsencrypt/ 取得したSSL証明書
/home(ホーム)
- 各ユーザーのホームディレクトリです。
- ログインしたときに最初にアクセスするディレクトリは「/home/ユーザー名」になります。
- /home/ユーザ名.bashrc bashの設定ファイル
- /home/ユーザ名.gitconfig Gitの個人設定ファイル
/tmp(テンプ)
- テンポラリ(temporary:一時的な)からこの名前がつけられています。
- 一時的にファイルを保存したり、作業したりするためのディレクトリです。
- 再起動などすると、このディレクトリ内のファイルは削除されます。
- システム使用中に発生した臨時データなどはここで保存します。
- システムを使用する全てのユーザーが共同で使用するディレクトリです。
- プログラムが一時的に使用するものは「/var/tmp」に保存します。
/usr(ユーザー)
- 各ユーザが利用するプログラムなどが入っています。
- Windowsでいうところの「Program Files」ディレクトリに位置します。
- 実行ファイルは binディレクトリ に、依存ライブラリは libディレクトリ にインストールされます。
- /usr/sbin/httpd Apache の本体プログラム。
- /usr/src/ Linuxカーネルソースなどのソースコード。
- /usr/lib プログラムに必要な共有ライブラリ。
- /usr/sbin システム管理コマンドで、緊急時のシステム保守に必須でないコマンドを格納。
- /usr/local/ ローカルシステムで必要とされるコマンドやライブラリ、ドキュメントなどを配置。
- composer.phar を「/usr/local/bin/」 に設置するとグローバルで使用できます。
/var(バァ)
- ログファイルやキャッシュファイルなどの一時的なデータを残しておくためのディレクトリです。
- tmpディレクトリと少し似ていますが、大きく違うのは再起動をしても残り続けるということ。
- 一時的なファイルを置くことが多いが /var/www/html だけは例外。
- /var/log/ ログファイルのディレクトリ。
- /var/cache/ キャッシュファイルのディレクトリ
- /var/www/html Apacheの公開ディレクトリ
- /var/lib/mysql RedHat系でmysqlをインストールすると、このディレクトリがホームディレクトリになって、DBの実態データもその配下に保存されます。
以上です。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。