IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

はじめてのLinux

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第3回 Linuxのディレクトリ階層について理解しよう (濱田康貴) 2021年7月

FHS ( Filesystem Hierarchy Standard ) というお約束

みなさんこんにちは。株式会社パイプラインの濱田です。Windowsにはファイルとフォルダという概念がありどのフォルダにどんなデータが格納されているかの規則性があります。また、Linux(UNIX系OS)も同様に、ディレクトリ構造の決まりごとがあり、命名規則や格納されるべきデータの標準として、FHS ( Filesystem Hierarchy Standard ) という仕様があります。
FHSのお約束を無視して好きなディレクトリを作成したり、ファイルを好きなディレクトリへ配置したりすることもできるのですが、複数のユーザーが同時にログインして利用することが前提のLinuxやUNIXにおいて、これではどのファイルがどこに配置されているのかを推し量ることができずに困ってしまいます。また、1人のユーザーが複数のLinuxやUNIXのホストを利用することもありますので、やはりディレクトリ構成が整理されていることは重要です。

fig01

FHS ( Filesystem Hierarchy Standard ) とは

Filesystem Hierarchy Standard( ファイルシステム ヒエラルギー スタンダード、FHS、ファイルシステム階層標準 )は、Linuxを含むUnix系オペレーティングシステム (OS) での主なディレクトリとその内容を定めたもので、本稿執筆時点において、バージョン3.0 (https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf) が最新となっています。
大まかな要件として、/ (ルート) ディレクトリには、以下のディレクトリまたはディレクトリへのシンボリックリンクが必要となっています。

ディレクトリ ディレクトリ
/bin 基本的なコマンド バイナリが格納される
/boot ブートローダーの静的ファイルが格納される
/dev デバイスファイルが格納される
/etc ホスト固有のシステム構成ファイルが格納される
/lib 重要な共有ライブラリとカーネル モジュールが格納される
/media リムーバブルメディアのマウントポイント
/mnt ファイルシステムを一時的にマウントするためのマウントポイント
/opt アドオン アプリケーション ソフトウェア パッケージが格納される
/run 実行中のプロセスに関連するデータが格納される
/sbin 重要なシステム バイナリが格納される
/srv 自システムが提供するサービスに関するデータが格納される
/tmp 一時ファイルが格納される
/usr 二次階層
/var 可変データが格納される
その他ディレクトリについての補足

上記ディレクトリの他にも、覚えておきたいディレクトリについて補足します。

ホームディレクトリについて

ホームディレクトリとは、コマンドライン(コンソールやSSH)からログインした際、最初に表示されるディレクトリのことを指します。グラフィカルユーザーインターフェース(GUI)でログインした際はデスクトップディレクトリが表示されますが、必ずしもデスクトップディレクトリがホームディレクトリではないことに注意が必要です。
一般ユーザー(rootではないユーザー)のホームディレクトリは、通常 /home の下にそれぞれのユーザー名のディレクトリが作成されます。例えば、 nullpopopo ユーザーのホームディレクトリは /home/nullpopopo です。また、rootユーザーのホームディレクトリは /root として作成されます。

/etc ディレクトリについて

/etc ディレクトリの直下は、システムで使用する設定ファイルや、アプリケーションの設定ファイルが配置されます。1つのアプリケーションが複数の設定ファイルを使用する場合は、そのアプリケーションの名前でサブディレクトリが作成されることもあります。

/tmp ディレクトリについて

/tmp ディレクトリは、以下2つの特徴がある特殊なディレクトリです。

  1. システムのユーザーであれば、誰でも読み書き可能である。が、ディレクトリにはスティッキービットが立っており、ファイルやディレクトリの削除を行うことができるのは、そのファイルやディレクトリのオーナーだけである。
  2. 一定の間隔ごとに /tmp ディレクトリの中身を削除するスクリプトが走る。CentOS7またはCentOS8の場合、systemd-tmpfiles-clean.timerが削除処理を定期実行する。
/var ディレクトリについて

ログファイルやキャッシュ、システムがクラッシュしたときのダンプファイルや、印刷やメールのスプールやデータベースのメタデータなどが格納されます。

CTC教育サービスではLinuxをはじめ多数の研修コースが用意されています。ご自身の興味や業務の必要性にあったコースを受講してみてはいかがでしょうか。
https://www.school.ctc-g.co.jp/category/

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes