Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Dateisuchbefehl „find' unter Linux

Dateisuchbefehl „find' unter Linux

Jun 04, 2020 am 09:53 AM
1

Der Suchbefehl ist einer meiner Lieblingsbefehle. Er kann die Dateien, die ich suchen möchte, leicht finden. Er kann zu viele Suchmethoden unterstützen, z. B. nach Dateiname, Dateigröße, Dateityp usw. warten. Als nächstes werfen wir einen Blick darauf.

Syntax: find [Suchpfad] [Optionen] [Aktion]

Der Suchbefehl enthält nicht zu viele Optionen. Heute werde ich nur über einige häufig verwendete Optionen sprechen.

Suche nach Dateinamen

Die Option zur Suche nach Dateinamen ist -name, die eine einfache reguläre Suche unterstützt.

Ich weiß zum Beispiel, dass locale.conf im Verzeichnis /etc gespeichert ist, aber ich habe den spezifischen Pfad vergessen. Dann kann

# find /etc/ -name locale.conf/etc/locale.conf
Nach dem Login kopieren

den spezifischen Pfad der Datei herausfinden.

Jetzt möchte ich wissen, wie viele PHP-Dateien sich in einem bestimmten Verzeichnis befinden, dann kann ich den folgenden Befehl verwenden, um es zu vervollständigen.

# find default -name *.php | wc -l122
Nach dem Login kopieren

oder Option -o

Hier ist eine weitere Option, -o, was bedeutet, oder, im Allgemeinen ist die Standardeinstellung zwischen den Suchoptionen Sie alle bedeuten „und“. Schauen wir uns ein Beispiel an, um die Gesamtzahl der PHP- oder JS-Dateien in einem bestimmten Verzeichnis zu ermitteln.

# find default -name *.php -o -name *.js | wc -l225
Nach dem Login kopieren

Suche basierend auf Dateityp und Verzeichnistiefe

Sie müssen die Option -type verwenden, um häufig verwendete Dateitypen zu finden f (Datei), d(Verzeichnis). Eine weitere Option wird eingeführt: -max Depth gibt die maximale Anzahl rekursiver Verzeichnisse an.

# find ./  -maxdepth 1  -type d././default./default.bak
Nach dem Login kopieren

Negative Option!

# find ./  -maxdepth 1 ! -type f././default./default.bak
Nach dem Login kopieren

Zeitbezogene Suche

与时间有关的选项:共有-atime, -ctime 与-mtime ,以-mtime 说明
-mtime n n 为数字,意义为在n 天之前的『一天之内』被更动过内容的文件;
-mtime +n 列出在n 天之前(不含n 天本身)被更动过内容的文件文件名
-mtime -n列出在n 天之内(含n 天本身)被更动过内容的文件文件名
-newer file file 为一个存在的文件,列出比file 还要新的文件文件名

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

# find $bakdir -name "*.sql.bz2" -type f -mtime +7 -exec rm -rf {} \;
Nach dem Login kopieren

根据用户名、组来查找

与使用者或群组名称有关
-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
Nach dem Login kopieren

根据文件大小查找

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

# find /home/wwwroot/default -size +1M
# find /home/wwwroot/default -size -1k
Nach dem Login kopieren

根据文件权限查找

  • -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;
Nach dem Login kopieren

动作执行

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

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
Nach dem Login kopieren

其他

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

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

# find . -empty -exec ls -l {} \;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDateisuchbefehl „find' unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich reguläre Ausdrücke (REGEX) unter Linux für das Musteranpassung? Wie verwende ich reguläre Ausdrücke (REGEX) unter Linux für das Musteranpassung? Mar 17, 2025 pm 05:25 PM

In dem Artikel wird erläutert, wie reguläre Ausdrücke (REGEX) unter Linux für Musteranpassung, Dateisuche und Textmanipulation, Detailsyntax, Befehle und Tools wie Grep, SED und awk detailliert werden.

