Linuxのパスにディレクトリを追加します

Add Directory Path Linux



Linuxターミナルでコマンドを実行するたびに、基本的には、指定された名前の実行可能プログラムを実行するようにシェルに命令します。 ls、mkdir、touch、findなどの単純なプログラムを含む実行可能プログラムは、ファイルシステム上の特別なディレクトリにあります。 Linuxでは、このような実行可能プログラムに対応するディレクトリには次のものがあります。

/usr/sbin
/午前/usr/ローカル/午前
/usr/ローカル/午前
/午前
/usr/午前
/スナップ/午前
/sbin
/usr/ゲーム
/usr/ローカル/ゲーム

これらのディレクトリの1つに実行可能権限を持つファイルは、Linuxターミナル内の任意の場所から実行できます。







では、質問は、Linuxシェルがプログラムを探す場所をどのようにして知るのかということです。現在のディレクトリまたはファイルシステム内のランダムな場所から検索を開始することはありません。シェルはに依存しています $ PATH 変数。



$ PATH変数とは何ですか?

$ PATH 実行可能ファイルの場所をシェルに指示する環境変数です。で定義されているさまざまなディレクトリがあります $ PATH 変数。にディレクトリを表示するには $ PATH 、次のコマンドを実行します。



$捨てた $ PATH





コマンド実行可能ファイルが配置されているディレクトリを見つけるには、 どれの 次のようにコマンド

$どれの 指図

たとえば、の実行可能ファイルの場所を見つけるには pwd コマンド、コマンドを実行します:



$どれの pwd

出力から、実行可能ファイルが /午前 ディレクトリ。のために 接する コマンドの場合、実行可能ファイルは / usr / bin ディレクトリ。

$ PATHにディレクトリを追加する方法

と呼ばれる単純なシェルスクリプトがあるとします。 あいさつ 印刷する.sh こんにちは世界 /に配置 ホーム/ジェームズ/ファイル ディレクトリ。デフォルトでは、ディレクトリはまだ定義されていません $ PATH 変数。任意の場所またはディレクトリからスクリプトを実行するには、スクリプトへの絶対パスを指定する必要があります。さて、これは面倒で時間がかかる可能性があります。

スクリプトへのフルパスを指定せずに(ファイルシステム内の場所に関係なく)スクリプトをグローバルに実行するには、スクリプトを含むディレクトリをに追加する必要があります。 $ PATH 以下の構文を使用して変数。

$書き出す =$ PATH///ディレクトリ//ファイル

この場合、コマンドは次のようになります。

$書き出す =$ PATH//ジェームズ/ファイル

これで、図のようにスクリプトへの絶対パスを指定せずに、Linuxシステム内の任意のディレクトリからスクリプトを呼び出したり実行したりできるようになります。

ディレクトリを$ PATH変数に永続的に追加する方法

$ PATHに定義したパスは一時的なものであり、端末を閉じたりシステムを再起動したりしても保持されません。現在のシェルセッションでのみ機能します。終了して別のセッションを開始すると、次のようにエラーが発生します。

変更を永続化するには、で$ PATH変数を定義します。 〜.bashrc 構成ファイル。これを行うには、構成ファイルを開きます。

$sudo 私が来た/.bashrc

次に、図のように行を追加します。

$書き出す =$ PATH//ジェームズ/ファイル

その後、保存して終了します。新しい変更をロードするには、次のようにsourceコマンドを呼び出します。

$ソース/.bashrc

$ PATHへのディレクトリの追加を確認するには、次のようにコマンドを実行します。

$捨てた $ PATH

まとめ

そして、あなたはそれを持っています、みんな! Linuxの$ PATHにディレクトリを正常に追加できました。これまで見てきたように、特にシェルからスクリプトまたはアプリケーションを定期的に呼び出す場合は、非常に便利で簡単です。同じコマンドがどのLinuxフレーバーでも機能します。