ホームページ 運用・保守 Linuxの運用と保守 Linux のファイル検索コマンド find

Linux のファイル検索コマンド find

Jun 04, 2020 am 09:53 AM
1

find コマンドは、探しているファイルを簡単に見つけることができるコマンドの 1 つで、ファイル名、ファイル サイズ、ファイル タイプなどで検索できます。次に見てみましょう。

構文: find [検索パス] [オプション] [アクション]

find コマンドのオプションは多すぎないようにします。今日は、一般的に使用されるいくつかのオプションについてのみ説明します。

ファイル名で検索

ファイル名で検索するオプションは -name で、単純な通常の検索をサポートします。

たとえば、locale.conf が /etc ディレクトリに保存されていることは知っていますが、具体的なパスを忘れてしまった場合は、

# find /etc/ -name locale.conf/etc/locale.conf
ログイン後にコピー

でファイルの具体的なパスを見つけることができます。

ここで、特定のディレクトリにある php ファイルの数を知りたいので、次のコマンドを使用してそれを完了できます。

# find default -name *.php | wc -l122
ログイン後にコピー

またはオプション -o

ここに別のオプション -o があり、これは or を意味します。通常、デフォルトでは、検索オプションはすべて and を意味します。特定のディレクトリ内の php または js ファイルの総数を見つける例を見てみましょう。

# find default -name *.php -o -name *.js | wc -l225
ログイン後にコピー

ファイル タイプとディレクトリの深さに基づいて検索します

ファイル タイプを検索するには、-type オプションを使用する必要があります。一般的に使用されるタイプは f (ファイル) と d (ディレクトリ) です。別のオプションが導入され、-max Depth は再帰ディレクトリの最大数を示します。

# find ./  -maxdepth 1  -type d././default./default.bak
ログイン後にコピー

否定的なオプション!

# find ./  -maxdepth 1 ! -type f././default./default.bak
ログイン後にコピー

時間関連の検索

-mtime n -mtime +n -mtime -n-新しいファイル より新しいファイル名をリストします

这个选项很有作用,比如进行数据定时备份时,只保留最近7天的数据,超过7天的自动删除就会用到该选项。注意+n表示n天之前,-n表示n天之内。

# find $bakdir -name "*.sql.bz2" -type f -mtime +7 -exec rm -rf {} \;
ログイン後にコピー

根据用户名、组来查找

時間関連のオプション: -atime、-ctime、-mtime があります。 -mtime を使用して
n を数値として説明します。これは、n 日前に内容が「1 日以内」に変更されたファイルを意味します
list内容が n 日前に変更されました (n 日自体は含まれません)
n 日以内に内容が変更されたファイルをリストします (n 日自体を含みます) ファイル名
ファイルは既存のファイルです。ファイル
与使用者或群组名称有关
-uid n n 为数字,这个数字是使用者的帐号ID,亦即UID
-gid n n 为数字,这个数字是群组名称的ID,亦即GID
-user name name 为使用者帐号名称,例如dmtsai
-group name name 为群组名称,例如users ;
-nouser寻找文件的拥有者不存在 的人!
-nogroup 寻找文件的拥有群组不存在于/etc/group 的文件!

查找某目录下,所有者不是www的文件有哪些。

find /home/wwwroot/default ! -user www | wc -l
ログイン後にコピー

根据文件大小查找

按文件大小查找使用-size选项,比如查找大于1M的文件,那么使用-size +1M,如果查找小于1K的,那么使用-size -1K

# find /home/wwwroot/default -size +1M
# find /home/wwwroot/default -size -1k
ログイン後にコピー

根据文件权限查找

  • -perm mode 搜寻文件权限『刚好等于』 mode 的文件,这个mode 为类似chmod的属性值,举例来说, -rwsr-xr-x 的属性为4755 !

  • -perm -mode 搜寻文件权限『必须要全部囊括mode 的权限』的文件,举例来说,我们要搜寻-rwxr--r-- ,亦即0744 的文件,使用-perm -0744,当一个文件的权限为-rwsr-xr-x ,亦即4755 时,也会被列出来,因为-rwsr-xr-x 的属性已经囊括了-rwxr--r-- 的属性了。

  • -perm /mode 搜寻文件权限『包含任一mode 的权限』的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即-perm /755 时,但一个文件属性为-rw-------也会被列出来,因为他有-rw.... 的属性存在!

