GNU/Linux >> Linux の 問題 >  >> Linux

Linux で which コマンドを使用する方法

はじめに

which コマンドを使用すると、ユーザーは $PATH 内のパスのリストを検索できます 環境変数と引数に指定したコマンドのフルパスを出力します。このコマンドは、指定されたコマンドに一致する実行可能ファイルを見つけることによって機能します。

このチュートリアルでは、which の使い方を学びます。 コマンド。

前提条件

  • Linux を実行しているシステム
  • 端末へのアクセス (Ctrl + Alt + T )

Linux のコマンド構文とオプション

which の構文 コマンドは:

which -a [argument]

引数

[argument] 変数は、検索するコマンドを指定します。

たとえば、次のコマンドは cat コマンドの場所を出力します:

which cat

オプション

which コマンドには -a という 1 つのオプションしかありません .これはオプションであり、見つかったすべての一致を出力するために使用されます。

このコマンドは、左から右に一致を検索します。 $PATH にリストされているディレクトリに複数の一致が見つかった場合 , which 最初のものだけを印刷します。 -a オプションは which を指示します すべての一致を印刷します。

重要: 多くの Linux ディストリビューションでは、which シェル組み込みコマンドを除外し、それらの場所を出力しません。

例:

which -a touch

複数の一致がある場合、1 つの一致が他の一致へのシンボリック リンクであることを意味する場合があります。ただし、同じコマンドの 2 つのバージョンを別の場所に配置したり、2 つの異なるコマンドを同じ名前で使用したりすることは可能です。

注: 他の多くのコマンドとは異なり、which --help がありません オプション。コマンドの説明とヘルプを表示するには、man which を実行します .

終了ステータス

which コマンドは、終了ステータスを示す次のいずれかの値を返します:

  • 0 . すべての引数が見つかり、実行可能になりました。
  • 1 . 1 つ以上の引数が存在しないか、実行できません。
  • 2 . 無効なオプションが指定されました。

Linux コマンドの例

次の例は、which がどのように機能するかを示しています。 コマンドの動作と利用可能なオプションの使用方法。

1.実行可能ファイルのパスを表示

コマンドのパスを表示するには、which の後にコマンド名を引数として渡します。 .

例:

which tr

出力には、/usr/bin/tr にある tr コマンド実行可能ファイルへのパスが表示されます .

2.実行可能ファイルの複数のパスを表示

which 複数の引数を受け入れ、指定された順序で各引数へのパスを出力します。

例:

which nc mount sort

このコマンドは、提供されたリストを処理し、nc コマンド、mount コマンド、および sort コマンドの結果を、各結果を改行文字で区切って出力します。

3.すべてのインスタンスを一覧表示

which $PATH で見つかった最初の一致のみを表示します 可変ディレクトリ リスト。 -a を使用します 指定されたコマンドのすべての一致を表示するオプション。

たとえば、less コマンドのインスタンスを検索すると、-a を使用すると 2 つの結果が出力されます。 オプション:

which -a less

ls コマンドを使用してファイルの詳細を確認し、両方のバージョンが実行可能ファイルであるかどうかを判断します。実行:

ls -lh /usr/bin/less
ls -lh /bin/less

出力は、同じコマンドの 2 つの同一バージョンを 2 つの場所に示しています。どちらも 176 KB で、両方とも実行可能です。

注: /ビン ディレクトリには、システム管理者およびその他のユーザーが使用でき、システムの緊急修復に必要な実行可能ファイルが含まれています。 /usr/bin directory は、システム上で実行可能なコマンドのプライマリ ディレクトリです。

4.シンボリック リンクを見つける

-a の使用 オプションは、指定されたプログラムのインスタンスを含むすべてのパスを一覧表示します。同じプログラムの複数のバージョンがシステムに存在する可能性がありますが、インスタンスの 1 つがシンボリック リンクであり、バイナリ ファイルではない場合があります。

たとえば、次のコマンドを実行すると、atq コマンドの 2 つのインスタンスが出力されます:

which -a atq

ここでも、ls を使用します コマンドを実行して、両方のファイルの詳細を確認します。実行:

ls -lh /usr/bin/atq
ls -lh /bin/atq

出力は、両方のファイルがシンボリック リンク (->) であることを示しています。 ) わずか 2 バイトの大きさで、at コマンドを指しています。

5.シェル組み込みを除外

前述のように、which コマンドは、その出力からシェル組み込みを除外します。

たとえば、read および man コマンドの場所を尋ねると、man の場所のみが出力されます。 コマンド実行可能ファイル (read など) は bash シェル コマンドです。

which read man

結論

このチュートリアルでは、which の使用方法を示しました。 Linux でコマンドを実行して、コマンドの実行可能バイナリへのパスを見つけます。その他の重要な Linux コマンドとその使用例については、Linux コマンド チート シートを参照してダウンロードしてください。


Linux
  1. Linuxsedコマンドの使用方法

  2. Linuxgrepコマンドの使用方法

  3. Linuxでhistoryコマンドを使用する方法

  1. LinuxでSuコマンドを使用する方法

  2. Linuxでidコマンドを使用する方法

  3. Linux で「screen」コマンドを使用する方法

  1. Linuxでsudoコマンドを使用する方法

  2. Linuxをコマンドで使用する方法

  3. Linuxでlocateコマンドを使用する方法