Com trobar un fitxer per nom a Linux

Trobeu els vostres fitxers sense esforç des de la línia d'ordres a Linux

Els usuaris solen intentar trobar un fitxer mitjançant la GUI. Tanmateix, de vegades es converteix en una feina molt tediosa trobar un fitxer individual a la gran pila de fitxers del vostre sistema. Trobar-lo de manera convencional pot ser una tasca que requereix molt de temps. Per facilitar aquesta tasca, Linux ofereix determinades ordres per fer aquesta feina per vosaltres.

trobar és una ordre popular utilitzada als sistemes Linux que us pot ajudar a cercar diversos fitxers en funció dels seus noms, tipus, extensió, permisos, propietari, etc.

En aquest tutorial, ens centrarem a trobar els fitxers pel nom. Veurem els diferents arguments que es poden utilitzar amb el trobar comandament. També aprendrem sobre el localitzar comanda que també és una manera més ràpida de cercar els fitxers pel nom.

Sintaxi per trobar comandament

Utilitzant el trobar comandar d'una manera adequada pot facilitar la vostra tasca. Si enteneu bé la sintaxi general d'aquesta ordre, podreu trobar fitxers d'un tipus o extensió particular o cercar-los pel nom.

La sintaxi general per a trobar l'ordre és el següent.

trobar [camin_cerca] [expressió] [opcions] [trobar_què]

He intentat simplificar la sintaxi de la trobar ordre per entendre millor l'ordre.

Vegem cada atribut de la sintaxi per fer-nos una idea de la importància de cadascun d'ells.

Cerca_Camí: Aquí ve el camí on especifiquem el camí des d'on volem que el sistema comenci a cercar el fitxer. En resum, s'especifica el directori inicial per iniciar la cerca.

Expressió: podeu especificar els patrons de cerca per al fitxer concret que esteu cercant.

Opcions: podeu utilitzar les opcions disponibles utilitzades amb el trobar comanda en aquest espai.

trobar què: En aquest atribut, introduïu el nom o part del nom del fitxer a cercar.

Il·lustrem aquesta comanda amb un exemple.

cerca /home/gaurav/workspace -name "source.c"

En aquesta comanda, estic fent servir el trobar comanda per cercar un fitxer "source.c". He demanat específicament que cerqui a la ruta '/home/gaurav/workspace'. Utilitzant el -nom L'opció em permet cercar el fitxer especificat per 'source.c'.

Aquesta és la demostració més senzilla d'utilitzar trobar comandament.

Cerca de fitxers al directori actual

Utilitzant el trobar L'ordre en la seva forma més senzilla és cercar els vostres fitxers al vostre directori de treball actual.

trobar.

Aquesta ordre mostrarà tots els fitxers del vostre directori de treball actual. Aquí el '.' significa el 'directori de treball actual'. A continuació es mostra la sortida del meu directori de treball actual. Tots els fitxers presents en aquest directori es mostren sense cap filtre

Sortida:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

Per cercar un fitxer el nom aproximat del qual es conegui, utilitzeu trobar comanda com es mostra a continuació.

trobar. -nom [cadena_del_nom_fitxer\*]

Exemple:

trobar. -nom context\*

Aquesta ordre cerca els fitxers que contenen la cadena "context".

Sortida:

./context_log.policy ./context.xml ./context_preview.c

S'enumeren tots els fitxers del directori actual que conté la cadena "context".

Ara el problema sorgeix amb aquesta ordre quan intenteu prendre la llibertat de la distinció entre majúscules i minúscules mentre escriviu el nom del fitxer o la cadena aproximada.

Linux és bastant prudent amb la distinció entre majúscules i minúscules i, per tant, hi ha una bona probabilitat que la cerca falli. No obtindré sortida per a l'ordre find si faig servir la cadena com a "CONTEXT" en lloc de "context". Fins i tot si una sola lletra del nom del fitxer es troba en un cas diferent al del nom del fitxer original, la cerca fallarà.

Però no cal que us preocupeu. Simplement podeu substituir el -nom opció amb el -iname. Això us permet cercar els fitxers independentment dels casos en què es trobi el seu nom. Només cal que feu aquest canvi senzill a la vostra comanda i anirà bé.

trobar. -iname CONT\*

La sortida serà la mateixa, fins i tot si he utilitzat la cadena en majúscules.

