Inhaltsverzeichnis
Suchbefehlsformat:
Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So verwenden Sie den Linux-Suchbefehl

So verwenden Sie den Linux-Suchbefehl

Jun 25, 2021 pm 02:01 PM
Befehl finden linux

Unter Linux wird der Befehl „find“ verwendet, um Dateien in einem angegebenen Verzeichnis zu finden. Die grundlegende Syntax lautet „find path -option..“ Jede Zeichenfolge vor dem Parameter wird als zu findender Verzeichnisname betrachtet. Wenn Sie diesen Befehl ohne Angabe von Parametern verwenden, sucht der Befehl „find“ nach Unterverzeichnissen und Dateien im aktuellen Verzeichnis.

So verwenden Sie den Linux-Suchbefehl

Die Betriebsumgebung dieses Tutorials: Red Hat Enterprise Linux 6.1-System, Dell G3-Computer. Der

Linux-Suchbefehl wird verwendet, um Dateien im angegebenen Verzeichnis zu finden.

Suchbefehlsformat:

find   path  -option  【 -print 】  【 -exec   -ok   |xargs  |grep  】 【  command  {} \;  】
Nach dem Login kopieren

Parameter des Suchbefehls:

1) Pfad: Der zu findende Verzeichnispfad. E ~ Zeigt das $ HOME-Verzeichnis an

  • .
  • 3)exec
  • : Führt den durch diesen Parameter angegebenen Shell-Befehl für die passende Datei aus.
  •                                                                                                                                           kann ein Leerzeichen zwischen { } und                    xargs
hat die gleiche Funktion wie exec und spielt eine Rolle bei der Unternehmung

Der Unterschied ist, dass |xargs

hauptsächlich zum Durchführen von Löschvorgängen verwendet wird, während

-exec zum Kopieren, Verschieben, Umbenennen usw. verwendet werden kann.

6)

Optionen : Gibt die Suchmethode an.

Optionen Zu den häufig verwendeten Optionen gehören die folgenden Optionen:

-name   filename               #查找名为filename的文件
 -perm                                #按执行权限来查找
 -user    username             #按文件属主来查找
 -group groupname            #按组来查找
 -mtime   -n +n                   #按文件
更改时间
来查找文件,-n指n天以内,+n指n天以前
 -atime    -n +n                   #按文件
访问时间
来查找文件,-n指n天以内,+n指n天以前
 -ctime    -n +n                  #按文件
创建时间
来查找文件,-n指n天以内,+n指n天以前
 -nogroup                          #查无有效属组的文件,即文件的属组在/etc/groups中不存在
 -nouser                            #查无有效属主的文件,即文件的属主在/etc/passwd中不存
 -type    b/d/c/p/l/f             #查是块设备、目录、字符设备、管道、符号链接、普通文件
 -size      n[c]                    #查长度为n块[或n字节]的文件
 -mount                            #查文件时不跨越文件系统mount点
 -follow                            #如果遇到符号链接文件,就跟踪链接所指的文件
 -prune                            #忽略某个目录
Nach dem Login kopieren
Jede Zeichenfolge vor dem Parameter wird als zu durchsuchender Verzeichnisname betrachtet. Wenn Sie diesen Befehl verwenden, ohne Parameter festzulegen, sucht der Befehl „find“ nach Unterverzeichnissen und Dateien im aktuellen Verzeichnis. Und alle gefundenen Unterverzeichnisse und Dateien werden angezeigt.

Das Folgende ist eine Einführung in die allgemeine Verwendung von „find“ anhand einiger einfacher Beispiele:

1. Suche nach Namen Suchen Sie im aktuellen Verzeichnis und in den Unterverzeichnissen nach TXT-Dateien, die mit Großbuchstaben beginnen

$ find . -name '[A-Z]*.txt' -print   
Nach dem Login kopieren
in / usw. Suchen Sie im $HOME-Verzeichnis und seinen Unterverzeichnissen nach allen Dateien, die mit „host“ beginnen
$ find /etc -name 'host*' -print  
Nach dem Login kopieren

Suche nach TXT-Dateien im aktuellen Verzeichnis und in den Unterverzeichnissen außer aa und bb

$ find ~ -name '*' -print
Nach dem Login kopieren
在 Hinweis: Der Platz muss an einer oder zwei Stellen hinzugefügt werden, andernfalls wird der in der Abbildung gezeigte Fehler angezeigt

Nein länger im Unterverzeichnis nach TXT-Dateien suchen

$ find . -name "out*" -prune -o -name "*.txt" -print
Nach dem Login kopieren


oder

