ホームページ 運用・保守 Linuxの運用と保守 Linux で Find コマンドを使用してファイルを検索する方法

Linux で Find コマンドを使用してファイルを検索する方法

Mar 15, 2019 pm 04:25 PM
find linux ファイルの検索

Linux Find コマンドは、Linux システム管理者ツール ライブラリの中で最も強力なツールの 1 つです。これを使用すると、ユーザーが指定した式に基づいてディレクトリ階層内のファイルとディレクトリを検索し、一致する各ファイルにユーザーを適用できます。 . 指定された操作。検索コマンドの使い方については以下の記事で紹介していますので、ご参考になれば幸いです。

Linux で Find コマンドを使用してファイルを検索する方法

Linux Find コマンド

find コマンドを使用して、ファイルのアクセス許可、タイプ、日付、所有権、サイズ ファイルの検索を待ちます。 grep や sed などの他のツールと組み合わせて使用​​して、これらのファイルに対する操作を実行することもできます。

find コマンドの使用方法について説明する前に、まず基本的な構文を理解しましょう。

find [options] [path...] [expression]
ログイン後にコピー

説明:

● Options 属性: シンボリック リンクの処理、デバッグ オプション、および最適化方法を制御します。

● Path... 属性: find がファイルを検索する開始ディレクトリを定義します。

● 式属性: 「オプション」、「検索モード」、「演算子で区切られた操作」で構成されます。

次の例を見てみましょう:

find  -L /home/projects/ -name "*.js" -exec chmod 644 {} \;
ログイン後にコピー

説明: このコマンドにはパラメーター -L (オプション) が含まれており、これにより、find コマンドがシンボリック リンクをたどって /home/projects を検索できるようになります。 / (パス ...)、.js(式) で終わるすべてのファイルを検索し、一致するすべてのファイルのアクセス許可を 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
ログイン後にコピー
If 大文字と小文字を区別しない検索を実行するには、-iname コマンドを使用して -name オプションを変更できます。

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'
ログイン後にコピー
正規表現 *.log.gz に一致しないすべてのファイルを検索したい場合は、-not パラメーターを使用できます。たとえば、*.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 コマンドを使用すると、指定したサイズより大きいファイルまたは小さいファイルを検索することもできます。例:

現在の作業ディレクトリ内の 1MB 未満のすべてのファイルを検索できます。これには、サイズ値の前にマイナス記号を追加する必要があります:

find . -type f -size -1M
ログイン後にコピー

1MB を超えるファイルを検索する場合サイズ範囲内のファイルも検索するには、プラス記号を使用する必要があります:

find . -type f -size +1M
ログイン後にコピー

。たとえば、次のコマンドは 1 ~ 2 MB のすべてのファイルを検索します:

find . -type f -size +1M -size 21M
ログイン後にコピー

更新日でファイルを検索するには?

find コマンドは、ファイルが最後に変更、アクセス、または変更された時期に基づいてファイルを検索することもできます。 サイズで検索する場合と同様に、プラス記号とマイナス記号を使用して、より大きいか小さいかを指定できます。

例:

数日前に dovecot 構成ファイルを変更しましたが、ファイル名を忘れてしまいました。過去 5 日間に変更された、/etc/dovecot/conf.d/ ディレクトリ内の .conf で終わるすべてのファイルを簡単にフィルタリングできます。

find /etc/dovecot/conf.d -name "*.conf" -mtime 5
ログイン後にコピー
また、30 日間またはすべてのファイルをリストすることもできます。最近変更された /home ディレクトリ:
find /home -mtime +30 -daystart
ログイン後にコピー

アクセス許可によってファイルを検索するにはどうすればよいですか?

ファイルのアクセス許可に基づいてファイルをフィルターするには、-perm オプションを使用する必要があります。 #########例えば:######

要在/var/www/html目录中查找权限为775的所有文件:

find /var/www/html -perm 644
ログイン後にコピー

还可以使用减号-或斜杠/为数字模式添加前缀。

当斜杠/用作前缀时,至少一个类别(用户,组或其他类别)必须至少为文件匹配设置相应的位。

find . -perm /444
ログイン後にコピー

说明:搜索对用户,组或其他人设置了读权限的所有文件。

如果使用减号-作为前缀,则必须至少设置要匹配的文件。

find . -perm -664
ログイン後にコピー

说明:搜索对所有者和组具有读写权限的文件,并且其他用户可以读取。

如何按所有者查找文件?

要查找特定用户或组拥有的文件,可以使用-user和-group选项。

例如,要搜索用户拥有的所有文件和目录linuxize,可以运行:

find / -user linuxize
ログイン後にコピー

这是更高级的示例,假设是希望查找用户www-data拥有的所有文件,并将匹配文件的所有权从www-data更改为nginx:

find / -user www-data -type f  -exec chown nginx {} \;
ログイン後にコピー

相关视频教程推荐:《linux教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上がLinux で Find コマンドを使用してファイルを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Bitget公式ウェブサイトのインストール(2025初心者ガイド) Bitget公式ウェブサイトのインストール(2025初心者ガイド) Feb 21, 2025 pm 08:42 PM

Bitgetは、スポット取引、契約取引、デリバティブなど、さまざまな取引サービスを提供する暗号通貨交換です。 2018年に設立されたこのExchangeは、シンガポールに本社を置き、安全で信頼性の高い取引プラットフォームをユーザーに提供することに取り組んでいます。 Bitgetは、BTC/USDT、ETH/USDT、XRP/USDTなど、さまざまな取引ペアを提供しています。さらに、この取引所はセキュリティと流動性について評判があり、プレミアム注文タイプ、レバレッジド取引、24時間年中無休のカスタマーサポートなど、さまざまな機能を提供します。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

gate.ioインストールパッケージを無料で入手してください gate.ioインストールパッケージを無料で入手してください Feb 21, 2025 pm 08:21 PM

Gate.ioは、インストールパッケージをダウンロードしてデバイスにインストールすることで使用できる人気のある暗号通貨交換です。インストールパッケージを取得する手順は次のとおりです。Gate.ioの公式Webサイトにアクセスし、「ダウンロード」をクリックし、対応するオペレーティングシステム(Windows、Mac、またはLinux)を選択し、インストールパッケージをコンピューターにダウンロードします。スムーズなインストールを確保するために、インストール中に一時的にウイルス対策ソフトウェアまたはファイアウォールを一時的に無効にすることをお勧めします。完了後、ユーザーはGATE.IOアカウントを作成して使用を開始する必要があります。

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

WindowsやLinuxファイルを同期するときに、Compare Beyond Compareがケース感度に失敗した場合はどうすればよいですか? WindowsやLinuxファイルを同期するときに、Compare Beyond Compareがケース感度に失敗した場合はどうすればよいですか? Apr 01, 2025 am 08:06 AM

compareを超えてファイルを比較して同期する問題:それ以降を使用する場合のケース感度障害...

See all articles