Linuxでのファイルの場所の規則は何ですか?これまでのところ、私はなんとか推測することができました:
/ proc(実行中のプロセスへの参照)
/ dev(すべてのハードウェアへの参照)
/ etc(構成ファイル)
/ home(ホーム)
/ mnt(マウントされたデバイス)
/ media(CD、USBディスクなどのリムーバブルデバイス)
...しかし、他の部分はまだ不明です、例えば:
ダウンロードしたソースはどこに置きますか?
/ usr/src
/ usr/local/src
コンパイルされたプログラムはどこに置きますか?
/ bin
/ usr/bin
/ usr/local/bin
/ binと/ sbinの違いは何ですか?
分布はどのように異なりますか?
これらは1つの質問ではないことは理解していますが、すべて一緒に回答する必要があるように思われます。うまくいけば、他の人も混乱しています。
あなたは読みたいかもしれません ファイルシステム階層標準 ;便利なリファレンスです。
あなたのホームディレクトリはそのほとんどが行くべき場所です。あなたがシステム管理者ではないふりをします。あなたがシステム上のアカウントを持っているさらに別の人のふりをします。ホームディレクトリ内、例: /home/pufferfish
、あなたは好きなことをすることができます。 /home/pufferfish/bin
、/home/pufferfish/lib
、および/home/pufferfish/src
はすべて従来の選択肢ですが、実際には問題はありません。
コンパイルされたプログラムの場合、使用するディレクトリ/ディレクトリに関係なく、スクリプトまたは実行可能ファイルのパス全体を入力せずに実際に実行できるように、それがPATH上にあることを確認してください。
分布はそれほど違いはありません。あるパッケージマネージャーが/usr/bin
にバイナリをインストールし、一部のライブラリが別の場所に移動し、別のシステムがさらに別の場所にインストールする可能性があることがわかりました。私は通常、物事が毎回どこに行くのかを見つけるためにいくつかの調査をしなければなりません。
たまたま、UnixライクなOSの世界には、ほとんどのUnixベンダーが従うベストプラクティスを説明するFilesystem HierarchyStandardと呼ばれる標準があります。 * nix環境で多くの時間を費やす場合は、よく読んでおく価値があります。
あなたの質問への回答:
/ usr/srcと/ usr/local/srcの両方が機能します。あなたの選択。ただ維持することは一貫しています。
/ binは、ユーザーに必要なコマンド用です。私はそこにカスタムバイナリを配置しません。
/ sbinは、システムバイナリ(通常はsysadminのもの)用です。起動用のものとfsutilsが含まれています。
/ usr/binは、ほとんどのユーザーコマンドが存在する場所であり、通常、ほとんどのLinuxパッケージ管理システムは、バイナリまたは少なくともバイナリへのシンボリックリンクをここに配置します。
/ usr/local/binは、そのマシンに固有の独自のコンパイル済みコードを配置するのに安全な場所です。
多分あなたはこれらを見てみるべきです:
/ usr/local /は、このシステムでコンパイルされたソフトウェア用です。/usr /に似ていますが、パッケージからインストールされていない点が異なります。
/ sbin/vs/bin /(および/ usr/sbin/vs/usr/bin):sはスーパーユーザーを表します。通常のユーザーが気にするべきではなく、多くの場合、実行する権限を持ってはならないプログラム