はじめに: なぜ find コマンドの使い方を学ぶ必要があるのでしょうか?
すべてのオペレーティング システムは何千ものファイルで構成されており、「すべてがファイル」である Linux のようなオペレーティング システムも例外ではありません。ただし、Windows では誰でも簡単にファイル検索機能を使用できるはずです。 Linux のこの機能についてはあまり馴染みがないかもしれませんが、Linux には Windows のようにファイル名に固定の拡張子がないことと、百流派の特性があるため、Linux をプレイしたい場合は、このコマンドをしっかりとマスターする必要があります。 Linux 陣営で争われている意見は同じですが、ディストリビューションによってファイルが異なる可能性があるため、find コマンドの使い方をしっかりマスターできれば、Linux の探索がよりスムーズになります。 Linux でのファイル検索機能は実際には非常にシンプルであり、Windows での検索機能よりもはるかに強力であることがわかります。さて、本題に入りましょう
Linux でファイルを検索するには、locate と find の 2 つのコマンドがあります
まず、locate コマンドについて説明します。データベースを生成する: updatedb) では、この機能は、locate を使用したファイルの検索が非常に高速であると判断しますが、locate コマンドはファイルに対してあいまい一致のみを実行できるため、その 2 つのオプションを簡単に紹介します:
# locate
- I // ファイルを検索するときは、上下を区別しません。例: Locate --i Passwd
-n // Locate -N のように、検索結果の先頭の n 行だけを表示します。 5 PASSWD
検索ディレクトリが指定されていない場合、システム全体を横断して検索します
使用形式: find [検索ディレクトリを指定] [検索ルール] [検索後に実行するアクション]
[検索ディレクトリを指定] 例: # - iname // ファイル名に基づいて検索しますが、大文字と小文字は区別されません
ここで、ファイル名のワイルドカードの知識についてもう 1 つ紹介します
* は任意の文字をワイルドカード化することを意味します
?ワイルドカード内の任意の 1 文字を表します[ ] ワイルドカード括弧内の任意の文字を表します
(2)、ファイルが属するユーザーとグループに基づいてファイルを検索します
主に検索しますファイル
. -uid 500 //#Find/TMP-Gid で uid 500 のファイルを検索します 1000 // 1000 個のファイルを含むファイルを検索します
(4), -AND -O and-NOT use# -a 2 つの異なるファイルを接続します条件(両方の条件を同時に満たす必要があります)#-o 2つの異なる条件(2つの条件の1つを満たすことができる)
(5)、ファイルのタイムスタンプの関連属性に基づいてファイルを検索します
次のように stat コマンドを使用してファイルの時間情報を表示できます:
#-atime
#-ctime
ここでのATIMEのユニットは、「日」を指し、アミンの単位は議事録b // block deviceファイル
p // pipelineファイル
sです。 // ソケット ファイル
7)、ファイルを検索 -size D #Find/TMP -Size 2m ///tmp ディレクトリで 2m に等しいファイルを検索 #Find/TMP -SIZE +2M ///tmp ディレクトリーで 2m より大きいファイルを検索します #find/ tmp -size -2M ///tmp ディレクトリーで 2M より小さいファイルを検索します (8)、以下に基づいてファイルを検索しますファイルPermissions -Perm / /tmpディレクトリで許可755を使用してファイルを見つけます#find / -nogroup –a –nouser //システム全体で所有者もグループも持たないファイルを検索します (このようなファイルは通常非常に危険なので、システム エンジニアとして時間内にファイルを削除する必要があります)
[検索実行されたアクション]
# -Print // デフォルトの状態でのアクション
# -ls // ls を見つけてから検索します
# -OK [Comnd] // コマンドを実行した後、コマンドを見つけたときに尋ねます実行したい場合はユーザー
# -exec [commend] // 実行時にユーザーに質問しないでください。コマンドを直接実行します
ここでの {} の使用に注意してください: 見つかったファイルを置き換えます#find /tmp -atime +30 –exec rm –rf {} ; #30 日以上アクセスされていない見つかったファイルを削除します
xargs を使用して、見つかったファイルをさらに操作することもできます