我们知道,文件的权限一般为644,目录的权限一般为755。如果,不是等于这个权限,可能就会有点问题,那么我们来找找看,是否有这类文件。

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
# 查找权限不是644的文件,并将其修改为644
find /home/wwwroot/default ! -perm 644 -type f | xargs -n 10 chmod 644;
ログイン後にコピー

动作执行

其实这个命令上面已经使用到了,使用-exec选项,然后接命令,最后要以{} ;结尾,比如

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
ログイン後にコピー

其他

find还支持正则(-regex)查找文件名,还可以不区分大小写(-iregex);

使用-empty可以查找文件大小为0的文件。

# find . -empty -exec ls -l {} \;
ログイン後にコピー

以上が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で正規表現(正規表現)を使用するにはどうすればよいですか? パターンマッチングにLinuxで正規表現(正規表現)を使用するにはどうすればよいですか? Mar 17, 2025 pm 05:25 PM

この記事では、パターンマッチング、ファイル検索、テキスト操作、グレップ、SED、awkなどのツールの詳細、ファイル検索、テキスト操作のためにLinuxで正規表現(Regex)を使用する方法について説明します。

TOP、HTOP、VMSTATなどのツールを使用してLinuxのシステムパフォーマンスを監視するにはどうすればよいですか? TOP、HTOP、VMSTATなどのツールを使用してLinuxのシステムパフォーマンスを監視するにはどうすればよいですか? Mar 17, 2025 pm 05:28 PM

この記事では、Linuxシステムのパフォーマンスを監視するためにTop、HTOP、およびVMSTATを使用して、効果的なシステム管理のための独自の機能とカスタマイズオプションを詳述することについて説明します。

LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか? LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか? Mar 17, 2025 pm 05:31 PM

この記事では、Google Authenticatorを使用してLinux上のSSH用の2要素認証(2FA)のセットアップ、インストール、構成、およびトラブルシューティング手順の詳細に関するガイドを提供します。 Enhanced Secなど、2FAのセキュリティ利益を強調しています

Linuxのセキュリティを強化するようにSelinuxまたはApparmorを構成するにはどうすればよいですか? Linuxのセキュリティを強化するようにSelinuxまたはApparmorを構成するにはどうすればよいですか? Mar 12, 2025 pm 06:59 PM

この記事では、SelinuxとApparmor、Linuxカーネルセキュリティモジュールを比較して、必須のアクセス制御を提供します。 それは彼らの構成を詳述し、アプローチの違い(ポリシーベースとプロファイルベース)と潜在的なパフォーマンスへの影響を強調します

sudoを使用して、Linuxのユーザーに高い特権を付与するにはどうすればよいですか? sudoを使用して、Linuxのユーザーに高い特権を付与するにはどうすればよいですか? Mar 17, 2025 pm 05:32 PM

この記事では、LinuxのSudo特権を管理する方法について説明します。重要な焦点は、 /etc /sudoersの安全性とアクセスを制限することです。

Linuxシステムをバックアップして復元するにはどうすればよいですか? Linuxシステムをバックアップして復元するにはどうすればよいですか? Mar 12, 2025 pm 07:01 PM

この記事では、Linuxシステムのバックアップと復元方法について詳しく説明しています。 フルシステムイメージのバックアップとインクリメンタルバックアップを比較し、最適なバックアップ戦略(規則性、複数の場所、バージョン、テスト、セキュリティ、回転)、およびDAについて説明します

FirewalldまたはIptablesを使用してLinuxでファイアウォールをセットアップするにはどうすればよいですか? FirewalldまたはIptablesを使用してLinuxでファイアウォールをセットアップするにはどうすればよいですか? Mar 12, 2025 pm 06:58 PM

この記事では、FirewalldとIptablesを使用したLinuxファイアウォールの構成を比較します。 firewalldは、ゾーンとサービスを管理するためのユーザーフレンドリーなインターフェイスを提供しますが、iptablesはNetFilter FRAのコマンドライン操作を介して低レベルの制御を提供します

パッケージマネージャー(apt、yum、dnf)を使用してLinuxのソフトウェアパッケージを管理するにはどうすればよいですか? パッケージマネージャー(apt、yum、dnf)を使用してLinuxのソフトウェアパッケージを管理するにはどうすればよいですか? Mar 17, 2025 pm 05:26 PM

記事では、APT、Yum、およびDNFを使用してLinuxでソフトウェアパッケージの管理を行い、インストール、更新、および削除をカバーしています。さまざまな分布に対する機能と適合性を比較します。

See all articles