どーも!marusukeです!
Linuxのファイルシステム内のディレクトリの構成について説明します!
※varとusrは別の記事で説明します
- Linuxのディレクトリ構成
- /(root):ルートディレクトリ
- /bin:コマンドバイナリディレクトリ
- /boot:ブートローダディレクトリ
- /sbin:システムバイナリディレクトリ
- /etc:システムの構成ファイルディレクトリ
- /dev:デバイスファイルのディレクトリ
- /lib:ライブラリディレクトリ
- /media:リムーバブルメディアのディレクトリ
- /mnt:一時的にマウントされたファイルシステムのディレクトリ
- /opt:オプションディレクトリ
- /proc:カーネル内部の情報へアクセスするためのディレクトリ
- /root:ルートユーザのホームディレクトリ
- /home:ホームディレクトリ
- /tmp:一時ファイル置き場のディレクトリ
Linuxのディレクトリ構成
Linuxのファイルシステム内のディレクトリ構成は、FHS(File HIerarchy Standard)という標準使用であり、標準化が進められています。
その他にもディレクトリが存在しています。各階層の主要なディレクトリを見ていきましょう!
/(root):ルートディレクトリ
最上位の階層ディレクトリのこと。ファイルのパスを絶対パスで指定する際には「/」から始まる必要があります
ファイルシステムの最上位の階層(/(ルートディレクトリ)には以下のディレクトリが含まれています
- bin
- boot
- sbin
- etc
- dev
- lib
- media
- mnt
- opt
- run
- srv
- tmp
- usr
- var
- home(オプション)
/bin:コマンドバイナリディレクトリ
このディレクトリには基本的なコマンドファイルが配置されています。これらのコマンドは一般ユーザでも実行可能です。また、このbinディレクトリにはサブディレクトリを配置してはいけないことになっています
以下は配置されているコマンドの例です
- cat
- chgrp
- chmod
- chown
- cp
- date
- dd
- df
- dmesg
- echo
- hostname
- kill
- ln
- login
- ls
- mkdir
- more
- mount
- mv
- ps
- pwd
- rm
- rmdir
- sed
- sh
- su
- sync
- umount
- uname
/boot:ブートローダディレクトリ
ブートローダ(Bootloader)とは、コンピュータシステムを起動し、OSを読み込んで実行するプログラムです。それらに起動に必要な設定やカーネルイメージが保存されています。また、このブートローダにファイルを実行させたい場合には、/sbinディレクトリに格納する必要があります。
/sbin:システムバイナリディレクトリ
システム管理に必要なコマンドが配置されています。このディレクトリにあるコマンドはrootユーザのみ実行可能です。shutdown, fdisk, fsck, init, mkfs, mkswap, rebootなどのコマンドがあります。
/etc:システムの構成ファイルディレクトリ
システムやアプリケーションの設定情報ファイルやスクリプトファイルが配置されます。実行可能なバイナリファイルは格納できません。
/dev:デバイスファイルのディレクトリ
ハードディスクやDVD-ROMなどのデバイスファイルなどの特殊ファイルが格納されます。
/lib:ライブラリディレクトリ
共有ライブラリやカーネルモジュールが配置されます。/binや/sbinに格納されているコマンドが必要とするライブラリもこのディレクトリ内にあります。
/media:リムーバブルメディアのディレクトリ
DVD-ROMやCD-ROM、フロッピーディスクなどのリムーバリムーバブルメディアのマウントポイントが配置されるディレクトリです。
/mnt:一時的にマウントされたファイルシステムのディレクトリ
システム管理者(rootユーザ)が一時的にマウントするファイルシステムのマウントポイントが配置されます。
/opt:オプションディレクトリ
パッケージ管理の仕組みを使ってプログラムがインストールされるディレクトリです。システムに組み込まれた基本ソフトウェアとは別に追加されたオプションソフトウェアやアプリケーションを配置します。このディレクトリ内にアプリケーションやソフトウェアごとに命名されたサブディレクトリが作成されます。
/proc:カーネル内部の情報へアクセスするためのディレクトリ
カーネル内部の情報へアクセスするための仮想ファイルシステム。catコマンドなどで、カーネルバージョン情報やCPU情報、メモリ情報などの情報を表示させることが出来ます。これらの情報が記載されたファイルは、仮想ファイルなので、実際のディスク上には存在しないファイルです。
/root:ルートユーザのホームディレクトリ
ルートユーザのためのホームディレクトで、homeディレクトリのファイルシステムがマウントできなくなった場合でもシステムのメンテナンスができるようにこのディレクトリが存在しています。
/home:ホームディレクトリ
ユーザごとのホームディレクトリを置くことが出来ます。独立したファイルシステムにすることで保守性を高めています。FHSではオプション扱いです。
小規模なシステムでは、/home/marusuke、/home/taro、/home/hanakoといったようにホームディレクトリのサブディレクトリとして別々のユーザディレクトリを作成したりします。
大規模なシステムでは、/home/staff、/home/guests、/home/studentsといったように分けることも可能です。
/tmp:一時ファイル置き場のディレクトリ
一時ファイル置き場のディレクトリで、全てのユーザが読み書き可能です。システム再起動時にこのディレクトリ内のファイルは削除されます。
上記のディレクトリの他にvarやusrがあります。varとusrは別の記事で説明します!
ここまで読んでいただきありがとうございました!
コメント