$ find . -path "./aa" -prune -o -name "*.txt" -print  
Nach dem Login kopieren
Friendly Link: Detaillierte Erläuterung der Verwendung des Befehls „find“ -path -prune unter Linux

3. Suche nach Berechtigungen


Suchen Sie im aktuellen Verzeichnis und in den Unterverzeichnissen nach Dateien, deren Besitzer über Lese-, Schreib- und Ausführungsberechtigungen verfügt, sowie nach anderen Dateien, die über Lese- und Ausführungsberechtigungen verfügen Berechtigungen

 $ find . \( -path './dir0' -o -path './dir1' \) -a -prune -o -name '*.txt' -print
Nach dem Login kopieren

Suchen Sie nach Dateien oder Verzeichnissen, für die der Benutzer Schreibberechtigungen hat oder für die Gruppenbenutzer Schreibberechtigungen haben


$ find . ! -name "." -type d -prune -o -type f -name "*.txt" -print
Nach dem Login kopieren
4. Suchen Sie nach Typ (b/d/c /p/l/f)

Im aktuellen Verzeichnis und Subdirektorien, suchen Sie nach symbolischen Link -Dateien


find . -name *.txt -type f -print
Nach dem Login kopieren

5. nach Eigentümer und Gruppe

Suchen Sie nach Dateien, deren Eigentümer www

$find . -perm 755 -print
Nach dem Login kopieren

die gelöschten Dateien finden

find ./ -perm /220       
find ./ -perm /u+w,g+w       
find ./ -perm /u=w,g=w
Nach dem Login kopieren

Finden Sie Dateien, die zur Gruppe MySQL

 $ find . -type l -print
Nach dem Login kopieren
gehören. Von der Benutzergruppe gelöschte Dateien finden

$ find / -user www -type f -print
Nach dem Login kopieren

6. Suche nach Zeit Dateien finden, die innerhalb von 2 Tagen geändert wurden

$ find / -nouser -type f -print
Nach dem Login kopieren
Dateien finden, die vor 2 Tagen geändert wurden
$ find / -group mysql -type f -print
Nach dem Login kopieren

Dateien finden, auf die zugegriffen wurde innerhalb eines Tages
$ find / -nogroup -type f -print
Nach dem Login kopieren

Dateien finden, auf die vor einem Tag zugegriffen wurde

$ find . -mtime -2 -type f -print   
Nach dem Login kopieren
Dateien finden, deren Status innerhalb eines Tages geändert wurde
 $ find . -mtime +2 -type f -print
Nach dem Login kopieren

Dateien finden, deren Status vor einem Tag geändert wurde Geänderte Dateien

$ find . -ctime +1 -type f -print  
Nach dem Login kopieren

查找10分钟以前状态被改变的文件

$ find . -cmin +10 -type f -print
Nach dem Login kopieren

7、按文件新旧   

查找比 aa.txt 新的文件

$ find . -newer "aa.txt" -type f -print   
Nach dem Login kopieren

查找比 aa.txt 旧的文件

$ find . ! -newer "aa.txt" -type f -print   
Nach dem Login kopieren

查找比aa.txt新,比bb.txt旧的文件

$ find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print
Nach dem Login kopieren

8、按大小查找   

查找超过1M的文件

$ find / -size +1M -type f -print   
Nach dem Login kopieren

查找等于6字节的文件

$ find . -size 6c -print   
Nach dem Login kopieren

查找小于32k的文件

$ find . -size -32k -print
Nach dem Login kopieren

9、执行命令   

1)查找 del.txt 并删除,删除前提示确认

$ find . -name 'del.txt' -ok rm {} \;  
Nach dem Login kopieren

2) 查找 aa.txt 并备份为aa.txt.bak

$ find . -name 'aa.txt' -exec cp {} {}.bak \;
Nach dem Login kopieren

3)查当前目录下的所有普通文件

    # find . -type f -exec ls -l {} \; 
    -rw-r–r–    1 root      root         34928 2003-02-25   ./conf/httpd.conf 
    -rw-r–r–    1 root      root         12959 2003-02-25   ./conf/magic 
    -rw-r–r–    1 root      root          180 2003-02-25   ./conf.d/README
Nach dem Login kopieren

查当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出

4)在 /logs 目录中查找更改时间在5日以前的文件并删除它们

$ find logs -type f -mtime +5 -exec   -ok   rm {} \;
Nach dem Login kopieren

5)查询当天修改过的文件

# find   ./   -mtime   -1   -type f   -exec   ls -l   {} \;
Nach dem Login kopieren

6)查询文件并询问是否要显示

