Un repàs a find: busca fitxers al teu distro Linux

Lupa

Cercar fitxers i directoris és relativament senzill amb els actuals cercadors integrats en els gestors d'arxius, però en ocasions pot ser que ens agradi més fer servir el terminal, o pot ser que no tinguem més remei que fer servir el terminal al no disposar d'un entorn gràfic. Per això, em semblava interessant donar un repàs a find, Una ordre molt conegut, però alguna cosa oblidat per l'ús massiu d'entorns gràfics.

Doncs bé, find, com el seu propi nom indica, no serveix per res més que per localitzar fitxers, Encara que té altres alternatives com locate, etc., ens centrarem en find, ja que és bastant poderós i ens permet moltes opcions interessants per a realitzar la nostra recerca amb èxit. Si el fem servir tal qual, sense cap opció, el que farà és llançar una llista similar a la que obtindríem amb un ls, de el contingut de tot un directori (i subdirectoris).

Però això no és el que ens interessa, el que volem és personalitzar i afinar una mica més la recerca perquè sigui més precisa i ens ajudi a trobar el que veritablement estem buscant. Per entendre com funciona, crec que no hi ha altra manera millor de mostrar exemples pràctics de find:

  • Per cercar per nom, Podem usar l'opció o criteri de cerca «-name». Per exemple, el primer exemple busca fitxers / diectorios amb un nom que comença per «musi», el segon que acaba en «eon» i l'últim que contingui la paraula «fundar» dins el directori root /:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • Hi ha una opció anomenada -type, que pot servir-nos de filtre i es pot usar al costat de -name. En aquest cas serveix per especificar el tipus de fitxer a cercar. Amb B busquem fitxers especials en mode bloc, amb C fitxers especials en mode caràcter, D per directoris, F per a fitxers ordinaris, L per vincles simbòlics, P per canonada amb nom i S per Socket o connexió de xarxa. Per exemple, imagina que vols buscar un directori que contingui «hola» a el final del seu nom i en el dirctorio Home / usuari:
find /Home/usuario -name "*hola" -type D

  • també podem buscar per usuari o per grup a què pertanyi un directori o fitxers de sistema. Per això, podem usar els criteris -user i -group. Imagina ara que vols buscar un fitxer que contingui «.mp3» de l'usuari «Rosa» i a el grup «Gats» en el directori Descàrregues:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • Size ens pot ajudar a buscar per mida. En aquest cas tenim diferents opcions per aplicar. Una B indicaria el bloc, si no s'indica la mida, per defecte serà 512 bytes. C per caràcters ASCII d'1 byte, W per paraules (antigues) de 2 bytes, i K per a kilobytes o 1024 bytes. Per exemple, si volem buscar a / un fitxer de 2560 bytes (5bloques · 512), un altre de 10 caràcters ASCII, un altre 100KBs, un menys de 5MB i un altre de més de 30KB:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

Per descomptat, mida -size seria combinable amb tots els criteris de cerca anteriors i posteriors, així obtindrem resultats encara més precisos ...

  • Fins i tot es poden fer cerques per criteris temporals. Amb -atime es pot buscar per la data de d'l'última entrada. -mtime per data de modificació de l'contingut i -ctime per data de l'última modificació de l'inodo. Per exemple, volem buscar a / home, un directori anomenat «hola», pertanyent a l'usuari «Zaca» i que hagi estat modificat fa menys de 3 dies:
find /Home -name "hola" -user Zaca -mtime -3

  • Existeixen més criteris de cerca com -perm per efectuar recerques per autoritzacions d'accés o permisos, -links per buscar hard links, -inum per nombre d'inode. Anem amb el nostre últim exemple, en aquest cas, buscarem un directori en el directori actual els permisos siguin totals per a l'usuari propietari i grup, i execució per a la resta:
find -type d -perm 771

De vegades desconeixem el potencial de l'terminal i fem servir altres eines que potser no permetin la flexibilitat del que ja hi ha innat. Així que espero haver ajudat en alguna cosa amb aquest humil article. Diviértanse i deixin els seus comentaris...


Un comentari, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   noms va dir

    No em diverteix, però m'ha ajudat una mica