Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxがファイルを検索する方法

Linuxがファイルを検索する方法

  

#whereisインストールされているソフトウェアの検索

Linuxでファイルを検索するのは面倒な作業です。結局のところ、Linuxではハードディスク上のファイルを見つけるために専用の "find"コマンドを使う必要があります。 Linuxでのファイル表現形式は非常に複雑で、WINDOWSとは異なり、DOSは統一されたAAAAAAA.BBB形式であるため、検索するのに便利です。 Linuxでファイルを見つけるためのコマンドは通常 "find"コマンドです、そして "find"コマンドはLinuxの使用と管理の日常業務で必要なファイルを見つけるのを助けてくれます。 Linux初心者にとって、 "find"コマンドはLinuxファイルの特性を理解し習得するための方法でもあります。 Linuxディストリビューションの数が多いため、バージョンアップは非常に速く、Linuxの本では設定ファイルの場所が書かれていることが多く、Linuxの初心者がマップをたどることは不可能です。例えば、REDHAT Linux 7.OとREDHAT Linux 7.1のいくつかの重要な設定ファイルのハードディスクの場所とファイルディレクトリは大きく変わりましたが、 "find"コマンドの使い方を学ばなければ、何千というLinuxがあります。ファイル内のファイルの1つを見つけるのは非常に難しいので、「検索」命令を習得する前にこのような苦しみがありました。わかりました、これは "find"コマンドの強力な使い方の詳細な紹介です。

ファイル名で検索:

この方法は、WINDOWSの下でファイルを見つけるのと同じくらい簡単に理解できます。このファイルを1つのフォルダに保存した場合は、一般的な' ls"コマンドを使用すると簡単に見つけることができます。 ' find'コマンドの力はこれ以上です。あなたがファイルのファイル名を知っているならば、あなたはそのファイルがどのフォルダに置かれるか、あるいは階層化されたフォルダさえも知らない。たとえば、システムのどのディレクトリhttpd.confがシステム内にあるのか、あるいはシステム内のどこかにあるのかを忘れたとします。次のコマンドを使用できます。

#find /-name httpd .conf

このコマンドの構文は理解しやすいようです。検索の直後に-nameを書くだけで、システムがファイル名を見つける必要があることを示し、最後にターゲットファイル名httpd.confを書く必要があります。しばらく待つと、システムはコンピュータ画面に検索結果のリストを表示します。

etc /httpd /conf /httpd.conf

これはLinuxシステムの完全なhttpd.confファイルです。パス検索は成功しました。

上記のsearchコマンドを入力してもシステムが結果を表示しない場合は、システムがfind /-name httpd.confコマンドを実行しないと思わないでください。ただし、Apacheサーバーがシステムにインストールされていない可能性があります。 Apache Webサーバーをインストールしてから、find /-name httpd.confを使用してこの構成ファイルを見つけます。

エラーを見つけるためのヒント:

Linuxシステムでは、 "find"コマンドはほとんどのシステムユーザが使用できるコマンドであり、ROOTシステム管理者のための特許ではありません。しかし、一般ユーザーは "find"コマンドを使用するときにこのような問題に遭遇するかもしれません。すなわち、Linuxシステムのシステム管理者ROOTは特定のファイルディレクトリをアクセスフリーモードに設定することができます。このように、一般ユーザーは' find'コマンドを使用してこれらのディレクトリまたはファイルをクエリする権限を持っていません。通常のユーザーが' find'コマンドを使用してこれらのファイルディレクトリを検索すると、多くの場合「Permissiondenied」という単語が表示されます。システムは必要なファイルを見つけることができません。このようなエラーを回避するために、エラープロンプトを転送する方法を使用してファイルを検索しますfind /-name access_log 2> /dev /null

この方法では、検索エラープロンプトを特定のディレクトリに転送します。行きます。システムがこのコマンドを実行した後、エラーメッセージはstderrstream 2に直接送信されます。Access_log2は、システムがstderrstream 2にエラーメッセージを送信することを示します。/dev /nullは、空または間違っていることを示す特殊ファイルです。情報、クエリされたエラーメッセージは転送され、再び表示されることはありません。

Linuxシステムでファイルを見つけると、このような実用的な問題も発生します。ハードドライブ全体のファイルを見ると、ファイルを見つけるのに長い時間がかかります。特に、ファイルが深くネストされたディレクトリに配置されている大規模なLinuxシステムとより大きなハードドライブでは。このファイルが大きなディレクトリに格納されていることがわかっている場合は、このディレクトリを見下ろすことで時間を大幅に節約できます。これはfind /etc -name httpd.confを使用して解決できます。上記のコマンドは、etcディレクトリにあるhttpd.confファイルを照会することを意味します。ここでも、この関数記号の意味は、 "find /&'"と入力すると、LinuxシステムがROOTディレクトリ全体からファイルを見つけること、つまりハードディスク全体からファイルを見つけることを要求されることを意味します。その他は、etcディレクトリにあるファイルのみを検索することです。 ' find /etc'は、ファイルがetcディレクトリにしか存在しないことを意味しているため、検索速度ははるかに速くなります。

部分的なファイル名に基づいた検索方法:

この方法は、Windowsで既知のファイル名の検索方法と同じです。ただし、Linuxで部分ファイル名に基づいてファイルを検索する方法は、WINDOWSの同様の検索方法よりもはるかに強力です。たとえば、ファイルに3文字のsrmが含まれていることがわかっている場合は、システム内の3文字を含むすべてのファイルを検索することができます。

find /etc -name '* srm * '

このコマンドは、Linuxシステムがabsrmyz、tibc.srmなど、/etcディレクトリ全体からsrmを含む3文字のファイルをすべて検索することを示します。このファイルの前に3文字のsrmが付いていることがわかっている場合は、最初のアスタリスクも省略できます。コマンドは次のとおりです。

Copyright © Windowsの知識 All Rights Reserved