PATHとLD_LIBRARY_PATHの違いは何ですか?

PATHとLD_LIBRARY_PATHの違いは何ですか?

PATHの違いを理解するのに少し難しいことがありますLD_LIBRARY_PATH。 pkg.tclファイルが必要なインストール設定がありますが、そのパスをどこに追加するのかわかりません。PATHまたはでなければなりませんかLD_LIBRARY_PATH

答え1

Unixシステムは、さまざまなディレクトリにさまざまな種類のファイルを配布する傾向があります。たとえば、実行可能ファイルは通常(bin、、、、/bin... )という名前のディレクトリにあります。歴史的に、実行可能ファイルはバイナリファイル(機械語コード)なので、これはバイナリを意味しますが、スクリプトもあります。実行可能ファイルを含む複数のディレクトリがあり、ディレクトリを動的に追加および削除することが便利です(たとえば、複数の実行可能アプリケーションをテストする場合は、実行可能ファイルの検索パスに一時的に追加できます)。 。。名前を指定してプログラムを実行すると、シェルは変数に記載されているディレクトリ(コロンで区切られたディレクトリのリスト)でそのプログラムを探します。/usr/bin/usr/local/binbinPATHPATH

一部のプログラムが名前で検索する他の種類のファイルにも同じメカニズムがあります。これはいくつかの一般的なPATH同様の変数です(私が提供するパスの例は、アイデアを提供するためにシステムで見つけることができるパスとまったく一致しません)。

  • PATH:実行可能ファイル(例/home/username/bin:/usr/local/bin:/usr/bin:/bin:)。
  • MANPATH:manページ(例/usr/local/man:/usr/man:)。
  • LD_LIBRARY_PATH:ネイティブコードベース(Linuxでは通常、検索パスに/usr/local/lib、この変数の値に加えて他の値が含まれます)/usr/lib/lib名前はLD以下に由来します動的OADよく、ライブラリがロードされるシステムコンポーネント動的にリンクされた実行可能ファイル
  • PERL5LIB:Perlライブラリ(例/usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl:)。
  • PYTHONPATH:Pythonライブラリ(例/usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6:)。
  • TCLLIBPATH:TCLライブラリ(例/usr/local/lib/tcltk:/usr/lib/tcltk:)。

そのためpkg.tcl、スタンドアロンの実行可能ファイルがある場合は、実行権限を付与してに入れます$PATH。 TCLプログラムによってロードされたTCLライブラリーの場合$TCLLIBPATH

答え2

PATH実行可能プログラムのディレクトリを指定するために使用されます。LD_LIBRARY_PATHライブラリのディレクトリを指定するために使用されます。

関連情報