コマンドラインを使用してLinuxでファイルとフォルダを検索する方法
ほとんどの人は、GnomeのNautilus、KDEのDolphin、XfceのThunarなど、Linuxでファイルを検索するためにグラフィカルファイルマネージャを使用します。ただし、Linuxでファイルを見つけるためにコマンドラインを使用する方法はいくつかあります。どのデスクトップマネージャを使用しても関係ありません。.
検索コマンドの使用
「find」コマンドを使用すると、おおよそのファイル名がわかっているファイルを検索できます。このコマンドの最も簡単な形式は、現在のディレクトリ内のファイルを検索し、指定された検索条件に一致するサブディレクトリを介して再帰的に検索します。ファイルは、名前、所有者、グループ、種類、権限、日付などの条件で検索できます。.
プロンプトで次のコマンドを入力すると、現在のディレクトリにあるすべてのファイルが一覧表示されます。.
見つける .
「find」の後のドットは現在のディレクトリを示します.
特定のパターンに一致するファイルを見つけるには、 -名
引数。ファイル名のメタ文字を使用できます(例: *
ただし、エスケープ文字を入れる必要があります( \
)それぞれの前に、または引用符で囲む.
たとえば、Documentsディレクトリで「pro」で始まるすべてのファイルを見つけたい場合は、次のようにします。 cdドキュメント/
Documentsディレクトリに移動し、次のコマンドを入力します。
見つけます。 -name pro \ *
現在のディレクトリ内の「pro」で始まるすべてのファイルが一覧表示されます。.
メモ:findコマンドはデフォルトで大文字と小文字が区別されます。単語や句の検索で大文字と小文字を区別しない場合は、 -いなか
findコマンドのオプション大文字と小文字を区別しないバージョンです。 -名
コマンド.
もし 見つける
あなたの基準に一致するファイルを見つけません、それは何の出力も生成しません.
findコマンドには、検索を絞り込むための多数のオプションがあります。 findコマンドの詳細については、次のコマンドを実行してください。 男を見つける
ターミナルウィンドウでEnterキーを押します.
Locateコマンドの使用
locateコマンドは、以前に構築されたデータベースを使用するのでfindコマンドよりも高速です。一方、findコマンドは、実際のシステム内で、すべての実際のディレクトリとファイルを検索します。 locateコマンドは、指定された文字グループを含むすべてのパス名のリストを返します.
データベースはcronから定期的に更新されますが、いつでも自分で更新することができるので、最新の結果を得ることができます。これを行うには、プロンプトで次のコマンドを入力します。
sudo updatedb
要求されたらパスワードを入力してください.
locateコマンドの基本形式は、検索基準の全部または一部を含む、ファイルシステム上のすべてのファイルのうち、ルートから始めてすべてのファイルを検索します。.
mydataを探す
たとえば、上記のコマンドでは、「mydata」を含む2つのファイルと「data」を含む1つのファイルが見つかりました。
正確に検索条件のみを含むすべてのファイルまたはディレクトリを検索したい場合は、 -b
次のようにlocateコマンドのオプション.
-b '\ mydata'を見つけます。
上記のコマンドのバックスラッシュはグロブ文字です。これは、非特定ファイル名のワイルドカード文字を特定のファイル名のセットに拡張する方法を提供します。ワイルドカードは、式の評価時に1つ以上の文字に置き換えることができる記号です。最も一般的なワイルドカード記号は疑問符です( ?
)は、1文字とアスタリスクを表します( *
)は、連続した文字列を表します。上記の例では、バックスラッシュは「* mydata *」による「mydata」の暗黙の置き換えを無効にしているので、「mydata」を含む結果のみになります。
mlocateコマンドはlocateの新しい実装です。ファイルシステム全体にインデックスを付けますが、検索結果には現在のユーザーがアクセスできるファイルのみが含まれます。 mlocateデータベースを更新すると、データベース内のタイムスタンプ情報が保持されます。これにより、mlocateはディレクトリの内容が内容を再度読み込まずに変更されたかどうかを知ることができ、ハードドライブ上でデータベースへの更新をより迅速かつ簡単に行えます。.
mlocateをインストールすると、/ usr / bin / locateバイナリファイルがmlocateを指すように変更されます。 mlocateをインストールするには、それがLinuxディストリビューションにまだ含まれていない場合は、プロンプトで次のコマンドを入力します。.
sudo apt-get install mlocate
注:コマンドの実行可能ファイルが存在する場合は、その実行可能ファイルがどこにあるのかを特定できるように、この記事の後半でコマンドを紹介します。.
mlocateコマンドは、標準のlocateコマンドと同じデータベースファイルを使用しません。そのため、プロンプトで次のコマンドを入力して、データベースを手動で作成します。
sudo /etc/cron.daily/mlocate
データベースが手動で作成されるか、またはスクリプトがcronから実行されるまで、mlocateコマンドは機能しません。.
locateコマンドまたはmlocateコマンドの詳細については、次のように入力してください。 男は見つける
または 男は配置する
ターミナルウィンドウで[Enter]を押します。両方のコマンドに対して同じヘルプ画面が表示されます。.
whichコマンドの使用
whichコマンドは、コマンドが発行されたときに呼び出される実行可能ファイルの絶対パスを返します。これは、デスクトップ上、パネル上、またはデスクトップマネージャの他の場所に、プログラムへのショートカットを作成するための実行可能ファイルの場所を見つけるのに役立ちます。たとえば、次のように入力します。 どのFirefox
下の図に示す結果を表示します.
デフォルトでは、whichコマンドは最初に一致した実行可能ファイルだけを表示します。一致するすべての実行可能ファイルを表示するには、 -ある
次のコマンドでオプションを指定します。
どのFirefox
次の図に示すように、一度に複数の実行可能ファイルを検索できます。見つかった実行ファイルへのパスのみが表示されます。以下の例では、 "ps"実行ファイルのみが見つかりました。.
注:whichコマンドは、現在のユーザーのPATH変数のみを検索します。一般ユーザーとしてrootユーザーのみが使用可能な実行可能ファイルを検索した場合、結果は表示されません。.
whichコマンドの詳細については、ターミナルウィンドウのコマンドプロンプトで「man which」と入力し(Enterキーを押して)、Enterキーを押してください。.
Whereisコマンドを使用する
whereisコマンドは、コマンドのバイナリファイル、ソースファイル、およびマニュアルページファイルの場所を調べるために使用されます。たとえば、 どこFirefox
次の図に示すように、プロンプトに結果が表示されます。.
実行可能ファイルへのパスだけを表示し、ソースページとman(ual)ページへのパスを表示したくない場合は、 -b
オプション。例えば、 whereis -b Firefox
表示のみ / usr / bin / firefox
結果として。プログラムの実行可能ファイルを検索する頻度は、そのプログラムのソースページとマニュアルページを検索するよりも頻繁にあるので、これは便利です。ソースファイルだけを検索することもできます( -の
またはmanページのみ( -メートル
).
whereisコマンドの詳細については、次のように入力してください。 男の人
ターミナルウィンドウでEnterキーを押します.
Whereisコマンドとwhichコマンドの違いを理解する
whereisコマンドは、コマンドのバイナリ、ソース、およびマニュアルページの場所を表示しますが、whichコマンドは、コマンドのバイナリの場所のみを表示します。.
whereisコマンドはバイナリー、ソース、およびmanファイルの特定のディレクトリーのリストを検索しますが、whichコマンドは現在のユーザーのPATH環境変数にリストされているディレクトリーを検索します。 whereisコマンドの場合、特定のディレクトリのリストは、コマンドのマニュアルページのFILESセクションにあります。.
デフォルトで表示される結果になると、whereisコマンドは見つかったものすべてを表示しますが、whichコマンドは最初に見つかった実行可能ファイルのみを表示します。あなたはそれを変更することができます -ある
whichコマンドのオプション.
whereisコマンドは、コマンドにハードコーディングされたパスのみを使用するため、探しているものが常に見つかるとは限りません。 whereisコマンドのmanページに記載されていないディレクトリにインストールされていると思われるプログラムを検索している場合は、whichコマンドを使用してください。 -ある
システム全体でコマンドのすべての出現箇所を検索するオプション.