ファイル保存場所セオリー(ディレクトリ構造)
Windowsユーザーに教えるLinuxの常識(2):各ディレクトリの役割を知ろう(ルートディレクトリ編) (1/2) - @IT
Windowsユーザーに教えるLinuxの常識(3):各ディレクトリの役割を知ろう(サブディレクトリ編) (1/2) - @IT
一番知りたかったファイル保存場所の話。各ディストリビューションで違いはあっても、基本的にはFHSに基づいて設計されてるみたいです。
Filesystem Hierarchy Standard - Wikipedia
全部羅列するのもあれなんで一部だけ。
- /etc
- 設定ファイルがたくさん入ってる場所。サブディレクトリもたくさんある。
- /home
- /home/[ユーザー名]が、Windowsでいう「マイドキュメント」的なとこ。大容量のパーティションを割り当てるとよい。
- /bin、/sbin
- システム系のプログラムファイルを保管します。binはcatなど全員が使うコマンド、sbinはshutdownなどrootが使うようなコマンドを保存。Windowsでいうと「C:\WINDOWS\system32」です。
- /usr
- 「読み出し可能かつ共有可能なファイル」つまりプログラムファイルを保管します。/bin、/sbinとの違いは、アプリケーションプログラムを保存するってとこかな。Windowsでいうなら「C:\Program Files」。/usr/localにはパッケージシステム(yumやYaST2)管理外のプログラムファイルを保管。例えばLinux用のフリーソフトとかゲームとか。/usr/X11R6は歴史的な事情があるディレクトリ。
- /var
- 「ホスト固有の可変データ(variable data)用領域」。ログ、lockファイル、キューディレクトリなどが存在する。…の割に、atacheの公開ディレクトリが/var/www/以下だったりするからややこしい。
ちょっと気持ち悪いのが、写真や動画データの推奨保存先が/home/[ユーザーID]だということ。俺はWindowsでDドライブ直下にフォルダを作成してデータを保存してる(つまり他のユーザーも見れる)んだけど、Linuxはマルチユーザー志向なので個人用PCでも/home/[ユーザーID]以下にデータを保存してしまう→まるで個人用データのような扱いに見えるし階層も深くなる。
あと、自作のスクリプトはどこで動作させればいいのかな…。/usr/local/binってレベルじゃないしな…。/home/[ユーザーID]/scrにしておくか。
まだ掴めてない部分はあるけど、基本は抑えたのでよし。