Wie überwache ich die Systemleistung unter Linux mithilfe von Tools wie Top, HTOP und VMSTAT? Wie überwache ich die Systemleistung unter Linux mithilfe von Tools wie Top, HTOP und VMSTAT? Mar 17, 2025 pm 05:28 PM

In dem Artikel werden die Leistung von Top, HTOP und VMSTAT zur Überwachung der Systemleistung der Linux -Systeme erläutert und deren eindeutige Funktionen und Anpassungsoptionen für eine effektive Systemverwaltung beschrieben.

Wie implementiere ich die Zwei-Faktor-Authentifizierung (2FA) für SSH in Linux? Wie implementiere ich die Zwei-Faktor-Authentifizierung (2FA) für SSH in Linux? Mar 17, 2025 pm 05:31 PM

Der Artikel enthält eine Anleitung zum Einrichten der Zwei-Faktor-Authentifizierung (2FA) für SSH unter Linux unter Verwendung von Google Authenticator, Detaillierung der Installations-, Konfigurations- und Fehlerbehebungsschritte. Es unterstreicht die Sicherheitsvorteile von 2FA, wie z. B. die verstärkte SEC

Wie konfiguriere ich Selinux oder Apparmor, um die Sicherheit unter Linux zu verbessern? Wie konfiguriere ich Selinux oder Apparmor, um die Sicherheit unter Linux zu verbessern? Mar 12, 2025 pm 06:59 PM

Dieser Artikel vergleicht Selinux und Apparmor, Linux -Kernel -Sicherheitsmodule, die eine obligatorische Zugriffskontrolle bieten. Es beschreibt ihre Konfiguration und zeigt die Unterschiede im Ansatz (politisch basierte vs. profilbasierte) und potenzielle Leistungsauswirkungen auf

Wie kann ich ein Linux -System wieder herstellen? Wie kann ich ein Linux -System wieder herstellen? Mar 12, 2025 pm 07:01 PM

In diesem Artikel werden Linux -System -Sicherungs- und Restaurierungsmethoden beschrieben. Es vergleicht die volle Sicherungsbackups von Systembilds mit inkrementellen Sicherungen, diskutiert optimale Sicherungsstrategien (Regelmäßigkeit, mehrere Standorte, Versioning, Tests, Sicherheit, Rotation) und DA

Wie richte ich mit Firewall oder iptables eine Firewall in Linux ein? Wie richte ich mit Firewall oder iptables eine Firewall in Linux ein? Mar 12, 2025 pm 06:58 PM

Dieser Artikel vergleicht die Linux -Firewall -Konfiguration mit Firewalld und Iptables. Firewalld bietet eine benutzerfreundliche Schnittstelle zum Verwalten von Zonen und Diensten, während Iptables über die Befehlszeilenmanipulation des Netfilter FRA auf niedriger Ebene steuert

Wie benutze ich Sudo, um Benutzern in Linux erhöhte Berechtigungen zu gewähren? Wie benutze ich Sudo, um Benutzern in Linux erhöhte Berechtigungen zu gewähren? Mar 17, 2025 pm 05:32 PM

In dem Artikel wird erläutert, wie die Sudo -Privilegien in Linux verwaltet werden, einschließlich Gewährung, Widerruf und Best Practices für Sicherheitsvorschriften. Der Hauptaugenmerk liegt auf der sicheren Bearbeitung /etc /sudoers und der Begrenzung des Zugangs. Charakterzahl: 159

Wie verwalte ich Softwarepakete unter Linux mithilfe von Paketmanagern (APT, YUM, DNF)? Wie verwalte ich Softwarepakete unter Linux mithilfe von Paketmanagern (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

In Artikel werden die Verwaltung von Softwarepaketen unter Linux mithilfe von APT, YUM und DNF besprochen, wobei die Installation, Updates und Entfernungen behandelt werden. Es vergleicht ihre Funktionen und Eignung für verschiedene Verteilungen.

See all articles