Linux でファイルを見つける方法 |検索コマンド

Linux でファイルを見つける方法 |検索コマンド

Linux は堅牢なコマンドライン インターフェイスで知られており、ファイルとディレクトリを効率的に管理するための強力なツール スイートを提供します。その中でも、find コマンドは不可欠な資産として際立っており、さまざまな基準に基づいてファイルを検索する際に比類のない多用途性を提供します。この記事では、find コマンドの優れた機能を探り、その機能と、迅速かつ効果的にファイルを見つけたい Linux ユーザーにとって頼りになるツールとしてこのコマンドがどのように機能するかを明らかにします。

目次

Linux の Find コマンドとは何ですか?

の検索コマンド Linux は、階層構造内での包括的なファイルおよびディレクトリの検索のために設計された動的ユーティリティです。その適応性により、ユーザーは名前、サイズ、変更時刻、またはコンテンツで検索できるため、柔軟で強力なソリューションが提供されます。の極めて重要なコンポーネントとして、 Linux コマンドライン ツールキットの find コマンドはユーザーの微妙なニーズに応え、ファイルの探索と取得の精度を保証します。 find コマンドのさまざまな機能を発見し、 ファイル管理 Linux プラットフォームでの効率性を向上させます。

Linux の Find コマンドの構文 :

の構文は次のとおりです。 find> Linux のコマンド:

find [path] [options] [expression] 

ここ、

  • パス: 検索の開始ディレクトリ。
    • : find /path/to/search>
  • オプション: 検索の追加の設定または条件。
    • : find /path/to/search -type f -name '*.txt'>
  • 表現: ファイルのフィルタリングと検索の基準。
    • : find /path/to/search -type d -name 'docs'>

この構文を使用すると、パスの指定、オプションの追加、式を使用した検索条件の定義によってファイル検索をカスタマイズできます。

Linux の Find コマンドで使用できるオプション

