はじめに
TechCorpのシステム管理部門へようこそ!新入りのシニアシステム管理者として、あなたのタスクはwhereis
コマンドをマスターすることです。この強力なツールは、Linuxシステム内のさまざまなコマンドのバイナリ、ソース、およびマニュアルページファイルを見つけるのに役立ちます。この実験が終わるまでに、あなたは効率的にファイルシステムをナビゲートし、重要なシステムコンポーネントを見つけることができるようになります。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
TechCorpのシステム管理部門へようこそ!新入りのシニアシステム管理者として、あなたのタスクはwhereis
コマンドをマスターすることです。この強力なツールは、Linuxシステム内のさまざまなコマンドのバイナリ、ソース、およびマニュアルページファイルを見つけるのに役立ちます。この実験が終わるまでに、あなたは効率的にファイルシステムをナビゲートし、重要なシステムコンポーネントを見つけることができるようになります。
TechCorpでの最初のタスクは、whereis
コマンドを慣れ親しませることです。このコマンドは、指定されたコマンドのバイナリ、ソース、およびマニュアルページファイルを見つけるために使用されます。
まずはwhereis
を使ってls
コマンドに関する情報を探してみましょう:
whereis ls
次のような出力が表示されるはずです:
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
この出力には2つの情報が含まれています:
/usr/bin/ls
:これはls
バイナリ実行可能ファイルの場所です。端末でls
と入力すると、これが実際に実行されるプログラムです。/usr/share/man/man1/ls.1.gz
:これはls
のマニュアルページの場所です。マニュアルページには、コマンドの使い方に関する詳細な情報が含まれています。whereis
コマンドは、標準のバイナリディレクトリ、ライブラリディレクトリ、およびマニュアルページディレクトリなど、制限された場所セット内のファイルを検索します。これにより、ファイルシステム全体を検索するよりも高速になります。
これらのパスが何を意味するのか興味がある場合は:
/usr/bin
はユーザコマンドの一般的な場所です。/usr/share/man
は通常マニュアルページが保存される場所です。man1
はこれがユーザコマンドマニュアル(システムコールやライブラリ関数とは対照的)であることを示しています。.gz
拡張子は、ファイルが圧縮されていることを意味し、スペースを節約するためです。あなたのチームリードは、grep
コマンドのバイナリファイルを見つけるように指示しました。whereis
の-b
オプションは、このタスクに最適です。なぜなら、このオプションはバイナリファイルを特定的に検索するからです。
次のコマンドを試してみてください:
whereis -b grep
次のような出力が表示されるかもしれません:
grep: /usr/bin/grep
この出力は、grep
バイナリファイルの場所を示しています。バイナリファイルは、コマンドを入力したときに実行される実行可能プログラムです。この場合、grep
コマンドを使用するとき、実際には/usr/bin/grep
にあるプログラムが実行されます。
さて、システムに存在しない可能性のあるコマンドのバイナリを探してみましょう。架空のコマンドnonexistent
を検索するためにwhereis -b
を使用してみてください:
whereis -b nonexistent
次のように表示されるはずです:
nonexistent:
この空の出力は、nonexistent
コマンドに対してバイナリが見つからなかったことを示しています。システムに特定のコマンドがインストールされているかどうかわからない場合に役立ちます。
次のタスクは、ssh
コマンドのマニュアルページを見つけることです。マニュアルページは、さまざまなコマンドの使い方を理解するために欠かせないものです。
whereis
に-m
オプションを使用して、マニュアルページを見つけましょう:
whereis -m ssh
次のような出力が表示されるかもしれません:
ssh: /usr/share/man/man1/ssh.1.gz
この出力は、ssh
コマンドのマニュアルページの場所を示しています。.gz
拡張子は、ファイルが圧縮されていることを意味し、スペースを節約するためです。
マニュアルページの内容を表示するには、通常man
コマンドを使用します。しかし、まだそのコマンドについては説明していないので、ここではただファイルが存在するかどうかを確認しましょう:
ls /usr/share/man/man1/ssh.1.gz
ファイルが存在する場合、出力にその名前が表示されます。これにより、マニュアルページがシステムに実際に存在することが確認できます。
マニュアルページの場所を理解することは、システム管理者にとって非常に重要です。特定のコマンドに関するドキュメントが利用可能かどうかを確認できるようになります。これは、ツールの使い方を理解したり、問題をトラブルシューティングする際に非常に役立ちます。
あなたがwhereis
に慣れ親しんできたところで、あなたのチームリードはあなたに、python3
コマンドのバイナリとマニュアルページの両方を一度に見つけるチャレンジを投げかけます。
これを達成するには、-b
オプションと-m
オプションを組み合わせることができます:
whereis -bm python3
次のような出力が表示されるかもしれません:
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz
この出力には豊富な情報が含まれています:
/usr/bin/python3
:Python 3のバイナリ(実行可能プログラム)の場所/usr/lib/python3
:Python 3のライブラリ(Pythonプログラムで使用される再利用可能なコード)が含まれるディレクトリ/etc/python3
:Python 3の設定ファイルが含まれるディレクトリ/usr/share/python3
:共有されるPython 3のデータが含まれるディレクトリ/usr/share/man/man1/python3.1.gz
:Python 3のマニュアルページの場所この包括的なビューは、ファイルシステム全体にわたって複数のコンポーネントを持つ複雑なソフトウェアを扱っているときに特に役立ちます。すべてのものがどこにあるかをすばやく概要を把握することができます。
最後のタスクとして、あなたのチームリードは、システム上にbash
シェルのソースファイルが利用可能かどうかを確認してほしいと考えています。ソースファイルは、プログラムがどのように機能するかを理解したり、カスタムバージョンをコンパイルする際に役立つ場合があります。
ソースファイルを検索するには-s
オプションを使用します:
whereis -s bash
出力は空になる場合が多いです。なぜなら、ほとんどのシステムではソースファイルはデフォルトでインストールされないからです。出力が表示される場合、それはシステム上のbash
ソースファイルの場所を示します。
さて、すべてのオプションを組み合わせてbash
コマンドの完全な情報を取得してみましょう:
whereis bash
このオプションなしのコマンドは、bash
に関するすべての利用可能な情報を表示します。出力は次のようになるかもしれません:
bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
この出力は次のことを示しています:
/usr/bin/bash
:bashのバイナリ実行可能ファイル/etc/bash.bashrc
:bashのシステム全体の設定ファイル/usr/share/man/man1/bash.1.gz
:bashのマニュアルページこれらのファイルの場所を理解することは、システム管理タスクにとって非常に重要です。たとえば、すべてのユーザーに対するbashの既定の動作を変更する必要がある場合、/etc/bash.bashrc
を参照することがわかります。
この実験では、Linuxシステム内のさまざまなコマンドのバイナリ、ソース、およびマニュアルページファイルを見つけるためにwhereis
コマンドをどのように使用するかを学びました。以下のことができるようになりました:
-b
オプションを使用してバイナリファイルを見つける-m
オプションを使用してマニュアルページを見つける-s
オプションを使用してソースファイルを検索するこれらのスキルは、システム管理者としてのあなたの役割において非常に貴重であり、重要なファイルを迅速に見つけ、Linuxシステムの構造を理解することができます。
この実験では扱わなかったwhereis
コマンドの追加オプションには、以下があります:
-u
:異常なエントリ(通常の命名パターンに従わないファイル)を検索する-B
:whereis
がバイナリを検索する場所を変更または制限する-M
:whereis
がマニュアルページを検索する場所を変更または制限する-S
:whereis
がソースを検索する場所を変更または制限するシステム管理の旅を続ける際、whereis
はあなたが利用できる多くのツールの1つにすぎないことを忘れないでください。迅速な検索には特に役立ちますが、より包括的なファイル検索には、将来的にfind
やlocate
などのコマンドを検討することもできます。