Com trobar fitxers i carpetes a Linux mitjançant la línia d’ordres

La majoria de la gent utilitza un gestor de fitxers gràfic per trobar fitxers a Linux, com Nautilus a Gnome, Dolphin a KDE i Thunar a Xfce. No obstant això, hi ha diverses maneres d'utilitzar la línia d'ordres per trobar fitxers a Linux, independentment del gestor d'escriptori que utilitzeu.

Mitjançant l'ordre Cerca

L'ordre "find" us permet cercar fitxers per als quals coneixeu els noms aproximats. La forma més senzilla de l'ordre cerca fitxers al directori actual i recursivament a través dels seus subdirectoris que coincideixen amb els criteris de cerca proporcionats. Podeu cercar fitxers per nom, propietari, grup, tipus, permisos, data i altres criteris.

Si escriviu l'ordre següent a la sol·licitud, s'enumeren tots els fitxers que es troben al directori actual.

trobar.

El punt després de "trobar" indica el directori actual.

Per trobar fitxers que coincideixin amb un patró específic, utilitzeu el fitxer -nom argument. Podeu utilitzar metacaràcters de nom de fitxer (com ara * ), però hauríeu de posar un caràcter d'escapament ( \ ) davant de cadascun d’ells o bé adjunteu-los entre cometes.

Per exemple, si volem trobar tots els fitxers que comencen per "pro" al directori Documents, utilitzaríem el fitxer cd Documents / per canviar al directori Documents i, a continuació, escriviu l'ordre següent:

trobar. -name pro \ *

Es mostren tots els fitxers del directori actual que comencen per "pro".

NOTA: per defecte, l'ordre find distingeix entre majúscules i minúscules. Si voleu que la cerca d’una paraula o frase no distingeixi entre majúscules i minúscules, utilitzeu el fitxer -nom opció amb l’ordre find. No és la versió insensible a majúscules i minúscules -nom comandament.

Si trobar no localitza cap fitxer que coincideixi amb els vostres criteris, no produeix cap sortida.

L'ordre find té moltes opcions disponibles per refinar la cerca. Per obtenir més informació sobre l'ordre find, executeu home trobar en una finestra de terminal i premeu Retorn.

Mitjançant l'ordre Localitza

L'ordre Finder és més ràpid que l'ordre Find, ja que utilitza una base de dades prèviament creada, mentre que l'ordre Find cerca al sistema real a través de tots els directoris i fitxers reals. L'ordre localitza torna una llista de tots els noms de camins que contenen el grup de caràcters especificat.

La base de dades s'actualitza periòdicament des de cron, però també podeu actualitzar-la vosaltres mateixos en qualsevol moment per obtenir resultats actualitzats. Per fer-ho, escriviu l'ordre següent a l'indicador:

sudo actualitzatb

Introduïu la vostra contrasenya quan se us demani.

La forma bàsica de l'ordre localitza troba tots els fitxers del sistema de fitxers, començant per l'arrel, que contenen tots o alguns dels criteris de cerca.

localitza les meves dades

Per exemple, l'ordre anterior va trobar dos fitxers que contenien "mydata" i un fitxer que contenia "dades".

Si voleu trobar tots els fitxers o directoris que continguin exactament i només els vostres criteris de cerca, utilitzeu el fitxer -b opció amb l’ordre localitzar, de la següent manera.

localitza -b ‘\ mydata’

La barra invertida de l'ordre anterior és un caràcter globus, que proporciona una manera d'expandir els caràcters comodins en un nom de fitxer no específic en un conjunt de noms de fitxer específics. Un comodí és un símbol que es pot substituir per un o més caràcters quan s’avalua l’expressió. Els símbols amb més comoditat són el signe d’interrogació ( ? ), que significa un sol caràcter i l'asterisc ( * ), que significa una cadena contigua de caràcters. A l'exemple anterior, la barra invertida desactiva la substitució implícita de "mydata" per "* mydata *", de manera que només obtindreu resultats que continguin "mydata".

L'ordre mlocate és una nova implementació de localitzar. Indica tot el sistema de fitxers, però els resultats de la cerca només inclouen fitxers als quals té accés l’usuari actual. Quan actualitzeu la base de dades mlocate, manté la informació de marca de temps a la base de dades. Això permet a mlocate saber si el contingut d’un directori ha canviat sense tornar-lo a llegir i fa que les actualitzacions de la base de dades siguin més ràpides i menys exigents al disc dur.