./context_log.policy ./context.xml ./context_preview.c

Cerca de fitxers en diferents directoris

Podeu cercar fàcilment els fitxers a qualsevol directori del sistema Linux, independentment del directori en què esteu treballant actualment.

cerca [camí_directori] -iname [nom_fitxer_específic]

Exemple:

trobar /home/gaurav/tomcat -iname ath.html

Aquí, he cercat un fitxer específic "ath.html" i no els fitxers similars a aquesta cadena. Per tant, la sortida serà només el fitxer específic tal com s'ha esmentat anteriorment.

/home/gaurav/tomcat/ath.html

Ara, suposem que no coneixem el nom complet del fitxer sinó només la cadena d'aquest nom de fitxer. Aleshores podem cercar els fitxers de la següent manera.

trobar /home/gaurav/tomcat -iname ath\*

Aquesta ordre cercarà tots els fitxers que inclouen la cadena "ath" al principi. He utilitzat el -iname opció aquí, així que no m'he de preocupar per la distinció entre majúscules i minúscules.

Sortida:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

També podeu utilitzar l'ordre per cercar diversos fitxers que acaben amb una extensió similar al seu nom.

Exemple:

cerca /home/gaurav/tomcat -iname "*.c"

L'ordre cercarà tots els fitxers del directori especificat que conté .c com a extensió al seu nom de fitxer.

Sortida:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Vam aprendre sobre el trobar comanda per cercar els fitxers especificats pel nom del fitxer. Ara, anem a explorar una comanda més que és més ràpida que la convencional trobar comandament.

localitzar vista general de la comanda

Hi ha una ordre més per cercar els fitxers del vostre sistema que és més ràpida que la trobar comandament. És el localitzar comandament. Aquesta ordre no ve preinstal·lada a les distribucions de Linux. Podeu seguir els passos següents per descarregar i instal·lar el localitzar paquet d'ordres al vostre sistema.

Per a sistemes Ubuntu i Debian, utilitza:

sudo apt update sudo apt install mlocate

Per a sistemes Cent Os i Fedora, utilitza:

sudo yum install mlocate

L'ordre locate cerca el fitxer segons el patró donat a l'entrada. localitzar utilitza el fitxer de base de dades per cercar els fitxers, aquest fitxer de base de dades el genera actualitzatb comandament.

sudo actualitzatb

El temps necessari per actualitzar aquest fitxer de base de dades pot variar d'un usuari a un altre segons els fitxers del vostre sistema.

Utilitzant el localitzar comandament

Podeu utilitzar el localitzar comanda de la següent manera. Assegureu-vos d'actualitzar el fitxer de la base de dades mitjançant l'ordre sudo actualitzatb.

Sintaxi:

localitza [nom_fitxer_o_part_del_nom_fitxer]

Aquesta ordre iniciarà la cerca des del directori arrel. Tornarà la llista de tots els fitxers del sistema que conté el nom del fitxer o una part del nom del fitxer tal com s'especifica a l'ordre.

Exemple:

localitzar còpia.c

Sortida:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpy -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

La línia ressaltada mostra que es troba el fitxer exacte 'copy.c'. Juntament amb aquest resultat, també es mostren alguns altres fitxers que conté "copy.c" com a part del seu nom de fitxer.

Per tal d'evitar el desordre d'altres fitxers no desitjats i només trobar el fitxer desitjat, podeu utilitzar l'ordre de localització de la següent manera.

localitza -b '\filename'

Exemple:

localitza -b '\copy.c'

Sortida:

/home/gaurav/Downloads/git-2.23.0/copy.c

El fitxer específic esmentat als criteris de cerca es mostra juntament amb la ruta del directori on es troba.

Utilitzant el localitzar L'ordre pot semblar una mica complicat, però és un mètode més ràpid per cercar fitxers quan no coneixeu la ubicació exacta d'aquest fitxer. La recuperació dels fitxers es fa molt ràpida quan actualitzeu el fitxer de base de dades que utilitza l'ordre locate.

Conclusió

En aquest breu tutorial, vam aprendre sobre dues ordres importants, trobar i localitzar. Ara podeu cercar fàcilment fitxers al vostre sistema sense perdre's a la pila d'arxius. L'ús d'aquestes ordres segurament serà un estalvi de temps i eficaç per a la vostra tasca de cerca de fitxers.