検索コマンドは、Linuxで使用される最も便利で重要なコマンドの1つです。 Linuxのほぼすべてのバージョンで、デフォルトで使用可能でインストールされています。 Linux上のすべてはファイルの形式であり、必要に応じてファイルを見つけることができるはずです。
findコマンドを使用すると、いくつかの検索基準に基づいて必要なファイルを検索できます。単一の基準を使用することも、複数の基準を組み合わせて、取得した結果に対してアクションを実行することもできます。このチュートリアルでは、いくつかの例を使用してfindコマンドについて説明します。
1)現在のディレクトリとそのサブディレクトリ内のすべてのファイルを一覧表示します
現在のディレクトリとサブディレクトリ内のすべてのファイルを一覧表示するには、
を使用できます。$ find
または、「find」を使用することもできます。 ’も上記と同じ結果になります。
2)現在の作業ディレクトリのすべてのファイルまたはディレクトリを検索します
ディレクトリのみを検索するには、
を使用できます。$ find . -type d
ディレクトリではなくすべてのファイルのみを検索するには、
を使用します$ find . -type f
3)特定のディレクトリのすべてのファイルを一覧表示します
特定のディレクトリ内のすべてのファイルを検索するには、
を使用できます。$ find /root
このコマンドは、/rootディレクトリ内のすべてのファイルを検索します。
4)ディレクトリで名前の付いたファイルを検索します
特定のディレクトリでその名前でファイルを検索するには、コマンドは
$ find /root -name "linuxtechi.txt"
これにより、/rootフォルダーでlinuxtechi.txtファイルが検索されます。拡張子が.txtのすべてのファイルを検索することもできます
$ find /root -name "*.txt"
5)複数のディレクトリでファイルを検索する
複数のディレクトリで名前でファイルを検索するには、
を使用できます。$ find /root /etc -name "linuxtechi.txt"
このコマンドを使用すると、/rootおよび/etcディレクトリでlinuxtechi.txtファイルを検索できます。
6)大文字と小文字を区別しない名前のファイルを検索します
大文字と小文字に関係なく、名前が付いたファイルを検索するには、「 -iname」を使用できます。 ‘検索コマンドのオプション
$ find /root -iname "Linuxtechi.txt"
コマンドの結果は、小文字、大文字、混合大文字のいずれであっても、linuxtechi.txtという名前のすべてのファイルを提供します。
7)上記のタイプ以外のすべてのファイルタイプを検索します
上記のタイプではないすべてのファイルを検索して、これを実現するために使用できると仮定します。
$ find /root -not -name "*.txt"
8)複数の条件を持つファイルを検索する
複数の条件を組み合わせてファイルを検索することもできます。「。txt」および「.html」拡張子のファイルを検索するとします
$ find . -regex ".*\.\(txt\|html\)$"
9)OR条件を使用してファイルを検索する
複数の検索条件を組み合わせて、OR演算子を使用して1つの条件のいずれかを満たすことに基づいてファイルを検索することもできます。
$ find -name "*.txt" -o -name "linuxtechi*"
10)権限に基づいてすべてのファイルを検索します
権限に基づいてファイルを探すには、 -permを使用します 検索コマンドのオプション
$ find /root -type f -perm 0777
11)すべての隠しファイルを検索します
ディレクトリ内のすべての隠しファイルを検索するには、コマンドは
$ find ~ -type f name ".*"
12)SGIDを持つすべてのファイルを検索します
SGIDビットを含むすべてのファイルを見つけるには、
を使用できます。$ find . -perm /g=s
13)SUIDを持つすべてのファイルを検索します
SUIDビットを持つすべてのファイルを見つけるために、
を使用します$ find . -perm /u=s
14)すべての実行可能ファイルを検索
実行可能なファイルのみを検索するには、コマンドは
です。$ find . -perm /a=x
15)すべての読み取り専用ファイルを検索します
findコマンドを使用して読み取り専用ファイルのみを検索することもできます
$ find /root -perm /u=r
16)ユーザーが所有するすべてのファイルを検索します
linuxtechiなど、特定のユーザーが所有するすべてのファイルを見つけるには、次のコマンドを使用します
$ find . -user linuxtechi
17)グループが所有するすべてのファイルを検索します
特定のグループが所有するすべてのファイルを見つけるには、
を使用します$ find . -group apache
18)特定のサイズのファイルを検索する
正確なサイズがわかっているファイルを検索する場合は、「 -size」を使用できます。 ‘ファイルを見つけるためのfindコマンドのオプション
$ find / -size -2M
19)サイズ範囲のすべてのファイルを検索します
実際のサイズはわからないがサイズの範囲はわかっているファイルを探している場合、またはサイズ範囲内のすべてのファイルを検索したい場合は、その基準を使用してファイルを検索することもできます
$ find / -size +2M -size -5M
また、findコマンドを使用して、サイズが50MBを超えるすべてのファイルを検索することもできます
$ find / -size +50M
20)N日前に変更されたファイルを検索する
たとえば、8日前に変更されたすべてのファイルを検索します。これは、「 -mtime」を使用して実現できます。 ‘検索コマンドのオプション
$ find / -mtime 8
21)N日前にアクセスされたファイルを検索する
上記の例と同様に、「-atime」を使用して8日前にアクセスされたファイルを見つけることもできます
$ find / -atime 8
22)すべての空のファイルまたはディレクトリを検索します
システム上のすべての空のファイルを見つけるには、コマンドの下で使用します
$ find / -type f -empty
同様に、すべての空のディレクトリを見つけるには
$ find ~/ -type d -empty
23)最大および最小のファイルを検索
最大または最小のファイルを一覧表示するには、「並べ替え」を組み合わせます ‘コマンドと検索コマンド&これらの最大のファイルの上位3つをさらにリストしたい場合は、‘ head を組み合わせます ‘コマンド。
現在のディレクトリの上位3つのファイルを一覧表示するには、コマンドは
です。$ find . -type f -exec ls -s {} \; | sort -n -r | head -3
同様に、現在のディレクトリで最小のファイルを見つけることができます。
$ find . -type f -exec ls -s {} \; | sort -n | head -3
24)特定のアクセス許可を持つすべてのファイルを検索し、それらを644(または他のアクセス許可)に変更します
findコマンドを使用すると、いくつかの高度な機能を実現することもできます。たとえば、権限644を持つすべてのファイルを一覧表示してから、それらの権限を777に変更できます。これを行うには、
を実行します。$ find / -type f -perm 644 -print -exec chmod 777 {} \;
25)条件に一致するすべてのファイルを見つけて削除します
条件に一致するファイルを見つけて削除する必要がある場合があります。 findコマンドでこれを行うには、
を実行します。$ find / -type f -name 'linuxtechi.*' -exec rm -f {} \;
これらは、findコマンドの機能を示すいくつかの簡単な例であり、面倒で反復的な検索/検索タスクをより簡単に実行するために使用できます。
また読む :16Linux初心者向けの便利な「cp」コマンドの例