Quan instal·leu mlocate, el fitxer binari / usr / bin / localitza canvia per assenyalar mlocate. Per instal·lar mlocate, si encara no està inclòs a la vostra distribució de Linux, escriviu l’ordre següent a la sol·licitud.

sudo apt-get install mlocate

NOTA: Més endavant en aquest article us mostrarem una ordre que us permetrà determinar on es troba l'executable d'una ordre, si existeix.

L'ordre mlocate no utilitza el mateix fitxer de base de dades que l'ordre de localització estàndard. Per tant, és possible que vulgueu crear la base de dades manualment escrivint l'ordre següent a l'indicador:

sudo /etc/cron.daily/mlocate

L'ordre mlocate no funcionarà fins que no es crea la base de dades manualment o quan s'executa l'script des de cron.

Per obtenir més informació sobre l'ordre local o l'ordre mlocate, escriviu home localitzar o bé home mlocate en una finestra de terminal i premeu Retorn. Es mostra la mateixa pantalla d'ajuda per a les dues ordres.

Utilitzant l’ordre Which

L'ordre "which" retorna la ruta absoluta de l'executable que es crida quan s'emet una ordre. Això és útil per trobar la ubicació d'un executable per crear una drecera al programa a l'escriptori, en un tauler o en un altre lloc del gestor d'escriptori. Per exemple, escrivint l'ordre quin firefox mostra els resultats que es mostren a la imatge següent.

Per defecte, l'ordre which només mostra el primer executable coincident. Per mostrar tots els executables coincidents, utilitzeu el fitxer -a opció amb l'ordre:

que -un firefox

Podeu cercar diversos executables alhora, tal com es mostra a la imatge següent. Només es mostren els camins d'accés als executables trobats. A l'exemple següent, només s'ha trobat l'executable "ps".

NOTA: l’ordre which només cerca la variable PATH de l’usuari actual. Si cerqueu un executable que només estigui disponible per a l'usuari root com a usuari normal, no es mostraran resultats.

Per obtenir més informació sobre l'ordre which, escriviu "man which" (sense cometes) a l'indicador d'ordres de la finestra del terminal i premeu Retorn.

Utilitzant l’ordre Whereis

L'ordre whereis s'utilitza per esbrinar on es troben els fitxers binari, font i pàgina de manual d'una ordre. Per exemple, escrivint on és Firefox a l'indicador es mostren els resultats tal com es mostra a la imatge següent.

Si només voleu que es mostri el camí cap a l'executable i no els camins cap a la pàgina d'origen i la pàgina man (ual), utilitzeu el -b opció. Per exemple, l'ordre whereis -b firefox només es mostrarà / usr / bin / firefox com a resultat. Això és útil, ja que és probable que cerqueu el fitxer executable d’un programa amb més freqüència del que cercareu a les pàgines d’origen i de manual d’aquest programa. També podeu cercar només els fitxers font ( -s ) o només per a les pàgines de manual ( -m ).

Per obtenir més informació sobre l’ordre whereis, escriviu home on és en una finestra de terminal i premeu Retorn.

Comprensió de la diferència entre l'ordre Whereis i l'ordre Quin

L'ordre whereis us mostra la ubicació de les pàgines binàries, origen i man d'una ordre, mentre que l'ordre which només us mostra la ubicació del binari per a l'ordre.

L'ordre whereis cerca a través d'una llista de directoris específics els fitxers binaris, font i man, mentre que l'ordre which cerca els directoris llistats a la variable d'entorn PATH de l'usuari actual. Per a l'ordre whereis, la llista de directoris específics es pot trobar a la secció ARXIUS de les pàgines manuals de l'ordre.

Quan es tracta de resultats mostrats per defecte, l'ordre whereis mostra tot el que troba, mentre que l'ordre which només mostra el primer executable que troba. Podeu canviar-ho mitjançant el fitxer -a opció, discutida anteriorment, per a la comanda which.

Com que l'ordre whereis només utilitza camins codificats de manera dura a l'ordre, potser no sempre trobareu el que busqueu. Si cerqueu un programa que creieu que podria instal·lar-se en un directori que no figura a les pàgines manuals de l’ordre whereis, és possible que vulgueu utilitzar l’ordre which amb el -a opció per trobar totes les ocurrències de l'ordre a tot el sistema.