コマンドラインで作業しているときに、コマンドのバイナリファイルの場所をすばやく見つける必要がある場合があります。はい、この場合、findコマンドはオプションですが、少し時間がかかり、望ましくない結果が生じる可能性があります。この目的のために設計された特定のコマンドがあります: whereis 。
この記事では、わかりやすい例を使用して、このコマンドの基本について説明します。ただし、その前に、このチュートリアルのすべての例がUbuntu16.04LTSでテストされていることを言及する価値があります。
Linuxwhereisコマンド
whereisコマンドを使用すると、ユーザーはコマンドのバイナリ、ソース、およびマニュアルページのファイルを見つけることができます。その構文は次のとおりです。
whereis [options] [-BMS directory ... -f] name ...
そして、ツールのマニュアルページで説明されているのは次のとおりです。
whereisは、指定されたコマンド名のバイナリ、ソース、および手動ファイルを検索します。提供された
名前は、最初に先頭のパス名コンポーネントと、
form .extの(単一の)末尾の拡張子(例:.c)sのプレフィックスが削除されます。ソースコード管理の使用に起因するものも
処理されます。次に、whereisは、標準のLinuxの場所、および
$PATHと$MANPATHで指定された場所で目的のプログラムを見つけようとします。
次のQ&Aスタイルの例は、whereisコマンドがどのように機能するかについての良いアイデアを与えるはずです。
Q1。 whereisを使用してバイナリファイルの場所を見つける方法は?
たとえば、whereisコマンド自体の場所を検索するとします。次に、その方法を説明します。
whereis whereis
出力の最初のパスが探しているものであることに注意してください。 whereisコマンドは、マニュアルページとソースコードのパスも生成します(利用可能な場合、この場合はそうではありません)。したがって、上記の出力に表示される2番目のパスは、whereis手動ファイルへのパスです。
Q2。バイナリ、マニュアル、またはソースコードを具体的に検索するにはどうすればよいですか?
バイナリなどを具体的に検索する場合は、 -bを使用できます。 コマンドラインオプション。例:
whereis -b cp
同様に、 -m および-s オプションは、マニュアルやソースを検索する場合に使用されます。
Q3。要件に応じて検索を制限するにはどうすればよいですか?
デフォルトでは、whereisは、globパターンで定義されたハードコードされたパスからファイルを検索しようとします。ただし、必要に応じて、特定のコマンドラインオプションを使用して検索を制限できます。たとえば、whereisで/ usr / bin内のバイナリファイルのみを検索する場合は、 -Bを使用してこれを行うことができます。 コマンドラインオプション。
whereis -B / usr / bin / -f cp
注 :この方法で複数のパスを渡すことができるため、 -f コマンドラインオプションは、ディレクトリリストを終了し、ファイル名の開始を通知します。
同様に、手動検索またはソース検索を制限する場合は、 -Mを使用できます。 および-S コマンドラインオプション。
Q4。 whereisが検索に使用するパスを確認するにはどうすればよいですか?
これにもオプションがあります。 -lを指定してコマンドを実行するだけです 。
whereis -l </ pre>これが私たちのために作成されたリスト(部分的)です:
Q5。異常なエントリを持つコマンド名を見つける方法は?
whereisの場合、明示的に要求された各タイプのエントリが1つだけではない場合、コマンドは異常になります。たとえば、ドキュメントが利用できないコマンドや、複数の場所にドキュメントがあるコマンドは、異常と見なされます。 -u コマンドラインオプションを使用すると、whereisに異常なエントリを持つコマンド名が表示されます。
たとえば、次のコマンドは、ドキュメントファイルがない、または複数ある現在のディレクトリ内のファイルを表示する必要があります。
whereis -m -u *結論 同意しました。これは、頻繁に必要となる種類のコマンドラインツールではありません。しかし、状況が発生したとき、それは間違いなくあなたの人生を楽にします。ツールが提供する重要なコマンドラインオプションのいくつかをカバーしたので、それらを実践してください。詳細については、manページにアクセスしてください。
Linux