それでは毛玉諸君、これにて失敬

日々の精進を備忘録的に綴ります。

ふつうのLinuxプログラミング2

ファイルシステム

ルートディレクト

bin

  • コマンド(プログラム)を置く
  • ブートするときに必要なシステムの基本コマンド
  • /usr/bin はそれ以外の一般ユーザ向けコマンド

sbin

  • 管理用コマンド
  • ブート時に必要な管理者用コマンド
  • usr/sbin には平常時用のシステム管理コマンド、サーバプログラムを置く

lib

  • ライブラリを置く
  • C言語のライブラリの他、PerlRuby, Pythonなどのライブラリを置くことも
  • 自分でインストールするライブラリは /usr/local/lib などに置くべき

/usr

  • 基本的に複数ホストで共有可能なファイルを置く
  • User Services and Routinesの頭文字

/usr/src

/usr/include

  • システムのヘッダファイルを置く
  • カーネルのヘッダファイルは /usr/include/linux と /usr/include/asm にある

/usr/share

  • アーキテクチャ(CPUの種類)に依存しない複数のマシンで共有可能なファイルを置く
  • ドキュメント、man、infoのデータなど

/usr/local

  • /usr を鏡写しにしたようにbin, sbin, lib, shareなどのディレクトリが並ぶ
  • 管理者が異なる

/var

  • /var/spool
    • ユーザーのメール
    • プリンタ入力
  • /var/run
    • 起動中のサーバプロセスのプロセスIDが保存される
    • サーバーを作る時、このディレクトリにプロセスIDを保存して終了時にそれを削除すること
  • /var/log
    • サーバプロセスが書き込むログ

/etc

  • 各マシン毎の設定ファイルを置く
    • /etc/fstab, /etc/hosts

/dev

/proc

/boot

  • カーネルのプログラムを置く
    • 元々はルート配下に直に置いていたが、最近はここに置くようになった

/root

/tmp

  • 一時的なファイル置き場
  • rebootすると消える可能性がある
  • /var/tmp はリブートされても消えない

home

  • 一般ユーザーのホームは /home ではなく $HOME
    • /home/{username}