#Linuxディレクトリ構造とファイルの種類
Linuxのディレクトリ構造もまともに把握できないまま開発をしていたのでこの機会に勉強してみました。 Linux入門者は、まずLinuxの構造について先に習得し、Linuxに適応するのに早いです。
##Linuxファイルシステム構造
[全体構造図]
🚩me/はただのユーザー名の例として認識してください。
/ (root)
最上のディレクトリであるルートディレクトリを意味。リナックスのすべてのディレクトリたちのスタート地点。すなわち、すべてのディレクトリを絶対経路で表記する際にこのディレクトリから始める必要がある。
/bin
/binフォルダはBinary Folderの略で、OSの最小限の正常な駆動のため、すべてのユーザーが使用する実行ファイルが入っているフォルダ。 つまり、基本的なコマンドが保存されたディレクトリで、cat、chmod、chown、cp、date、echo、kill、ln、ls、mkdir、etxなどのプログラムが含まれる。 また、ルートユーザー、一般ユーザーともにアクセス可能。
/boot
システム起動に必要なファイルが位置。GRUBのようなBoot Loaderに関するファイルがこのディレクトリに存在。
/dev
deviceの略字でハードウェア機器を表すファイルが保存される場所。 キーボード、マウス、プリンターなどのデバイスをファイルまたはディレクトリの形で/devフォルダの中に存在。標準入出力により読み書きもでき、ディレクトリどこでもアクセス可能。
例)フロッピーディスクを持っている場合、/dev/fd0ディレクトリのfd0
/etc
Linux設定のための各種ファイルを持っているディレクトリ。 etc文字の意味の通り、そのシステム全体で使用する設定のようなエトセトラデータが保存されるフォルダ。
システムのほぼすべての設定ファイルが存在するディレクトリ。
例)/etc/registry
/home
ユーザーホームディレクトリ。
useraddコマンドで新しいユーザを生成すると、ほとんどのユーザのIDと同じ名前のディレクトリが自動的に生成される。
/lib
カーネルモジュールファイルとプログラム(C、C++など)に必要な各種ライブラリファイルが存在するディレクトリ。
/bin/と/sbin/にあるバイナリに必要なライブラリ。
/media
/mntディレクトリと区別必要。/mntはユーザーがマウントするパスとして使用される場合、/mediaはOSで自動的にマウントしてくれるポイントとして主に使用。
例)DVD、CD-ROM、USBなどの着脱が可能な装置(移動式メディア)がOSに自動的にマウンティングされるとすれば、主に/mediaフォルダ内にマウンティングポイントが生成。
/tmp
オペレーティングシステムが使用しようがプログラムが使用しようが、臨時にデータを解読·削除した動作が必要ならばtmpに位置付ける。 システム使用中に発生した臨時データ等が保存。
システムを使用する全てのユーザーが共同で使用するディレクトリ。
例)セッション情報やワープロで作業するなら、現在まで保存されていない現在の作業内容などが保存。
/mnt
/mediaディレクトリと区別必要。取り外し可能な装置に対してファイルシステムを臨時に接続するディレクトリ。
/mntはユーザーがマウントするルートとして使用。/mediaに置き換わる傾向。
/sbin
/sbinフォルダは/binと類似しているが、ルートユーザのみ実行できるプログラムが位置。主にシステム管理者が使用するシステム管理者用のコマンドを保存しているディレクトリ。
例)ifconfig、e2fsck、ethtool、haltなどのコマンドが保存されている。
/opt
追加で選択可能なアプリケーションパッケージがインストールされるディレクトリ。
例)Chromeブラウザなどのサードパーティアプリケーションのためのインストールディレクトリ。
/proc
カーネル関連情報が保存されるディレクトリで、システム運用において非常に重要。 各プロセス名によって数多くのフォルダが存在し、現在実行されているプロセスに対する情報とデータが含まれている。 ディスク上に実際存在するのではなくメモリ上に存在するため、仮想ファイルシステムと呼ばれる。
実際の運用状態を正確に把握する重要な情報を提供し、現在実行中のカーネルのオプション値を直ちに変更可能なパラメータファイルが存在。
/root
システム最高管理者であるrootアカウントのホームディレクトリ。(/ディレクトリとは別。)
/sys
Linuxカーネルに関する情報があるディレクトリ。 現在のカーネルデータの構造属性など、現在のシステム全般についての内容を提供。 毎回再起動するたびに新しく作成。
/usr
システムではなく、一般ユーザーが主に使用するディレクトリ。
基本実行ファイルとライブラリファイル、ヘッダーファイルなどのファイルが保存されている。 各ユーザ名に合ったフォルダ名が生成されており、各フォルダごとにbin、sbin、shared、libのように各ユーザが使用できるフォルダが位置。
「ユーザーアプリケーションがインストールされるディレクトリ。実行ファイルは bin、依存ライブラリは lib などにインストールされる。」
参考先:@poad1010さんのコメント:詳しい説明はこの記事の@poad1010さんのコメントを確認お願い致します。
主にシステムで最も多くの領域を占め、ルートユーザと自分自身のみアクセス可能。
主にシステムで最も多くの領域を占める。
usr には、全ての ユーザー が使えるアプリをインストールするディレクトリです。
OS本体をシステム、OS本体以外のアプリをユーザーアプリ。ユーザーアプリのうち、システム(OS)にログインできる全てのユーザーが利用可能なユーザーアプリをインストールする先が /usr です。インストールには root 権限が必要です。
Cドライブ
Linux では / に相当します。
───────
例)Windowの場合、~~Cドライブ、~~Program and Files。
/var
Variableの略。 システム運用中に生成されて削除されるデータを 一時的に 保存するためのディレクトリ。 その他すべての多用途に使用できるファイルが保存され、ファイルのサイズが後ほど拡張し続ける場合、より適合。
例)ログファイル(/var/log)、データベースキャッシングファイル、ウェブサーバーイメージファイルなどが位置。