En aquest article aprendràs a trobar fitxers a Linux amb diferents eines.
Les eines de cerca de fitxers més populars a Linux
El
Cerca per nom de fitxer
“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 nomfitxer.txt
Per cercar un fitxer a la carpeta actual, substituïu
$ trobar. -name Documents.zip ./Documents.zip
Quan no sabeu el nom exacte del fitxer, utilitzeu l'expressió regular per buscar una coincidència. El símbol de l'asterisc (*) coincideix amb qualsevol conjunt de caràcters després de
$ find /home -name "Documents*" /home/eugene/Documents.zip /home/eugene/Documents /home/eugene/Telèfon/Documents
Cerca per data de modificació
Per cercar fitxers que s'han modificat avui, afegiu
$ find /home -mtime 0
Per exemple, busquem imatges que es van modificar fa 10 dies:
$ cerca imatges/ -mtime 10 Imatges/Captures de pantalla/Captura de pantalla del 2023-11-03 10-29-49.png
Cerca per tipus de fitxer
El
Cerca directoris: Per trobar tots els directoris dins d'una ruta especificada, utilitzeu l'opció -type d.
$ trobar /home -tipus d
Cerca fitxers normals: Per contra, per localitzar fitxers normals, utilitzeu l'opció -type f.
$ find /home -type f -name "*.txt"
Cerca d'enllaços simbòlics: Per cercar enllaços simbòlics, utilitzeu l'opció -type l.
$ find /home -type l -name "linkname"
Cerca extensions de fitxer específiques: Limiteu la cerca especificant extensions de fitxer.
$ find /home -type f -name "*.jpg"
Combinació de criteris
Podeu combinar diversos criteris per fer les vostres cerques més precises. Aquí
Cerca fitxers modificats amb una extensió específica: cerca els fitxers modificats en els darrers 7 dies amb l'extensió
$ find /var/logs -type f -name "*.log" -mtime -7
Cerca fitxers modificats entre un interval de dates: cerqueu fitxers modificats entre l'1 de novembre de 2023 i el 5 de novembre de 2023.
$ find /home -newermt 2023-11-01! -novament 2023-11-06
Addicional
Ignorant la distinció entre majúscules i minúscules: Si voleu que la cerca no distingeixi entre majúscules i minúscules, utilitzeu l'opció -iname.
$ find /home -iname "document*"
Limitació de la profunditat de cerca: Limiteu la profunditat de cerca a un nivell específic amb l'opció -maxdepth.
$ find /home -maxdepth 2 -name "*.txt"
Excloent directoris específics: Exclou determinats directoris de la cerca utilitzant -not o ! opció.
$ find /home -type f -name "*.txt" -not -path "/home/user/exclude/*"
Recordeu, dominar el
Cerca per contingut del fitxer utilitzant
Quan es tracta de trobar contingut específic dins dels fitxers, el
Cerca bàsica de contingut: Per cercar una cadena específica en un fitxer, utilitzeu la sintaxi següent
$ grep nom de fitxer "cerca_cadena".
Substituïu
Cerca en diversos fitxers: Si voleu cercar entre diversos fitxers, proporcioneu un comodí o un patró de fitxer específic
$ grep "patró" /camí/a/fitxers/*.txt
Cerca sense distinció entre majúscules i minúscules: Feu que la vostra cerca no distingeix entre majúscules i minúscules amb l'opció -i
$ grep -i nom de fitxer "patró".
Mostra números de línia: Si voleu saber els números de línia on es troba el patró, utilitzeu l'opció -n
$ grep -n nom de fitxer "patró".
Mostra només els noms dels fitxers: Per mostrar només els noms dels fitxers que contenen el patró, utilitzeu l'opció -l
$ grep -l "patró" /camí/a/fitxers/*.txt
Cerca recursivament: Si voleu cercar un patró a tots els fitxers d'un directori i els seus subdirectoris, utilitzeu l'opció -r
$ grep -r "patró" /camí/al/directori
Exclou fitxers o directoris: Exclou determinats fitxers o directoris de la cerca amb el
$ grep "patró" --exclude=*.log /camí/a/fitxers/*
Cerca paraules senceres: Utilitzeu l'opció -w per cercar paraules senceres, evitant coincidències parcials
$ grep -w nom de fitxer "paraula".
Avançat
Cerca coincidències invertides: Inverteix la coincidència per mostrar línies que no continguin el patró especificat mitjançant l'opció -v
$ grep -v nom de fitxer "patró".
Comptant partits: Si voleu saber quantes línies contenen el patró, utilitzeu l'opció -c:
$ grep -c nom de fitxer "patró".
Es mostra només el text coincident: Mostra només el text que coincideix amb el patró amb l'opció -o:
$ grep -o nom de fitxer "patró".
Cerca recursiva amb números de línia: Combina opcions per a una cerca completa, per exemple:
$ grep -r -n "patró" /camí/al/directori
Dominar el
Mètodes de cerca de fitxers alternatius
A més dels poderosos
Cerqueu fitxers mitjançant l'script Python
De vegades, un script Python personalitzat pot proporcionar més flexibilitat en la cerca de fitxers. Aquí os i fnmatch mòduls:
importar os
des de fnmatch importar fnmatch
def trobar_fitxers(directori, patró):
per root, dirs, fitxers en os.walk(directori):
per fitxer en fitxers:
si fnmatch(fitxer, patró):
imprimir(os.path.join(arrel, fitxer))
# Usage
trobar_fitxers('/camí/a/cerca', '*.txt')
Aquest script recorre el directori i els seus subdirectoris, fent coincidir els fitxers segons el patró especificat. Personalitza el trobar_fitxers funció que s'adapti als vostres criteris de cerca específics.
El
Ellocalitzar” 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.
Actualitzeu la base de dades de localització:
$ sudo actualitzatb
Cerca fitxers:
$ localitza filename.txt
Utilitzant el
Si tu
Trobeu una ubicació executable:
$ quin nom_executable
Utilitzant
El
Instal·leu fd:
$ sudo apt-get install fd-find # For Ubuntu/Debian $ sudo dnf install fd # For Fedora
Cerca fitxers:
$ fdfind Documents Telèfon/Documents Documents Documents.zip
Scripts personalitzats i àlies
Finalment, podeu crear scripts d'intèrpret d'ordres personalitzats o àlies per agilitzar el vostre procés de cerca de fitxers. Per exemple:
# Custom Alias alias findtxt='find /path/to/search -name "*.txt"' # Usage $ findtxt
Els scripts i els àlies personalitzats us permeten crear dreceres per a les vostres necessitats específiques de cerca de fitxers, millorant el vostre flux de treball.
Trobeu fitxers a Linux mitjançant l'script Bash
Crear i utilitzar un script bash ajuda a automatitzar les tasques repetitives de cerca de fitxers a Linux. A continuació es mostra un exemple d'un script Bash senzill que cerca fitxers segons un patró proporcionat:
#!/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
Deseu aquest script en un fitxer, per exemple, find_files.sh, i feu-lo executable amb l'ordre següent:
$ chmod x find_files.sh
Ara, podeu utilitzar l'script per cercar fitxers proporcionant el directori i el patró com a arguments:
$ ./find_files.sh /path/to/search "*.txt"
Aquest script comprova si es proporciona el nombre correcte d'arguments i si existeix el directori especificat. A continuació, utilitza l'ordre find per cercar fitxers segons el patró donat.
Bonificació: com cercar imatges a Linux
A Linux, hi ha diverses eines i mètodes per a la cerca d'imatges, cadascun oferint característiques i capacitats úniques. Aquí hi ha algunes opcions:
“find” Command with File Type Filtering:
L'estàndard
$ find /path/to/images -type f -name "*.jpg"
El
El
$ sudo apt-get install fd-find # For Ubuntu/Debian $ sudo dnf install fd # For Fedora
Cerca imatges amb una extensió específica:
$ fdfind -e jpg
El
El
$ localitza '*.jpg'
Recordeu actualitzar la base de dades de localització regularment per als canvis recents:
$ sudo actualitzatb
“grep” Command for Specific Image Names:
Si teniu una convenció de nom específica per als fitxers d'imatge, podeu utilitzar el
$ grep -r 'patró' /camí/a/imatges
Substituïu
“file” Command
El
$ fitxer /camí/a/imatges/*
Busqueu línies que incloguin
“feh” Image Viewer with Filelist
Si teniu una llista de fitxers d'imatge i voleu veure'ls, el
$ feh -f $(trobar /camí/a/imatges -tipus f -nom "*.jpg")
Això obre un visor d'imatges amb una llista de fitxers de tots els fitxers JPEG del directori especificat.
Ús de les eines de metadades d'imatge
Si les vostres imatges tenen metadades, podeu utilitzar eines com ara
$ exiftool -nom_fitxer -r /camí/a/imatges | grep 'terme_cerca'
Gestors de fitxers gràfics
Els gestors de fitxers gràfics com Nautilus, Dolphin o Thunar sovint ofereixen funcionalitats de cerca. Podeu navegar al directori i utilitzar la barra de cerca.
Organitzadors d'imatges basats en etiquetes
Eines com
Resum
En conclusió, dominar la cerca de fitxers a Linux implica comprendre i combinar diverses ordres, eines i tècniques de scripting. Tant si tu






