今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

ファイル保存場所セオリー(ディレクトリ構造)

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にしておくか。

まだ掴めてない部分はあるけど、基本は抑えたのでよし。