コマンドファイルのあるディレクトリが6つあります。これらは/bin
、/sbin
、/usr/bin
、/usr/sbin
、/usr/local/bin
と/usr/local/sbin
。
これらの違いは何ですか?自分でスクリプトを作成している場合、どこに追加すればよいですか?
関連する:
コマンドファイルのあるディレクトリが6つあります。これらは/bin
、/sbin
、/usr/bin
、/usr/sbin
、/usr/local/bin
と/usr/local/sbin
。
これらの違いは何ですか?自分でスクリプトを作成している場合、どこに追加すればよいですか?
関連する:
回答:
これについては、LinuxのFilesystem Hierarchy Standard(FHS)を参照してください。
/bin
:/usr
パーティションがマウントされる前に使用可能なバイナリの場合。これは、非常に初期のブート段階で使用される些細なバイナリ、またはシングルユーザーモードのブートで使用可能にする必要があるバイナリに使用されます。以下のようにバイナリを考えるcat
、ls
など、
/sbin
:同じですが、スーパーユーザー(root)特権が必要なバイナリの場合。
/usr/bin
:最初と同じですが、一般的なシステム全体のバイナリ用です。
/usr/sbin
:上記と同じですが、スーパーユーザー(root)特権を持つバイナリーが必要です。
独自のスクリプトを作成している場合、これらをどこに追加すればよいですか?
上記のどれでもない。/usr/local/bin
または/usr/local/sbin
システム全体で利用可能なスクリプトを使用する必要があります。local
パスは、それがシステムパッケージ(これはによって管理されていないこと、エラーのDebian / Ubuntuのパッケージ用)。
以下のためのユーザースコープのスクリプト、使用~/bin
(自分のホームディレクトリにある個人用のbinフォルダ)。
FHSは次のように述べてい/usr/local
ます。
このホストに固有のローカルデータの3次階層。一般的に、例えば、さらにサブディレクトリがあり
bin/
、lib/
、share/
。
/bin
すると問題が発生しますか?私はあなたの答えに従ってスクリプトを移動しましたが、私はまだ興味があります
Severity:Serious Certainty:Certain
ls -la
何も示していない
私は1年以上前に自分自身に同様の質問がありました:bashスクリプトを配置するのに最適なディレクトリですか?
man hier
(階層)はすべてのディレクトリをリストします。バイナリ専用のものを取得するには、次を使用します。
$ man hier | grep -E 'bin$|sbin$|^.{7}(/bin)|^.{7}(/sbin)' -A2
/bin This directory contains executable programs which are needed in single user
mode and to bring the system up or repair it.
--
/sbin Like /bin, this directory holds commands needed to boot the system, but
which are usually not executed by normal users.
--
/usr/X11R6/bin
Binaries which belong to the X-Window system; often, there is a symbolic
link from the more traditional /usr/bin/X11 to here.
--
/usr/bin
This is the primary directory for executable programs. Most programs exe‐
cuted by normal users which are not needed for booting or for repairing the
--
/usr/local/bin
Binaries for programs local to the site.
--
/usr/local/sbin
Locally installed programs for system administration.
--
/usr/sbin
This directory contains program binaries for system administration which
are not essential for the boot process, for mounting /usr, or for system
すべてのユーザーがスクリプトにアクセスするために、スクリプトをに入れることができます/usr/local/bin
。sudo
ここでファイルを追加/変更するにはアクセスする必要があることに注意してください。参照:カスタムLinuxスクリプトを配置する標準的な場所はありますか?
独自のユーザーIDの場合は、スクリプトをに入れます/home/YOUR_NAME/bin
。最初にこのディレクトリを作成し、ターミナルを再起動してでパスを自動的に設定する必要があることに注意してください~/.profile
。参照:/ home / username / binを$ PATHに追加するには?
私はAsk Ubuntuでもっと複雑なbashスクリプトのいくつかを取り、インストールスクリプトでそれらをセットアップすることを考えていgithub
ます。以下にいくつか例を示します。
私はと思うのスクリプトがインストールされなければならない/usr/bin
の$ PATHにあるが、私はまだ適切な場所にはよく分かりません。
man hier
gertvdijkの答えが対処しなかったセクションだと思います。つまり、コマンドラインでディレクトリ階層構造を取得できます。Webでの読み取りに頼る必要はありません(つまり、ここ)。
man hier
IMOの情報的に不十分な抜粋)に言及しています。しかし、これは私の個人的な意見かもしれません。
/usr/X11R6/bin
おり、/usr/local/bin
これはに含まれていman heir
ます。
/usr/local/bin
あなたがパッケージマネージャーではないのに、どうしてですか?