【Linux入門シリーズ】Linuxのディレクトリ構成を把握しよう

スポンサーリンク

はじめに

クマくん
クマくん

ぐぬぬ。

さめさん
さめさん

クマくん!

どうしたの??

結構悩んでいるようだけど。

クマくん
クマくん

この前、

Linuxは全てファイルで構成されている。

って言われてから色々調べているんだけど、どのディレクトリがどの塊なのかよく分からなくて、眉毛繋がっちゃったよ!

さめさん
さめさん

この記事のことか〜

【Linux入門シリーズ】初心者が押さえておくべきLinux必須コマンド

さめさん
さめさん

じゃあ僕がLinuxでよく使われるCentOSの基本ディレクトリ見て、それぞれの特徴を掴んでいこう!

Linuxのディレクトリ構成

ディレクトリ中身
/〈ルート〉ルートディレクトリ。全ての始まり。
/bin(ビン)cpやchmodなどのシステムを管理する上で基本コマンドが入っています。
基本コマンド限定で管理するのが普通で、ソフトのインストールに付随するコマンドなどはここにインストールしない。
/boot(ブート)ブートに必要なファイル。ブートログやカーネルイメージ(Linuxカーネルを格納して圧縮したファイル)が保存されている。
vmlinuzなど
/dev(デブ)デバイスファイルが配置されている。デバイス(装置〈ハードウエア〉)をファイルとして扱うUNIXの設計思想からきています。
cpu、disk、ramなど。
/etc(エトセ)ほとんどの設定ファイルが配置されます。カーネルだけでなく、追加された各ソフトの設定ファイル等が配置されているため、ファイル数が膨大で内容を把握するには骨が折れます。
そのままetcディレクトリに保存するタイプと、サブディレクトリを作成してまとめるタイプがあります。
my.cnf、php.ini、httpd.cnfなど
/home(ホーム)一般ユーザーのホームディレクトリ。通常ユーザーを追加するごとにユーザー名のディレクトリを追加します。
/lib(リブ)/binや/sbinのコマンドを実行するのに必要なファイルが配置されています。基本的にユーザーが変更を加えることはありません。
64bit用の共用ファイルは別途「lib64」というディレクトリにあります。32bitと間違えないように注意。
libc、libsslなど
/media(メディア)リムーバブルメディアのマウントポイント。(floppy、CD、DVDなど)
/mnt(マウント)一時的なマウントポイント。mediaとの違いは、一時的なファイルシステム(fstabなど)のマウントに使う点。
/opt(オプト)rpmなどパッケージ管理システムのインストール先。複数のユーザーで利用する場合追加したものをここに保存しておけば、変更点を把握しやすい。
/proc(プロック)プロセスのIDの付いたディレクトリが配置されています。プロセス独自の情報を格納することからプロセスディレクトリと呼ばれる。各種プロセスのステータスを確認する際に利用される。
psコマンド、/proc/cpuinfo、/proc/netなど
/root(ルート)rootユーザーのホームディレクトリ。homeがセキュリティ上の脅威にさらされてもこちらは大丈夫。という保険のディレクトリです。
/sbin(エスビン)再起動やファイルシステムの操作などシステム管理者用のコマンドが配置されています。/bin同様、新しいコマンドの追加や変更は推奨されません。
shutdown、rebootなど
/tmp(テンプ)テンポラリデータの保存場所。メモリ上の一時ファイルを保存します。ダウンロードフォルダとして利用することもあります。再起動時に消去されます。また通常はcronで定期的に消去されます。
/usr(ユーザー)通常パッケージの追加するこのディレクトリにインストールされることが多い。
/usr/binusr版のコマンドが保存されている。一般ユーザーの利用するコマンド。別名ユーザーコマンドの保存場所。プログラムのインストールによって追加する場合はこのディレクトリが適している。
openssl、php、perlなど
/usr/gamesなぜか必須のゲーム用ディレクトリです。
/usr/includeC言語用ヘッダーファイルの保存場所。
/usr/libusr版のライブラリ保存場所。/libと同じように64bit用に/lib64が用意されている。
/usr/localシステム管理者用のローカルファイル。管理者のみが利用するライブラリなどの追加に利用する。それぞれlibやbinといった必須のディレクトリが用意されている。
/usr/sbinusr版管理者用コマンド。
/usr/shareアーキテクチャ(OSやソフト)に依存しないデータを配置。
具体的にはマニュアルのmanや各ソフトで利用するデータベース等が保存されている。
/usr/srcソースコードの保存場所。
/var(バーorバア)ログやキャッシュなど、可変的システムデータ(動的ファイル)。一時的なデータとしては/tmpと同じですが、こちらは再起動しても消去されずに残ります。
/var/cache一時的な記憶場所。ソフトで指定した一定の容量を超えると古いものから削除される。
/var/libアプリケーションの実行によって生成されるステータスに関する情報。動的に生成されるもの。
/var/local/usr/local用のログファイル保存場所。
/var/lock排他制御を行う場合に利用する。他のユーザーが使用中か、変更点を保存しているかなどの情報。
/var/logシステム管理者御用達ログファイルの保存場所。システム、メール、インターネットのアクセスログなど、あらゆるログが保存される。
安定したシステムでは、このディレクトリに関連したデータとばかり格闘することになりますw
/var/opt/opt用の動的ファイル保存場所。
/var/run特定プロセスのプロセス番号を含んだファイル。再起動時にはクリアされる。
/var/spoolスプールファイル(実行ファイル・データの一時的な保存)を保存する。処理に時間のかかるものにプロセスを取られ続けるとリソースの無駄なので処理したデータを一度保存する。印刷時の印刷データや、メールの送信データなど。
/var/tmpシステム関連の一時ファイルを保存する。/tmpはメモリ上のデータを保存するもので、こちらは再起動時のデータも扱うため、データは保持されます。cronによって削除の期間は設定されています。
/var/wwwApacheのデフォルトデータ保存場所。インターネット関連のディレクトリはここに収めるのが普通。かつては/home/httpdディレクトリにあった。

終わりに

クマくん
クマくん

たくさんのディレクトリがあったけど、なんとなくイメージをつかむことができた気がする!。

さめさん
さめさん

良かった!

どこに何が入っているか分からなくなったら、いつでも振り返ればいいからね!

おすすめ記事

【コーチングスキルを徹底解説③】フィードバックについて詳しく知ろう!
プログラミングメンターが勧める未経験からエンジニアになるための準備
未経験者から最強のRailsエンジニアになるためのロードマップ
Linux
スポンサーリンク
クマくんをフォローする
目指せ、スーパーエンジニア
タイトルとURLをコピーしました