ここに「」があります find`> コマンド オプションとその目的の簡単な説明。

指示

説明

-名前パターン

特定の名前またはパターンを持つファイルを検索します。

-type タイプ

検索するファイルのタイプを指定します (例: 通常のファイルの場合は f、ディレクトリの場合は d)。

-サイズ [+/-]n

サイズに基づいてファイルを検索します。 ` +n> `> より大きなファイルを検索します。 ` -n> `> 小さいファイルを見つけます。 「 n ' は文字単位でサイズを測定します。

-mtime n

変更時刻に基づいてファイルを検索します。 ` n> `> は前の日数を表します。

-exec コマンド {} ;

見つかった各ファイルに対してコマンドを実行します。

-印刷

指定した条件に一致するファイルのパス名を表示します。

-max Depth レベル

検索を指定されたディレクトリの深さに制限します。

-min Depth レベル

検索の最小ディレクトリ深さを指定します。

-空の

空のファイルとディレクトリを検索します。

-消去

指定された条件に一致するファイルを削除します。

-execdir コマンド {} ;

一致したファイルを含むディレクトリから、見つかった各ファイルに対してコマンドを実行します。

-inameパターン

大文字と小文字を区別しない ` のバージョン -name`> 。大文字と小文字に関係なく、特定の名前またはパターンを持つファイルを検索します。

Linux でコマンドラインからファイルを検索する方法

の使用 find> コマンドは簡単です。 Linux でファイルを見つけるには、ターミナルを開いて次のコマンドを使用します。 基本的な構文:

find /path/to/search -options criteria 

交換する /path/to/search> '> 検索を開始するディレクトリを選択し、要件に基づいてオプションと条件をカスタマイズします。

例えば ​​:

ホーム ディレクトリで example.txt という名前のファイルを見つけるには、次のコマンドを使用します。

find ~ -name 'example.txt' 

このコマンドは、指定されたディレクトリまたはそのサブディレクトリにファイルが存在する場合、そのファイルへのパスを見つけて表示します。

Linux の Find コマンドの例

1. Linux で「find」コマンドを使用して特定のファイルを検索する方法

このクエリは、指定されたディレクトリ内のファイルを特定するように設計されています。提供された例では、GFG ディレクトリ内でsample.txt という名前のファイルを検索します。

find ./GFG -name sample.txt 

find> コマンドは指定されたディレクトリを走査します ( ./GFG> ) そして、sample.txt という名前のファイルを探します。見つかった場合は、ファイルへのパスが表示されます。

出力:

特定の名前のファイルを検索する

特定の名前のファイルを検索する

2. Linux で「find」コマンドを使用してパターンでファイルを検索する方法

このコマンドは、特定の命名パターンに準拠するディレクトリ内のファイルを検出するように調整されています。この場合、GFG ディレクトリ内で「.txt」で終わるファイルが識別されます。

find ./GFG -name *.txt 

このコマンドは、GFG ディレクトリ内で名前が「.txt」で終わるファイルを検索し、一致するファイルのリストを表示します。

出力:

パターンを含むファイルを検索する

パターンでファイルを検索する

3. Linux で「find」コマンドを使用してファイルの削除を検索して確認する方法

このコマンドは、指定されたファイルを見つけるだけでなく、削除を開始する前にユーザーに確認を求めます。この例では、GFG ディレクトリ内のsample.txtという名前のファイルを削除しようとしています。

find ./GFG -name sample.txt -exec rm -i {} ; 

-exec> オプションは、 rm> 見つかったファイルに対してコマンドを実行し、 -i> flag は、削除する前にユーザーに確認を求めます。このコマンドを入力すると、sample.txt を削除するかどうかを確認するプロンプトが表示されます。 「Y/y」を入力するとファイルが削除されます。

出力:

ファイルを検索して削除し、確認を行います

ファイルを検索して削除し、確認を行います

4. Linux で「find」コマンドを使用して空のファイルとディレクトリを検索する

このクエリは、指定されたディレクトリ内の空のファイルとディレクトリを検出して一覧表示するように調整されています。

find ./GFG -empty 

` find`> このコマンドは、GFG ディレクトリまたはそのサブディレクトリ内のすべての空のフォルダーとファイルを識別して一覧表示します。

出力:

空のファイルとディレクトリを検索する

空のファイルとディレクトリを検索する

5. Linux で「find」コマンドを使用して特定の権限を持つファイルを検索する

このコマンドは、特定のファイルを持つディレクトリ内のファイルを見つけるために使用されます。 権限 。提供された例では、GFG ディレクトリ内でアクセス許可が 664 に設定されているファイルを識別します。

find ./GFG -perm 664 

このコマンドは、指定されたアクセス許可 (664) を持つ GFG ディレクトリ内のファイルを検索し、結果を表示します。

出力:

入力された権限を持つファイルを検索する

入力された権限を持つファイルを検索する

6. Linux で「find」コマンドを使用してリポジトリ階層を表示する

このコマンドは、指定されたディレクトリ内のリポジトリおよびサブリポジトリの階層構造を表示するために使用されます。

find . -type d 

このコマンドは、現在のリポジトリに存在するすべてのリポジトリとサブリポジトリを表示します。以下の例では、現在、リポジトリ Linux を含む techcodeview.com という名前のリポジトリにいます。このリポジトリには、リポジトリ FindCmd をさらに含むサブリポジトリ LinuxCmds が含まれています。以下の cmd の出力は、この情報を単に表示しているだけです。この場合、ls cmd を使用すると、/Linux のみが表示されることに注意してください。

出力:

スクリーンショット-(548)

7. Linux で「find」コマンドを使用して複数のファイル内のテキストを検索する

このコマンドは、複数のファイル内で特定のテキストを含む行を検索するように調整されています。この例では、現在のすべての「.txt」ファイル内で「Geek」という単語を含む行を検索します。 ディレクトリ およびそのサブディレクトリ。

find ./ -type f -name '*.txt' -exec grep 'Geek' {} ; 

このコマンドは「.txt」ファイルを検索します ( -type f> そして -name '*.txt'> ) と用途 grep> 指定したテキスト (「Geek」) を含む行を印刷します。

出力:

複数のファイル内のテキストを検索する

複数のファイル内のテキストを検索する

8. ファイルが変更された時期でファイルを検索する Linux での「find」コマンドの使用

-mtime> このオプションは、変更時刻に基づいてファイルを検索するのに便利です。過去 7 日以内に変更されたファイルを検索するには、次のコマンドを使用できます。

find /path/to/search -mtime -7 

このコマンドは、先週に変更されたファイルを一覧表示します。

最終変更の検索

最終変更の検索

この例では、ディレクトリ /home/administrator/Downloads 内で、過去 7 日間に行われた変更を検索しています。

9. Grep を使用してコンテンツに基づいてファイルを検索する Linux での「find」コマンドの使用

を組み合わせると、 find> とのコマンド grep> 内容に基づいてファイルを検索できます。たとえば、現在のディレクトリとそのサブディレクトリで単語パターンを含むファイルを検索するには、次のコマンドを使用できます。

find . -type f -exec grep -l 'pattern' {} ; 

このコマンドは、指定されたコンテンツを含むファイルの名前を表示します。

コマンドの内訳:

  • find .> : 現在のディレクトリから検索を開始します ( .> )。
  • -type f> : ディレクトリを除外し、ファイルのみを検索することを指定します。
  • -exec grep -l 'pattern' {} ;> : を実行します。 grep> 見つかった各ファイルに対するコマンド ( {}> ) 指定した内容(パターン)を検索します。の -l> のオプション grep> パターンを含むファイル名のみが表示されるようにします。

コマンドの実行:

  1. find> このコマンドは、現在のディレクトリ (そのすべてのサブディレクトリを含む) から検索を開始します。
  2. ファイルごとに ( -type f> ) 検索で見つかった、 -exec> オプションは、 grep> 指示。
  3. grep> コマンドは、各ファイル内の指定されたコンテンツ (パターン) を検索します。
  4. ファイルに指定した内容が含まれている場合、そのファイル名が表示されます。 -l> のオプション grep>

Linux の Find コマンドに関するよくある質問

Linux で find コマンドを使用して、ファイルの内容に基づいてファイルを検索できますか?

はい、find コマンドを grep と組み合わせて、内容に基づいてファイルを検索できます。この記事では、この組み合わせを使用して特定のテキストを含むファイルを検索する例を示します。

Linux で find コマンドを使用してすべてのディレクトリを検索するにはどうすればよいですか?

使用 -type d> ディレクトリを検索することを指定するオプション。例えば:

find /path/to/search -type d 

-type d> flag は、find コマンドにディレクトリを検索するように指示します。このコマンドは、指定されたパス内のすべてのディレクトリのリストを表示します。

Linux で find コマンドを使用して特定の名前のファイルを検索するにはどうすればよいですか?

特定の名前のファイルを検索するには、 -name> find コマンドのオプション。この記事には、ホーム ディレクトリで example.txt という名前のファイルを検索するための構文例が含まれています。

find コマンドを使用して、コンテンツ内に特定のテキスト文字列を含むファイルを検索できますか?

はい、find コマンドと grep を組み合わせて、内容に基づいてファイルを検索できます。例えば:

find /path/to/search -type f -exec grep -l 'specific_text' {} ; 

このコマンドは、見つかった各ファイルに対して grep を実行します ( {}> ) 検索で、指定されたテキスト (specific_text) を検索します。の -l> grep のオプションを使用すると、指定されたテキストを含むファイル名のみが表示されます。

Linux でファイルを検索する場合、find コマンドでは大文字と小文字が区別されますか?

デフォルトでは、find コマンドは大文字と小文字を区別します。しかし、記事で紹介されているのは、 -iname> 大文字と小文字を区別しないバージョンとしてのオプション -name> を使用すると、ユーザーは大文字と小文字に関係なく、特定の名前またはパターンを持つファイルを検索できます。

結論

この記事では、ファイルの検索と管理のための信頼できるガイドのような find コマンドについて説明しました。この記事では、find コマンドが名前から内容までさまざまな基準に基づいてファイルを見つける方法について説明しました。これは、ファイルを迅速かつ柔軟な方法で整理および検索できるスーパーパワーを持っているようなものです。熟練した Linux ユーザーであっても、初心者であっても、find コマンドをマスターすることは、コマンド ラインでファイルを効率的に処理するための大きな変革となります。これは、コンピュータのファイルを簡単にナビゲートできるようにする必須のツールです。