find.-name"[A-Z]*&"/> find.-name"[A-Z]*&">
Heim > Artikel > System-Tutorial > Optionen und Parameter, die für den Befehl „find“ unter Linux verfügbar sind
Namensoption verwenden:
Die Option „Dateiname“ ist die am häufigsten verwendete Option für den Suchbefehl. Diese Option wird entweder allein oder zusammen mit anderen Optionen verwendet. Sie können ein Dateinamenmuster verwenden, um Dateien abzugleichen. Denken Sie daran, das Dateinamenmuster in Anführungszeichen zu setzen. Unabhängig vom aktuellen Pfad: Wenn Sie in Ihrem Stammverzeichnis $HOME eine Datei mit einem Dateinamen finden möchten, der mit *.log übereinstimmt, verwenden Sie „~“ als „Pfadname“-Parameter und die Tilde „~“ stellt das Heimatverzeichnis des aktuellen Benutzers dar.
Suchen Sie die .log-Datei des Home-Verzeichnisses des aktuell angemeldeten Benutzers:
> find ~ -name "*.log"
Suchen Sie im aktuellen Verzeichnis nach Dateien, die mit einem Großbuchstaben beginnen:
> find . -name "[A-Z]*"
Suchen Sie im Verzeichnis /etc nach Dateien, die mit sys beginnen:
> find /etc -name "sys*"
Fordern Sie Bilder im aktuellen Verzeichnis an, die mit einem Großbuchstaben + 3 Ziffern beginnen .png
> find . -name "[A-Z]*[0-9][0-9][0-9].png"
Verwenden Sie die Dauerwellenoption:
Verwenden Sie die Option -perm, um entsprechend dem Dateiberechtigungsmodus nach Dateien zu suchen. Am besten verwenden Sie für Berechtigungen die Oktalschreibweise. Wenn Sie eine Datei mit dem Dateiberechtigungsbit 755 im aktuellen Verzeichnis finden möchten, d. h. der Dateieigentümer kann lesen, schreiben und ausführen, andere Benutzer können lesen und ausführen, können Sie
verwenden
> find . -perm 755
find -perm -mode
Dies zeigt an, dass die im Modus in eine Binärdatei konvertierte 1 mit den Dateiberechtigungsbits übereinstimmen muss. Wenn beispielsweise Modus = 644 ist, wird sie als 110 100 100 in eine Binärdatei konvertiert, und die Berechtigungsbits der durchsuchten Datei können ebenfalls in eine Binärdatei konvertiert werden eine Binärzahl. Zwei Bits, die Einsen sind, müssen genau übereinstimmen, während Nullen keine Rolle spielen. Wenn die Berechtigungen der durchsuchten Datei beispielsweise 111 111 111 in Binärzahlen umgewandelt sind, wird dies abgeglichen, wenn es jedoch 100 100 100 ist, wird es nicht abgeglichen. Die Funktion dieses „-“ läuft also darauf hinaus, Dateien mit ausreichenden Berechtigungen als im Modus abzugleichen (ich kann keine Worte finden, um es zu beschreiben)
Ein Verzeichnis ignorieren:
Wenn Sie bei der Suche nach Dateien ein bestimmtes Verzeichnis ignorieren möchten, weil Sie wissen, dass die gesuchte Datei in diesem Verzeichnis nicht vorhanden ist, können Sie mit der Option -prune das Verzeichnis angeben, das ignoriert werden soll. Seien Sie vorsichtig, wenn Sie die Option -prune verwenden, denn wenn Sie auch die Option - Depth verwenden, wird die Option -prune vom Befehl find ignoriert. Wenn Sie Dateien im aktuellen Verzeichnis finden möchten, aber nicht im Verzeichnis ./bin, können Sie
verwenden
> find . -path "./bin" -prune -o -print
Vermeiden Sie mehrere Ordner:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print
Klammern geben die Kombination von Ausdrücken an. Gibt einen Verweis an, der die Shell anweist, die folgenden Zeichen nicht speziell zu interpretieren, sondern dem Befehl find
die Interpretation ihrer Bedeutung zu überlassen.
Um nach einer bestimmten Datei zu suchen, werden -name und andere Optionen nach -o:
hinzugefügt> find . \( -path "./bin" -o -path "./doc" \) -prune -o-name "*.txt" -print
<span style="background-color: initial;">user nouser</span>
和 <span style="background-color: initial;">group nogroup</span>
Finden Sie die Datei, deren Eigentümer root
im aktuellen Verzeichnis
> find . -user root
Gelöschte Dateien finden, die zum aktuellen Verzeichnis gehören:
> find . -nouser
Suchen Sie im aktuellen Verzeichnis nach Dateien, deren Gruppe root
ist:
> find . -group root
Suchen Sie gelöschte Dateien in der Gruppe, zu der das aktuelle Verzeichnis gehört:
> find . -nogroup
Dateien nach Zeit suchen
Finden Sie Dateien, die innerhalb von 7 Tagen geändert wurden:
> find . -mtime -7
Dateien finden, die vor 7 Tagen geändert wurden:
> find . mtime +7
Suchen Sie nach Dateien, die neuer oder älter als eine bestimmte Datei sind
Finden Sie Dateien mit Änderungszeiten, die neuer als Datei a.log, aber älter als Datei b.log sind:
> find . -newer a.log ! -newer b.log
Dateien finden, deren Änderungszeit neuer als eine.log-Datei ist:
> find . -newer a.log
Typoption
Suchen Sie alle Verzeichnisse im Verzeichnis /etc:
> find /etc -type d
Finden Sie alle symbolischen Linkdateien im Verzeichnis /etc:
> find /etc -type l
Größenparameter
Sie können Dateien nach ihrer Länge durchsuchen. Die hier angegebene Dateilänge kann in Blöcken oder Bytes gemessen werden. Die Ausdrucksform der in Bytes gemessenen Dateilänge ist N c; die in Blöcken gemessene Dateilänge kann nur durch Zahlen ausgedrückt werden. Bei der Suche nach Dateien nach Dateilänge wird im Allgemeinen diese Dateilänge in Bytes verwendet, um die Größe des Dateisystems anzuzeigen, da die Konvertierung mithilfe von Blöcken zur Messung einfacher ist.
Suchen Sie Dateien mit einer Dateilänge von mehr als 100 MB im aktuellen Verzeichnis:
> find . -size +100M
Tiefenoption verwenden:
在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。使用depth选项就可以使find命令这样做。这样做的一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。
先输出子内容,再输出上层目录内容,直到最顶层:
> find test -depth! -empty test/test1/test2/test3 test/test1/test2 test/test1 test
先输出顶层目录,再输出下面的各层子目录内容,直到最低层:
> find test ! -empty test test/test1 test/test1/test2 test/test1/test2/test3
mount选项:
在当前的文件系统中查找文件(不进入其他文件系统),可以使用find命令的mount选项。
从当前目录开始查找位于本文件系统中文件名以.txt结尾的文件:
> find . -mount -name "*.txt"-print
Das obige ist der detaillierte Inhalt vonOptionen und Parameter, die für den Befehl „find“ unter Linux verfügbar sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!