[Linux][directory] ディレクトリ一覧_LPIC-1 102

# 一覧
| ディレクトリ  | 由来      | 分割適否 | 説明 |
|---------------|-----------------|--------|----------------------------------------------------------------------|
| `/`  | root |  | ルートディレクトリ |
| [`/boot`](#boot)| boot | ○ | <INS>**起動（ブート）に必要な**</INS>ファイル<br>- 分割理由: 起動の安定性向上のため|
| [`/home`](#home)| home| ○ | ユーザーのホームディレクトリ<br>- 分割理由: 再インストール時にデータを保持するため|
| [`/usr`](#usr) | user services and routines | ○      | <INS>**起動（ブート）に不要な**</INS>ファイル<br>- 分割理由: 大容量になるため分割<br>- アプリケーションやライブラリ |
| [`/var`](#var) | variable        | ○      | ログやキャッシュなどの可変データ<br>- 分割理由: ログ肥大化の影響を防ぐため |
| `/tmp`| temporary  | ○ | 一時ファイル<br>- 分割理由: 容量の圧迫を防ぐため |
| `/opt` | optional        | △      | 追加のパッケージ<br>- 分割理由: 大規模環境では推奨 |
| [`/etc`](#etc) | etcetera | × | 設定ファイルを格納。 |
| [`/bin`](#bin) | binary | × | <INS>**起動（ブート）に必要な**</INS>基本コマンド<br>e.g. `ls`, `cp`, `mv`, `cat` |
| [`/sbin`](#sbin) | system binary   | ×| <INS>**起動（ブート）に必要な**</INS>システム管理用コマンド<br>e.g. `fsck`, `reboot`, `ifconfig` |
| [`/dev`](#dev)        | device          | ×      | デバイスファイル<br><INS>**デバイスへのアクセス用**</INS>|
| [`/proc`](#proc)       | process         | ×      | 仮想ファイルシステム<br><INS>**デバイスの情報用**</INS>|
| [`/lib`](#lib)        | library         | ×      | システムライブラリ |
| `/lib64`        | library         | ×      | システムライブラリ<br>（64ビット） |
| `/media`      | medium          | ×      | リムーバブルメディアをマウント |
| `/mnt`        | mount           | ×      | 一時的なマウントポイント |
| `/root`       | root            | ×      | `root` ユーザーのホームディレクトリ |
| `/run`        | runtime         | ×      | ランタイムデータ |
| `/sys`        | system          | ×      | カーネルとデバイス情報 |

# /home
| ディレクトリ/ファイル       | システム           | 読み込みタイミング              | 説明                                                                                                |
| :---------------- | :------------- | :--------------------- | :------------------------------------------------------------------------------------------------ |
| `~/.bash_profile` | Bash (ログインシェル) | ログインシェル起動時             | ログインユーザー専用の設定ファイル<br><br>- `~/.bash_login` や `~/.profile` より優先<br>- `~/.bashrc` を読み込むよう記述されることが多い |
| `~/.bash_login`   | Bash (ログインシェル) | ログインシェル起動時             | `~/.bash_profile` が存在しない場合に読み込まれるログインユーザー専用の設定ファイル<br><br>- 主に古い環境で使用される                          |
| `~/.profile`      | Bash (ログインシェル) | ログインシェル起動時             | `~/.bash_profile` や `~/.bash_login` が存在しない場合に読み込まれるログインユーザー専用の設定ファイル<br><br>- Dashなどのシェルでも使用される   |
| `~/.bashrc`       | Bash (対話シェル)   | 対話シェル起動時               | 対話 Bash シェル起動時に読み込まれる設定ファイル<br><br>- エイリアスや関数定義などを記述                                              |
| `~/.bash_logout`  | Bash (ログインシェル) | ログインシェル終了時             | ログアウト時に実行されるユーザー専用のシェルスクリプト<br><br>- 一時ファイルの削除や画面のクリアなどに使用                                        |
| `~/.bash_history` | Bash       | シェル終了時（保存） / 起動時（読み込み） | コマンド履歴を保存するファイル<br><br>- `.bashrc` や `HISTFILE` によって指定されることが多い                                    |

# /usr
| ディレクトリ                           | 由来                        | 説明                                                         |
| :------------------------------- | :------------------------ | :--------------------------------------------------------- |
| `/usr/share/zoneinfo/Asia/Tokyo` | zone information database | タイムゾーン設定ファイル（日本標準時）<br>- `/etc/localtime` にリンクされることが多い |

# /var
## システムログ設定
| ディレクトリ             | 由来                      | 説明                                                                                                       |
| :----------------- | :---------------------- | :------------------------------------------------------------------------------------------------------- |
| `/var/log/journal` | persistent journal logs | `systemd-journald` の永続的なログ保存ディレクトリ<br>- 再起動後もログを保持する<br>- 権限：`root` と `systemd-journal` グループのみ閲覧可能 |



# /run
## システムログ設定
| ディレクトリ             | 由来                      | 説明                                                                                                       |
| :----------------- | :---------------------- | :------------------------------------------------------------------------------------------------------- |
| `/run/log/journal` | volatile journal logs   | 一時的なログ保存ディレクトリ<br>- デフォルトで使用される<br>- 再起動すると内容は失われる（RAM上のため）      |



# /etc
## Bash
| ディレクトリ/ファイル        | システム              | 読み込みタイミング               | 説明                                                                                         |
| :----------------- | :---------------- | :---------------------- | :----------------------------------------------------------------------------------------- |
| `/etc/profile`     | Bash (ログインシェル)    | ログインシェル起動時         | システム全体のログインシェル設定ファイル<br><br>- 全ユーザーに共通<br>- 環境変数や PATH の初期化などに使用                           |
| `/etc/bash.bashrc` | Bash | ログインシェル起動時 | Debian/Ubuntu 系で使用される<br><br>- システム全体の非ログインシェル向け初期化設定に使用される |
| `/etc/bashrc`      | Bash | 対話シェル起動時| Red Hat 系ディストリビューションでよく使われる<br><br>- `~/.bashrc` から読み込まれることが多い<br>- エイリアスや関数の定義などを記述    |

## X
| ディレクトリ/ファイル             | システム             | 読み込みタイミング  | 説明                                                                                          |
| :---------------------- | :--------------- | :--------- | :------------------------------------------------------------------------------------------ |
| `/etc/X11/xorg.conf`    | X.Org (X サーバ)    | X サーバ起動時   | X サーバ全体の設定ファイル（モニター、キーボード、マウス、ドライバなど）<br><br>- `Section "セクション名"`から始まり、`EndSection`で終わる     |
| `/etc/X11/xorg.conf.d/` | X.Org (X サーバ)    | X サーバ起動時   | 個別の設定ファイルを配置するディレクトリ<br><br>- `*.conf` ファイルを読み込み順に処理<br>- `/etc/X11/xorg.conf` より優先される場合もある |
| `~/.xsession-errors`    | X クライアント（ユーザー環境） | X セッション開始時 | ユーザーの X セッションで発生した標準出力・標準エラーのログを保存するファイル<br><br>- `.xsession` や `.xinitrc` の出力がここに記録される     |

## 初期化システム
|ディレクトリ/ファイル|由来|システム|説明|
|:--|:--|:--|:--|
| `/etc/inittab`   | initialization table |SysVinit| <INS>**編集可**</INS><br><br>システムの初期化設定ファイル |
|`/etc/rc[0-6].d`|runcom|SysVinit|システム起動時のランレベル設定ファイル<br><br>e.g. `/etc/rc1.d/K01bluetooth`<br><br>- 1文字目: S（Start: サービスを起動）<br>- 1文字目: K（Kill: サービスを停止）<br>- 数字: 実行優先順位<br>- サービス名: 任意|
| `/etc/passwd`    | password         |SysVinit|システムユーザーの情報を保持するファイル<br><br>- ユーザー名<br>- パスワード（暗号化されている場合）<br>- UID、GID などを<br>- パーミッション: `-rw-r--r--`|
| `/etc/systemd/system`    |  system daemon system-specific configuration  |systemd|<INS>**編集可**</INS><br><br>- システムのユニット設定ファイル<br>- `/lib/systemd/system`を上書き |
|`/etc/systemd/system/default.target`|default target|systemd|システム起動時に読み込まれるデフォルトターゲットを指すシンボリックリンク<br><br>- 変更: `ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target`<br>- 変更: `systemctl set-default`|
|`/etc/systemd/system/*.timer`|timer unit|systemd|Timer Unitの定義ファイル<br><br>- `.service`ファイルと対になる<br>- `cron`の代替として使える<br>- 設定例: `OnCalendar=daily`<br>- 実行例: `systemctl enable backup.timer`|

## ジョブスケジューリング
| ディレクトリ/ファイル       | 由来                  | システム | 説明                                                                                                                         |
| :---------------- | :------------------ | :--- | :------------------------------------------------------------------------------------------------------------------------- |
| `/etc/at.allow`   | allow list for at   | at   | - `at`コマンドによるジョブ登録を**許可するユーザー**を列挙するファイル<br>- 存在する場合、`/etc/at.deny`は無視される         |
| `/etc/at.deny`    | deny list for at    | at   | - `at`コマンドを**禁止するユーザー**を列挙するファイル<br>- `/etc/at.allow`が存在しないときのみ有効                                |
| `/etc/cron.allow` | allow list for cron | cron | - `crontab`コマンドを使ったジョブ登録を**許可するユーザー**を列挙するファイル<br>- 存在する場合、`/etc/cron.deny`は無視される |
| `/etc/cron.deny`  | deny list for cron  | cron | - `crontab`コマンドを**禁止するユーザー**を列挙するファイル<br>- `/etc/cron.allow`が存在しないときのみ有効                         |
| `/etc/crontab`       | cron table            | cron | - システム全体の cron ジョブを定義する設定ファイル<br>- ユーザー指定フィールドを含む                                   |
| `/etc/cron.hourly/`  | hourly job directory  | cron | - 毎時実行されるスクリプトを配置するディレクトリ                                                           |
| `/etc/cron.daily/`   | daily job directory   | cron | - 毎日実行されるスクリプトを配置するディレクトリ                                                           |
| `/etc/cron.weekly/`  | weekly job directory  | cron | - 毎週実行されるスクリプトを配置するディレクトリ                                                           |
| `/etc/cron.monthly/` | monthly job directory | cron | - 毎月実行されるスクリプトを配置するディレクトリ                                                           |
| `/etc/cron.d/`       | cron directories      | cron | - 個別の cron 設定ファイルを配置するディレクトリ<br>- `/etc/crontab` と同様の形式（ユーザーフィールドあり）                |

## ローカリゼーション
| ディレクトリ           | 由来             | 説明                                                                                                                             |
| :--------------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| `/etc/localtime` | local time     | **システムが参照する現在のローカルタイム設定ファイル**<br>- 通常は `/usr/share/zoneinfo/` 配下のタイムゾーンファイルへのシンボリックリンク      |
| `/etc/timezone`  | time zone name | **タイムゾーン名を文字列として保持するテキストファイル（Debian系で使用）**<br>- 例：`Asia/Tokyo` |


## クロック設定 (NTP)

| ディレクトリ             | 由来            | 説明                                                                                                          |
| :----------------- | :------------ | :---------------------------------------------------------------------------------------------------------- |
| `/etc/ntp.conf`    | NTP config    | NTP（Network Time Protocol）の設定ファイル<br>- システムクロックをインターネット上の時刻サーバと同期する設定を行う<br>- 例：`server 0.ntp.nict.jp`<br>- 例：`server 0.pool.ntp.org`      |
| `/etc/chrony.conf` | Chrony config | Chrony による時刻同期設定ファイル<br>- `ntpd` の代替として使われる軽量・高速な NTP クライアント/サーバ<br>- `server`、`pool`、`peer` などで NTP サーバを指定 |

## システムログ設定


| ディレクトリ                       | 由来             | 説明                                                                                                                               |
| :--------------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| `/etc/rsyslog.conf`          | rsyslog config | `rsyslog` の設定ファイル<br>- 各種ログメッセージの**収集・分類・出力先**を設定<br>- 例：`authpriv.* /var/log/secure`（認証関連ログを secure に保存）                        |
| `/etc/logrotate.conf`        | log rotation   | `logrotate` の設定ファイル<br>- ログファイルのローテーション（定期的な圧縮・削除・保存）の動作を制御<br>- ローテーション間隔や保持数、圧縮の有無などを指定<br>- 個別設定は `/etc/logrotate.d/` 配下に記述   |
| `/etc/systemd/journald.conf` | journal config | `systemd-journald` の設定ファイル<br>- バイナリログの保存先・保存期間・サイズ制限などを設定<br>- 例：`Storage=persistent` で `/var/log/journal/` に永続保存 |


## プリンタ管理

| ディレクトリ                    | 由来                                   | 説明                                                                                                                                                          |
| :------------------------ | :----------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/etc/cups/cupsd.conf`    | CUPS daemon config                   | CUPS デーモン（`cupsd`）のメイン設定ファイル<br>- ポート番号・アクセス制御・ログの保存場所などを定義<br>- Webインターフェース<br>- [http://localhost:631](http://localhost:631)の有効化もここで設定|
| `/etc/cups/ppd/`          | PPD (PostScript Printer Description) | 各プリンタごとの PPDファイルを格納するディレクトリ<br>- プリンタの機能（解像度、用紙サイズ、オプションなど）を記述したファイル<br>- プリンタを追加するとここに自動でファイルが生成される                                                  |
| `/etc/cups/printers.conf` | printers config                      | 登録済みプリンタの設定ファイル<br>- 各プリンタの名称、デバイスURI、デフォルトプリンタなどの情報を保持<br>- `lpadmin` や Web UI で変更するとこのファイルが更新される                                                          |

# Ping-t
/usr
- [4917_/etc/localtime, /usr/share/zoneinfo/](https://mondai.ping-t.com/question_subjects/32/question_sessions/33767513/progressing_questions/517007545)

Bash
- [4705_~/.bash_logout, ~/.bash_history](https://mondai.ping-t.com/question_subjects/32/question_sessions/33449680/progressing_questions/512330533?result=true)
- [4706_~/.bashrc](https://mondai.ping-t.com/question_subjects/32/question_sessions/33449680/progressing_questions/512330532?result=true)
- [5069_/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile](https://mondai.ping-t.com/question_subjects/32/question_sessions/33449680/progressing_questions/512330518?result=true)




X
- [4619_~/.xsession-errors](https://mondai.ping-t.com/question_subjects/32/question_sessions/33557476/progressing_questions/513921553?result=true)
- [5023_/etc/X11/xorg.conf](https://mondai.ping-t.com/question_subjects/32/question_sessions/33557476/progressing_questions/513921538?result=true)
- [5075_/etc/X11/xorg.conf.d](https://mondai.ping-t.com/question_subjects/32/question_sessions/33557476/progressing_questions/513921554?result=true)

初期化システム
- [4620_/etc/inittab](https://mondai.ping-t.com/question_subjects/32/question_sessions/33557476/progressing_questions/513921557?result=true)
- [4773_/etc/passwd](https://mondai.ping-t.com/question_subjects/32/question_sessions/33698403/progressing_questions/515999740)
- [36664_/etc/systemd/system/*.timer](https://mondai.ping-t.com/question_subjects/32/question_sessions/33698403/progressing_questions/515999726)

ジョブスケジューリング
- [4727_/etc/crontab](https://mondai.ping-t.com/question_subjects/32/question_sessions/33698403/progressing_questions/515999741)
- [4877_/etc/at.allow](https://mondai.ping-t.com/question_subjects/32/question_sessions/33698403/progressing_questions/515999729)
- []()

ローカリゼーション
- [4645_/etc/localtime](https://mondai.ping-t.com/question_subjects/32/question_sessions/33698403/progressing_questions/515999737)
- [4917_/etc/localtime, /usr/share/zoneinfo/](https://mondai.ping-t.com/question_subjects/32/question_sessions/33767513/progressing_questions/517007545)


クロック設定
- [4805_/etc/ntp.conf](https://mondai.ping-t.com/question_subjects/32/question_sessions/33866047/progressing_questions/518453899)
- [5083_/etc/chrony.conf](https://mondai.ping-t.com/question_subjects/32/question_sessions/33866047/progressing_questions/518453904)


システムログ設定
- [4615_/etc/logrotate.conf](https://mondai.ping-t.com/question_subjects/32/question_sessions/33867186/progressing_questions/518471891)
- [4972_/etc/systemd/journald.conf](https://mondai.ping-t.com/question_subjects/32/question_sessions/33867186/progressing_questions/518471893)

プリンタ管理
- [4846_/etc/cups/cupsd.conf](https://mondai.ping-t.com/question_subjects/32/question_sessions/33866047/progressing_questions/518453900)