はじめに
Linuxシステムではすべてがファイルと見なされます。これらのファイルの検索は、すべてのユーザーが実行する必要のある単純なタスクです。このタスクを実行する方法は複数ありますが、検索コマンドを使用した検索は、ターゲットファイル/ディレクトリを検索するための最も効率的で便利な方法です。
このチュートリアルでは、Findコマンド、そのオプション、および基本的な構文を超える使用法について学習します。
find [file/directory path] [options] [expression]
前提条件
ターミナルアクセス。
注: このチュートリアルのコマンドは、LinuxMintシステムで実行されます。これらの手順は、すべてのLinuxベースのシステムに有効です。
名前でファイル/ディレクトリを参照
「-name」オプションを使用して名前で特定のファイルを検索するには、次のコマンドを実行します。
find /home -type f -name <filename>.txt
同様に、次のコマンドを使用して、名前でディレクトリを見つけることができます。
find /home -type d -name <directory name>
注: 上記のコマンドの「-type」オプションは、ファイルとディレクトリのどちらを検索するかを指定します。
検索コマンドの検索では、デフォルトで大文字と小文字が区別されます。大文字と小文字を区別せずに検索するには、「-iname」オプションを使用します。
find /home -type d -iname pictures
拡張子によるファイル/ディレクトリの参照
次のコマンドで拡張子パターンを使用してファイルを絞り込むことができます。
find /home -type f -name "*.txt"
ファイルの種類とサイズでファイル/ディレクトリを参照
特定の種類のファイルを検索するには、[検索]コマンドの[-type]オプションを使用します。
find /home -type d
「-size」オプションでサイズ制限を提供することにより、ファイルの検索を制限できます。 「+」および「-」記号は、「より大きい」および「より小さい」演算子に使用される形式です。
find /home -type f -size +5M
タイムスタンプを使用してファイル/ディレクトリを参照する
「-mtime」、「-atime」、および「-ctime」オプションを使用して、ファイルの変更、アクセス、および作成時間を指定することにより、ファイルを検索できます。次のコマンドは、過去2日間のタイムスタンプが変更されたファイルを検索します。
find /home -type f -name "*.txt" -mtime -2
find /home -type f -name "*.txt" -atime +4
find /home -type f -name "*.txt" -ctime -2
特定の権限を持つファイル/ディレクトリを参照する
特定の権限を持つファイルを検索するには、「-perm」オプションを使用します。次のコマンドは、読み取り専用の制限があるファイルを検索します。
find /home -type f -perm /u=r
同様に、次のコマンドは-permオプションを使用して実行可能ファイルを検索します。
find /home -type f -perm /a==x
ユーザーおよびグループごとにファイル/ディレクトリを参照
ユーザーおよびユーザーグループでファイル/ディレクトリを検索するには、「-user」および「-group」オプションを指定してfindコマンドを実行します。
find /home -type f -user mintlinuxways
find /home -type f -group mintlinuxways
空または隠しファイル/ディレクトリを参照
次のコマンドを使用して、システム内のすべての空のファイル/ディレクトリを見つけることができます。
find /home -type f -empty
find /home -type d -empty
ファイル/ディレクトリの検索と削除
検索コマンドの「-delete」または「-execrm」オプションを使用して、ファイルの検索と削除を同時に行うことができます。
find /home -type f -name "*.pdf" -delete
find /home -type f -name "*.pdf" -exec rm -f {} \;
複雑なコマンド
さらに、上記のコマンドを「-and」、「-or」、および「-not」オプションと組み合わせて、より多くの機能を取得できます。たとえば、次のコマンドは2つの条件を持つファイルを検索します。
find /home -user mintlinuxways -and -size +5M
結論
このチュートリアルでは、Findコマンドについて詳しく説明しました。 [検索]コマンドを使用して、さまざまな操作を効率的に検索および実行する方法を学習しました。