Linux Find コマンドは、Linux システム管理者ツール ライブラリの中で最も強力なツールの 1 つです。これを使用すると、ユーザーが指定した式に基づいてディレクトリ階層内のファイルとディレクトリを検索し、一致する各ファイルにユーザーを適用できます。 . 指定された操作。検索コマンドの使い方については以下の記事で紹介していますので、ご参考になれば幸いです。
Linux Find コマンド
find コマンドを使用して、ファイルのアクセス許可、タイプ、日付、所有権、サイズ ファイルの検索を待ちます。 grep や sed などの他のツールと組み合わせて使用して、これらのファイルに対する操作を実行することもできます。
find コマンドの使用方法について説明する前に、まず基本的な構文を理解しましょう。
find [options] [path...] [expression]
説明:
● Options 属性: シンボリック リンクの処理、デバッグ オプション、および最適化方法を制御します。 ● Path... 属性: find がファイルを検索する開始ディレクトリを定義します。 ● 式属性: 「オプション」、「検索モード」、「演算子で区切られた操作」で構成されます。 次の例を見てみましょう:find -L /home/projects/ -name "*.js" -exec chmod 644 {} \;
ファイルを種類別に見つけるにはどうすればよいですか?
検索するファイルの種類を指定するには、-type パラメーターを使用する必要があります。 次の記述子を使用してファイル タイプを指定できます。 ● f: 通常のファイル ● d: ディレクトリ ● l: シンボリック リンク#●●c: ロールデバイス#b: ブロックデバイス
##●p: 名前付きパイプ (FIFO)
##● s: ソケット例:
現在の作業ディレクトリ内のすべてのディレクトリを検索したい場合は、次のように使用できます。
find . -type d
find / -type c
#ファイルを名前で検索するにはどうすればよいですか?
名前によるファイルの検索は、おそらく find コマンドの最も一般的な使用方法です。ファイルを名前で検索するには、検索するファイルの名前とともに -name オプションを渡します。
例:/home/linuxize ディレクトリで document.pdf という名前のファイルを検索するには、次のコマンドを使用できます: sudo find /home/linuxize -type f -name document.pdf
sudo find /home/linuxize -type f -iname document.pdf
説明: 上記のコマンドは、Document.pdf、DOCUMENT.pdf などに一致します。
拡張子でファイルを見つけるにはどうすればよいですか?
拡張子によるファイルの検索は、名前によるファイルの検索と同じです。
例: /var/log/nginx ディレクトリ内で .log.gz で終わるすべてのファイルを検索する場合は、次のように使用できます: find /var/log/nginx -type f -name '*.log.gz'
find /var/log/nginx -type f -not -name '*.log.gz'
サイズでファイルを検索する方法?
#サイズに基づいてファイルを検索するには、サイズ条件とともに -size パラメーターを渡す必要があります。ファイル サイズは、次の接尾辞を使用して指定できます。 ● b: 512 バイトのブロック (デフォルト)
● c: バイト ● w: 2 バイトのワード ● k:キロバイト ● M:メガバイト ● G:ギガバイト 例: いる/見つけるtmp ディレクトリ内のすべてのファイルのうち、正確に 1024 バイトである場合は、次のコマンドを実行できます。find /tmp -type f -size 1024c
find . -type f -size -1M
find . -type f -size +1M
find . -type f -size +1M -size 21M
find コマンドは、ファイルが最後に変更、アクセス、または変更された時期に基づいてファイルを検索することもできます。 サイズで検索する場合と同様に、プラス記号とマイナス記号を使用して、より大きいか小さいかを指定できます。
例:
数日前に dovecot 構成ファイルを変更しましたが、ファイル名を忘れてしまいました。過去 5 日間に変更された、/etc/dovecot/conf.d/ ディレクトリ内の .conf で終わるすべてのファイルを簡単にフィルタリングできます。find /etc/dovecot/conf.d -name "*.conf" -mtime 5
find /home -mtime +30 -daystart
ファイルのアクセス許可に基づいてファイルをフィルターするには、-perm オプションを使用する必要があります。 #########例えば:###### 要在/var/www/html目录中查找权限为775的所有文件: 还可以使用减号-或斜杠/为数字模式添加前缀。 当斜杠/用作前缀时,至少一个类别(用户,组或其他类别)必须至少为文件匹配设置相应的位。 说明:搜索对用户,组或其他人设置了读权限的所有文件。 如果使用减号-作为前缀,则必须至少设置要匹配的文件。 说明:搜索对所有者和组具有读写权限的文件,并且其他用户可以读取。 如何按所有者查找文件? 要查找特定用户或组拥有的文件,可以使用-user和-group选项。 例如,要搜索用户拥有的所有文件和目录linuxize,可以运行: 这是更高级的示例,假设是希望查找用户www-data拥有的所有文件,并将匹配文件的所有权从www-data更改为nginx:find /var/www/html -perm 644
find . -perm /444
find . -perm -664
find / -user linuxize
find / -user www-data -type f -exec chown nginx {} \;
相关视频教程推荐:《linux教程》
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
以上がLinux で Find コマンドを使用してファイルを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。