回答:
BSDシステムでは、すべての非システムソフトウェア(ポート)が/usr/local
デフォルトでインストールされます。
ほとんどのLinuxディストリビューションでは、ローカル管理者がソースからインストールし、ディストリビューションパッケージマネージャーをバイパスするソフトウェアに使用することを目的としています。
/usr/local
オペレーティングシステムをアップグレードするときに破壊したくないもののためのものです。
OSは必要なものを自由に吹き飛ばすことが/usr/bin
できます。OS以外のものを破壊しないようにローカルバリエーションが設定されています。
そして、(このすべてのローカルのものを置くことによってbin
、etc
一つの制御ポイントの下など)、それは(取得することとは対照的に非常に簡単にサイトのバックアップを行い/bin
、/etc
、/lib
あなただけ戻って-というようにOSのもののために)/usr/local
階層全体をアップします。
もしそうならecho $PATH
、あなたはおそらく/usr/local/bin
そこにあることに気付くでしょう。または、which PROG
(PROG
実際のプログラム名に置き換えて)試して、どこにあるかを確認します。
pax> pwd
/home/pax
pax> echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
pax> ls /usr/local/bin/ico*
iconv
pax> which iconv
/usr/local/bin/iconv
pax> iconv -?
Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]
or: iconv -l
Try 'iconv --help' for more information.
/ usr / local / binの目的についてのタイトルに答えるために、/ usr / localはマシンにローカルなソフトウェアであり、通常は手動でインストールされます(rpmやdebのようなパッケージ管理経由ではありません)
実際の質問に答えるには、PATH変数について学ぶ必要があると思います。端末でecho $ PATHを試してください
./somescript.shは、スクリプトを現在のディレクトリ(。もちろん、それはシェルの内部コマンドです)。