# find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;  
    < ls … ./classDB.inc.php > ? y
    -rw-r–r–    1 cnscn    cnscn       13709   1月 12 12:22 ./classDB.inc.php
    # find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;  
    < ls … ./classDB.inc.php > ? n
Nach dem Login kopieren

关于 有没有 -print 的区别

加 -print

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

find /home -type d -print -exec ls {} \;
Nach dem Login kopieren

不加 -print

相关推荐:《Linux视频教程

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Linux-Suchbefehl. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Heiße Themen

Java-Tutorial
1655
14
PHP-Tutorial
1252
29
C#-Tutorial
1226
24
Linux -Architektur: Enthüllung der 5 Grundkomponenten Linux -Architektur: Enthüllung der 5 Grundkomponenten Apr 20, 2025 am 12:04 AM

Die fünf grundlegenden Komponenten des Linux -Systems sind: 1. Kernel, 2. Systembibliothek, 3. System Utilities, 4. Grafische Benutzeroberfläche, 5. Anwendungen. Der Kernel verwaltet Hardware -Ressourcen, die Systembibliothek bietet vorkompilierte Funktionen, Systemversorgungsunternehmen werden für die Systemverwaltung verwendet, die GUI bietet visuelle Interaktion und Anwendungen verwenden diese Komponenten, um Funktionen zu implementieren.

VSCODE -Tutorial zur Verwendung VSCODE -Tutorial zur Verwendung Apr 15, 2025 pm 10:09 PM

Das integrierte VSCODE-integrierte Terminal ist ein Entwicklungstool, mit dem das Ausführen von Befehlen und Skripten innerhalb des Editors den Entwicklungsprozess vereinfachen kann. Verwenden Sie VSCODE -Anschluss: Öffnen Sie das Terminal mit der T -T -T -Taste (Strg/CMD). Geben Sie einen Befehl ein oder führen Sie das Skript aus. Verwenden Sie Hotkeys (z. B. Strg l, um das Terminal zu löschen). Ändern Sie das Arbeitsverzeichnis (z. B. den CD -Befehl). Zu den erweiterten Funktionen gehören Debug -Modus, automatischer Code -Snippet -Abschluss und interaktiver Befehlsverlauf.

So überprüfen Sie die Lageradresse von Git So überprüfen Sie die Lageradresse von Git Apr 17, 2025 pm 01:54 PM

Um die Git -Repository -Adresse anzuzeigen, führen Sie die folgenden Schritte aus: 1. Öffnen Sie die Befehlszeile und navigieren Sie zum Repository -Verzeichnis; 2. Führen Sie den Befehl "git remote -v" aus; 3.. Zeigen Sie den Repository -Namen in der Ausgabe und der entsprechenden Adresse an.

Wo kann Code in VSCODE schreiben Wo kann Code in VSCODE schreiben Apr 15, 2025 pm 09:54 PM

Das Schreiben von Code in Visual Studio Code (VSCODE) ist einfach und einfach zu bedienen. Installieren Sie einfach VSCODE, erstellen Sie ein Projekt, wählen Sie eine Sprache aus, erstellen Sie eine Datei, schreiben Sie Code, speichern und führen Sie es aus. Die Vorteile von VSCODE umfassen plattformübergreifende, freie und open Source, leistungsstarke Funktionen, reichhaltige Erweiterungen sowie leichte und schnelle.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

Der Befehl vscode terminal kann nicht verwendet werden Der Befehl vscode terminal kann nicht verwendet werden Apr 15, 2025 pm 10:03 PM

Ursachen und Lösungen für die VS -Code -Terminalbefehle nicht verfügbar: Die erforderlichen Tools werden nicht installiert (Windows: WSL; MacOS: Xcode -Befehlszeilen -Tools) Pfadkonfiguration ist falsch (Hinzufügen von ausführbaren Dateien zu Pfadumgebungsvariablen hinzufügen) Berechtigungsprobleme Eine orientierte (neu installierende oder aktualisierte) Terminalkonfiguration ist inkompatibel (versuchen Sie verschiedene Terminaltypen oder Befehle) Spezifische Umgebungsvariablen fehlen (setzen Sie die erforderlichen Umgebungsvariablen).

VSCODE Vorheriger nächster Verknüpfungsschlüssel VSCODE Vorheriger nächster Verknüpfungsschlüssel Apr 15, 2025 pm 10:51 PM

VS Code One-Step/Nächster Schritt Verknüpfungsschlüsselnutzung: Einschritt (rückwärts): Windows/Linux: Strg ←; macOS: CMD ← Nächster Schritt (vorwärts): Windows/Linux: Strg →; macos: cmd →

See all articles