In diesem Artikel erfahren Sie, wie Sie mit verschiedenen Tools Dateien unter Linux finden.
Die beliebtesten Tools zur Dateisuche unter Linux
Der
Suche nach Dateinamen
“Find” is one of the most popular tools to search files in Linux. When you know the file name you can search for it using command below. Replace “/home” with a folder to search through and “filename.txt” with the file name.
$ find /home -name Dateiname.txt
Durchsuchen des aktuellen Ordners nach einer Dateiersetzung
$find . -name Dokumente.zip ./Dokumente.zip
Wenn Sie den genauen Dateinamen nicht kennen, verwenden Sie den regulären Ausdruck, um nach einer Übereinstimmung zu suchen. Das Sternchen (*)-Symbol entspricht jedem Zeichensatz nach dem
$ find /home -name "Dokumente*" /home/eugene/Documents.zip /home/eugene/Dokumente /home/eugene/Telefon/Dokumente
Suche nach Änderungsdatum
Um nach Dateien zu suchen, die heute geändert wurden, fügen Sie hinzu
$ find /home -mtime 0
Suchen wir zum Beispiel nach Bildern, die vor 10 Tagen geändert wurden:
$ find Pictures/ -mtime 10 Bilder/Screenshots/Screenshot vom 03.11.2023 29.10.49.png
Suche nach Dateityp
Der
Nach Verzeichnissen suchen: Um alle Verzeichnisse innerhalb eines angegebenen Pfads zu finden, verwenden Sie die Option -type d.
$ find /home -type d
Nach regulären Dateien suchen: Um umgekehrt nach regulären Dateien zu suchen, verwenden Sie die Option -type f.
$ find /home -type f -name "*.txt"
Suche nach symbolischen Links: Um nach symbolischen Links zu suchen, verwenden Sie die Option -type l.
$ find /home -type l -name „Linkname“
Nach bestimmten Dateierweiterungen suchen: Grenzen Sie Ihre Suche ein, indem Sie Dateierweiterungen angeben.
$ find /home -type f -name "*.jpg"
Kriterien kombinieren
Sie können mehrere Kriterien kombinieren, um Ihre Suche präziser zu gestalten. Hier
Suchen Sie nach geänderten Dateien mit einer bestimmten Erweiterung: Dateien finden, die in den letzten 7 Tagen mit der Erweiterung geändert wurden
$ find /var/logs -type f -name "*.log" -mtime -7
Suchen Sie nach Dateien, die innerhalb eines Datumsbereichs geändert wurden: Suchen Sie nach Dateien, die zwischen dem 1. November 2023 und dem 5. November 2023 geändert wurden.
$ find /home -newermt 2023-11-01 ! -neuer am 06.11.2023
Zusätzlich
Groß- und Kleinschreibung ignorieren: Wenn Sie möchten, dass bei der Suche die Groß-/Kleinschreibung nicht beachtet wird, verwenden Sie die Option -iname.
$ find /home -iname „Dokument*“
Einschränkung der Suchtiefe: Beschränken Sie die Suchtiefe mit der Option -max Depth auf eine bestimmte Ebene.
$ find /home -max Depth 2 -name "*.txt"
Ausgenommen bestimmte Verzeichnisse: Schließen Sie bestimmte Verzeichnisse mit -not oder ! von Ihrer Suche aus. Option.
$ find /home -type f -name "*.txt" -not -path "/home/user/exclude/*"
Denken Sie daran, das zu meistern
Suche nach Dateiinhalt mit
Wenn es darum geht, bestimmte Inhalte in Dateien zu finden, ist die
Grundlegende Inhaltssuche: Um nach einer bestimmten Zeichenfolge in einer Datei zu suchen, verwenden Sie die folgende Syntax
$ grep „search_string“ Dateiname
Ersetzen
In mehreren Dateien suchen: Wenn Sie mehrere Dateien durchsuchen möchten, geben Sie einen Platzhalter oder ein bestimmtes Dateimuster an
$ grep "pattern" /path/to/files/*.txt
Suche ohne Berücksichtigung der Groß-/Kleinschreibung: Machen Sie Ihre Suche mit der Option -i unabhängig von der Groß-/Kleinschreibung
$ grep -i „Muster“-Dateiname
Zeilennummern anzeigen: Wenn Sie die Zeilennummern wissen möchten, in denen das Muster gefunden wird, verwenden Sie die Option -n
$ grep -n „Muster“-Dateiname
Nur Dateinamen anzeigen: Um nur die Namen der Dateien anzuzeigen, die das Muster enthalten, verwenden Sie die Option -l
$ grep -l "pattern" /path/to/files/*.txt
Rekursiv suchen: Wenn Sie in allen Dateien innerhalb eines Verzeichnisses und seiner Unterverzeichnisse nach einem Muster suchen möchten, verwenden Sie die Option -r
$ grep -r "Muster" /Pfad/zum/Verzeichnis
Dateien oder Verzeichnisse ausschließen: Schließen Sie mit dem bestimmte Dateien oder Verzeichnisse von Ihrer Suche aus
$ grep "pattern" --exclude=*.log /path/to/files/*
Suche nach ganzen Wörtern: Verwenden Sie die Option -w, um nach ganzen Wörtern zu suchen und Teilübereinstimmungen zu verhindern
$ grep -w „Wort“-Dateiname
Fortschrittlich
Suche nach invertierten Übereinstimmungen: Kehren Sie die Übereinstimmung um, um Zeilen anzuzeigen, die das angegebene Muster nicht enthalten, indem Sie die Option -v verwenden
$ grep -v „Muster“ Dateiname
Übereinstimmungen zählen: Wenn Sie wissen möchten, wie viele Zeilen das Muster enthalten, verwenden Sie die Option -c:
$ grep -c „Muster“ Dateiname
Nur passender Text wird angezeigt: Nur den Text anzeigen, der dem Muster mit der Option -o entspricht:
$ grep -o "Muster" Dateiname
Rekursive Suche mit Zeilennummern: Kombinieren Sie Optionen für eine umfassende Suche, zum Beispiel:
$ grep -r -n "Muster" /Pfad/zum/Verzeichnis
Beherrschung der
Alternative Methoden zur Dateisuche
Zusätzlich zu den Mächtigen
Suchen Sie Dateien mit dem Python-Skript
Manchmal kann ein benutzerdefiniertes Python-Skript mehr Flexibilität bei der Dateisuche bieten. Hier os Und fnmatch Module:
Import os
aus fnmatch Import fnmatch
def find_files(Verzeichnis, Muster):
für Root, Verzeichnisse, Dateien In os.walk(Verzeichnis):
für Datei In Dateien:
Wenn fnmatch(Datei, Muster):
drucken(os.path.join(root, file))
# Usage
find_files('/pfad/zu/suche', '*.txt')
Dieses Skript durchläuft das Verzeichnis und seine Unterverzeichnisse und sucht nach Dateien basierend auf dem angegebenen Muster. Passen Sie die an find_files Passen Sie die Funktion Ihren spezifischen Suchkriterien an.
Der
Derlokalisieren” command is another efficient way to find files on a Linux system. It uses a pre-built index, making searches faster compared to the “find” command. However, keep in mind that the index needs regular updates to include recent changes.
Aktualisieren Sie die Locate-Datenbank:
$ sudo aktualisiertb
Nach Dateien suchen:
$ Dateiname.txt suchen
Mit der
Wenn du
Finden Sie den Speicherort der ausführbaren Datei:
$ welcher Name der ausführbaren Datei
Benutzen
Der
fd installieren:
$ sudo apt-get install fd-find # For Ubuntu/Debian $ sudo dnf install fd # For Fedora
Nach Dateien suchen:
$ fdfind Dokumente Telefon/Dokumente Dokumente Dokumente.zip
Benutzerdefinierte Skripte und Alias
Schließlich können Sie benutzerdefinierte Shell-Skripte oder Aliase erstellen, um Ihren Dateisuchprozess zu optimieren. Zum Beispiel:
# Custom Alias alias findtxt='find /path/to/search -name "*.txt"' # Usage $ findtxt
Mit benutzerdefinierten Skripten und Aliasen können Sie Verknüpfungen für Ihre spezifischen Dateisuchanforderungen erstellen und so Ihren Arbeitsablauf verbessern.
Suchen Sie Dateien unter Linux mithilfe des Bash-Skripts
Durch das Erstellen und Verwenden eines Bash-Skripts können sich wiederholende Dateisuchaufgaben unter Linux automatisiert werden. Nachfolgend finden Sie ein Beispiel für ein einfaches Bash-Skript, das anhand eines bereitgestellten Musters nach Dateien sucht:
#!/bin/bash # Bash script to find files based on a pattern if [ $# -ne 2 ]; then echo "Usage: $0 <directory> <pattern>" exit 1 fi directory=$1 pattern=$2 # Check if the directory exists if [ ! -d "$directory" ]; then echo "Error: Directory $directory not found." exit 1 fi # Use find command to search for files find "$directory" -name "$pattern" -print
Speichern Sie dieses Skript in einer Datei, zum Beispiel find_files.sh, und machen Sie es mit dem folgenden Befehl ausführbar:
$ chmod x find_files.sh
Jetzt können Sie mit dem Skript nach Dateien suchen, indem Sie das Verzeichnis und das Muster als Argumente angeben:
$ ./find_files.sh /path/to/search "*.txt"
Dieses Skript prüft, ob die richtige Anzahl an Argumenten angegeben wird und ob das angegebene Verzeichnis existiert. Anschließend wird mit dem Befehl „find“ nach Dateien basierend auf dem angegebenen Muster gesucht.
Bonus: So durchsuchen Sie Bilder unter Linux
Unter Linux gibt es mehrere Tools und Methoden zur Bildsuche, die jeweils einzigartige Funktionen und Fähigkeiten bieten. Hier sind einige Optionen:
“find” Command with File Type Filtering:
Der Standard
$ find /path/to/images -type f -name "*.jpg"
Der
Der
$ sudo apt-get install fd-find # For Ubuntu/Debian $ sudo dnf install fd # For Fedora
Suchen Sie nach Bildern mit einer bestimmten Erweiterung:
$ fdfind -e jpg
Der
Der
$ lokalisieren '*.jpg'
Denken Sie daran, die Ortungsdatenbank regelmäßig auf aktuelle Änderungen zu aktualisieren:
$ sudo aktualisiertb
“grep” Command for Specific Image Names:
Wenn Sie eine bestimmte Namenskonvention für Ihre Bilddateien haben, können Sie diese verwenden
$ grep -r 'pattern' /path/to/images
Ersetzen
“file” Command
Der
$ Datei /Pfad/zu/Bilder/*
Suchen Sie nach Zeilen, die enthalten
“feh” Image Viewer with Filelist
Wenn Sie eine Liste mit Bilddateien haben und diese anzeigen möchten, können Sie die
$ feh -f $(find /path/to/images -type f -name "*.jpg")
Dadurch wird ein Bildbetrachter mit einer Dateiliste aller JPEG-Dateien im angegebenen Verzeichnis geöffnet.
Verwenden von Bildmetadaten-Tools
Wenn Ihre Bilder Metadaten haben, können Sie Tools wie verwenden
$ exiftool -filename -r /path/to/images | grep 'search_term'
Grafische Dateimanager
Grafische Dateimanager wie Nautilus, Dolphin oder Thunar bieten häufig Suchfunktionen. Sie können zum Verzeichnis navigieren und die Suchleiste verwenden.
Tag-basierte Bildorganisatoren
Werkzeuge wie
Zusammenfassung
Zusammenfassend lässt sich sagen, dass das Beherrschen der Dateisuche unter Linux das Verstehen und Kombinieren verschiedener Befehle, Tools und Skripttechniken erfordert. Ob sie






