whereis コマンドは、バイナリ ファイル、ソース コード、ヘルプ マニュアルを検索するために使用されます。 whereis は、一般的に使用されるいくつかのインストール ディレクトリの範囲内のみを検索し、システム全体のすべてのファイルを検索するわけではありません。これは whereis の制限ですが、だからこそ whereis の検索速度は非常に速いのです。 whereis はシェルに組み込まれたコマンドを検索しないことにも注意してください。
たとえば、ls コマンドを検索したいとします:
whereis ls
結果は次のようになります。/bin/ls は ls のパス、他の 2 つはヘルプマニュアル。
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
ls をホーム ディレクトリと /usr/bin/ls ディレクトリにコピーすると、もう一度 whereis コマンドを実行します:
cp /bin/ls ~ cp /bin/ls /usr/bin/ls whereis ls
結果は次のようになります。ホーム ディレクトリは一般的に使用されるインストール ディレクトリの 1 つではないため、ホーム ディレクトリは検索しません。
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
whereis を使用して cd シェルの組み込みコマンドを検索します。
whereis cd
結果は次のようになります。ヘルプ マニュアルへのパスのみが表示されます。
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
locate コマンドは、ファイル データベース (/var/lib/mlocate/mlocate.db) に基づく検索ツールです。ファイル データベースは、ファイル システム全体のミラーです。 。 locate コマンドの検索モードのデフォルトはあいまい一致です。これは、ファイル名を含むすべてのファイルが検索されることを意味するため、通常はさらに多くの結果が返されます。ファイル データベースは通常、1 日に 1 回更新されるため、作成または削除されたばかりのファイルは見つからない可能性があることに注意してください。 updatedb コマンドを実行して、このデータベースを手動で更新できます。検索はファイル システムではなくファイル データベースに基づいているため、locate の実行速度も非常に高速です。
引き続き ls を検索の例として使用します:
locate ls
ls を含む多数の結果が得られます。出力結果をより正確にするために、完全一致モードを使用して検索する -b コマンドを使用できます。
locate -b "\ls"
出力には、ls コマンドが配置されているパスのみが含まれます。
/bin/ls
どのコマンドの検索範囲は環境変数 PATH で、デフォルトでは最初の結果のみが返され、実行速度は非常に高速です。エイリアスを探している場合、this コマンドは検索前にエイリアスに対応する実際のパスにもマップします。
たとえば、ll という名前のエイリアスを定義し、検索コマンドは次のとおりです:
which ll
結果は次のとおりです:
alias ll='ls -l --color=auto' /bin/ls
すべての結果に -a コマンドを追加します。
which -a your_command
type コマンドは、エイリアス、キーワード、関数、組み込みコマンド、ファイルなど、特定のコマンドのタイプを表示するために使用されます。 whereis コマンドと同様に、type コマンドは、一般的に使用されるいくつかのインストール ディレクトリの範囲内のみを検索します。
cd コマンドの種類を表示します:
type cd cd is a shell builtin
特定のバイナリ ファイルの種類を表示します:
type sudo sudo is /usr/bin/sudo
エイリアスを表示します:
type ls ls is aliased to `ls --color=auto'
5 つの検索コマンドの中で、find コマンドは最も強力なコマンドですが、実行速度は最も遅くなります。他の 4 つのコマンドとは異なり、find コマンドはファイル システム検索、1 つのファイル ノードと 1 つのファイル ノードに基づいています。 find コマンドは、検索結果に対して後続の操作を実行することもできます。
find コマンドの基本的な使用法:
find [path] [option] [action]
ホーム ディレクトリとそのサブディレクトリで、aaa という名前のファイルを見つけます:
find ~ -name 'aaa'
ファイル システム全体で、ファイルを検索します。変更時刻が 24 時間以内:
find / -mtime 0
nginx Web ディレクトリとそのサブディレクトリで、ユーザーが nginx であるファイルを検索します:
find /usr/share/nginx/html/ -user nginx
現在のディレクトリでは、検索権限は 744 ファイルです:
find -perm -0744
現在のディレクトリで aaa という名前のファイルを見つけ、その詳細を表示します:
find -name 'aaa' -exec ls -l {} \;
以上がLinux クラウド サーバーの検索コマンドとその使用方法についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。