Linuxのディレクトリ構造
みなさんはLinuxを使ったことがありますか?私はUbuntuを使ったことがあります。また、AndroidもLinuxの一種です。今回は、Linuxのディレクトリ構造について紹介しようと思います。
※Androidのディレクトリ構造はこの記事とは大きく異なる場合があります。
[必須]と表記されているものはそのディレクトリの存在が必須です。中に格納されているものはディストリビューションによって異なる場合があります。また、中が空の場合もあります。
/ (ルートディレクトリ) [必須]
すべてのディレクトリの起点です。
/bin/ (binary) [必須]
一般ユーザー向けの(root権限を必要としない)実行ファイル(コマンドなど)が格納されています。システムに問題が起きた時でも、最低限必要なものだけが格納されています。
ls、cat、cp、mv、mkdirなどが格納されています。
/boot/ (boot) [必須]
ブートローダー(通常はGRUB)が使用するデータファイルが格納されています。
登録されているOSの表示名やハードディスク上での場所などの情報がリスト形式で格納されています。
/dev/ (device) [必須]
ディスプレイ、キーボード、マウス、ハードディスクなどのデバイスをファイルという形で格納されています。標準入出力と標準エラー出力も含まれています。
/etc/ (et cetera) [必須]
システムやアプリケーションの設定などが格納されています。すべてのユーザーに適用されます。書き込みにはroot権限が必要です。
/home/ (home)
ユーザーのホームディレクトリが格納されています。
この中にユーザー名のディレクトリがあり、その中がホームディレクトリです。
/home/<ユーザー名>/
そのユーザーのホームディレクトリです。ほかのユーザーは読み取り専用です。
/home/<ユーザー名>/bin/
そのユーザーがインストールした実行ファイルが格納されています。これは、他のユーザーからは実行できません。
/lib/ (library) [必須]
カーネルとプログラムに必要なライブラリファイルが格納されています。
/lib64/ (library 64-bit)
カーネルとプログラムに必要なライブラリファイルが格納されています。
ディストリビューションによっては、/lib/には32ビットでコンパイルされているものを、/lib64/には64ビットでコンパイルされているものを格納する。
/lost+found/ (lost and found)
ディスクの障害などで破損したファイルの断片が格納されます。
/media/ (media) [必須]
外部ストレージをシステムが自動的にマウントさせるときに使用されるディレクトリです。
/mnt/ (mounting point) [必須]
外部ストレージをユーザーが手動でマウントさせるとき、通常はこのディレクトリか、この中に子ディレクトリを作ってそれを使用します。
/opt/ (option) [必須]
追加で選択可能なソフトウェアのインストール先として使用されます。
/proc/ (process) [必須]
現在実行中のプロセスに関するデータが格納されています。これは、ディスク上に存在するものではなく、仮想的にシステムが用意しているものです。
/root/ (root)
システム管理者が使用するホームディレクトリです。
/sbin/ (system binary) [必須]
システム管理者向けの(root権限が必要な)実行ファイル(コマンドなど)が格納されています。システムに問題が起きた時でも、最低限必要なものだけが格納されています。
shutdown、ifconfigなどが格納されています。
/sys/ (system)
現在のカーネルの情報などが格納されています。毎回起動するたびにこのディレクトリが作成されます。
/tmp (temporary) [必須]
一時的なファイルを格納するディレクトリです。このディレクトリの中はシャットダウンまたは起動時に自動的に削除されます。ディストリビューションによってはRAM上に存在する場合もあります。
/usr/ (user) [必須]
「システムの維持するために最低限必要なファイル」以外の「システム全体にかかわるファイル」が格納されています。追加でインストールしたソフトウェアもここにインストールされます。
/usr/bin/ [必須]
一般ユーザー向けの(root権限を必要としない)実行ファイル(コマンドなど)が格納されています。システムに問題が起きた時には、なくても良いものが格納されています。
/usr/etc/
あまり利用されることはありませんが、/usr/にインストールされたソフトウェアの全ユーザー共通の設定ファイルはここに格納されます。
/usr/games/ (games) [必須]
ディストリビューションによってはゲームが格納されています。追加でインストールしたゲームもここにインストールされます。パスが通っていない場合もあります。
ディレクトリ自体の存在は必須です。
/usr/include/ (include files) [必須]
C言語やC++言語で使用されるヘッダーファイルが格納されています。
/usr/lib/ [必須]
/usr/にインストールしたソフトウェアが利用するライブラリファイルが格納されています。
/usr/lib64/
/usr/にインストールしたソフトウェアが利用するライブラリファイルが格納されています。
ディストリビューションによっては、/lib/には32ビットでコンパイルされているものを、/lib64/には64ビットでコンパイルされているものを格納する。
/usr/libexec/ (library executable)
実行可能ファイルではあるが、他のコマンドやソフトウェアから内部的に呼び出されるファイルが格納されています。
/usr/local/ [必須]
システム管理者のみが使用するファイルが格納されています。
/usr/sbin/ [必須]
システム管理者向けの(root権限が必要な)実行ファイル(コマンドなど)が格納されています。システムに問題が起きた時には、なくても良いものが格納されています。
/usr/share/ (share) [必須]
コンピューターのアーキテクチャに依存しないデータが格納されています。
マニュアルやソフトウェアで使用する固定データベースなどが格納されています。
/usr/src/ (source) [必須]
ソースコードが格納されています。
/usr/tmp/
ディストリビューションによってはこのディレクトリが存在する場合があります。その場合、通常は/tmp/へのシンボリックリンクです。
/var/ (variable)
一時ファイルに近いが、自動的に削除されては困るファイルが格納されます。
ログやキャッシュなどが格納されています。
/var/account/ (account)
ユーザーアカウントに関する動的ファイル(コマンドの履歴など)が格納されています。
/var/cache/ (cache) [必須]
ソフトウェアが使用するキャッシュファイルが格納されています。
一定のサイズを超えると古いものから削除されます。
/var/crash/ (crash)
システムがクラッシュした時のメモリダンプが格納されます。
/var/db/ (database)
ソフトウェアが使用するデータベースが格納されています。
/var/games/
ゲームの進行データや記録などが格納されます。
/var/lib/ [必須]
アプリケーションを実行することで生成される情報が格納されます。
/var/local/ [必須]
/usr/local/にあるソフトウェアが出力するログファイルが格納されます。
/var/lock/ (lock) [必須]
プロセスが使用中のファイルを、他のプロセスに対してロックするために使用されるファイルが格納されます。
詳細は下のリンクを参照してください。
/var/log/ (log) [必須]
システムのログファイルが格納されます。
/var/mail/ (mail)
メール関連のファイルが格納されます。通常は/var/spool/mail/へのシンボリックリンクです。
/var/named/ (name daemon)
DNSに関するファイルが格納されます。
/var/opt/ (option) [必須]
/opt/にインストールしたソフトウェアによる動的ファイルが格納されます。
/var/preserve/ (preserve)
エディタでテキストファイルなどを編集しているときにクラッシュしたときにそのファイルを保存するために使用されます。ここのファイルを使用して復旧することができます。ここにファイルが保存された時にメールが届くようになっています。
詳細は下のリンクを参照してください。
/var/pwcheck (password check)
pwcheckを使用するときにこのディレクトリが使用されます。現在ではあまり使われることがありません。
/var/run/ (running process) [必須]
実行中のプロセスの一覧がファイルとして格納されています。ファイルの中にはプロセスIDなどの情報が記述されています。
詳細は下のリンクを参照してください。
/var/spool/ (spool files) [必須]
スプールファイル(印刷するデータや送信するメールなど)が格納されます。
/var/tmp/ [必須]
一時ファイルが格納されます。これは、再起動しても削除されません。cronによって一定期間が過ぎたものから削除されます。
/var/www/
ApacheのWebサーバー関連のデータが格納されています。