find command unix
Introducció a la cerca d'ordres a Unix: cerqueu fitxers i directoris amb l'ordre Unix Find File
L'ordre Unix find és una potent utilitat per buscar fitxers o directoris.
La cerca es pot basar en diferents criteris i els fitxers coincidents es poden executar mitjançant accions definides. Aquesta ordre descendeix recursivament la jerarquia de fitxers per a cada camí d'accés especificat.
=> Feu clic aquí per veure la sèrie completa de tutorial Unix
Què aprendreu:
com crear una matriu de tipus genèric a Java
Cerqueu Ordre a Unix
Sintaxi:
find (options) (paths) (expression)
Les opcions d'aquesta ordre s'utilitzen per especificar com s'han de tractar els enllaços simbòlics. A continuació, es fa el conjunt de camins a cercar. Si no s'especifica cap camí d'accés, s'utilitzarà el directori actual. L'expressió donada s'executa a cadascun dels fitxers que es troben als camins.
L’expressió consisteix en una sèrie d’opcions, proves i accions, que retornen cadascun un booleà. L’expressió s’avalua d’esquerra a dreta per a cada fitxer del camí fins que es determina el resultat, és a dir, se sap que el resultat és cert o fals.
- Les expressions d’opcions s’utilitzen per restringir l’operació de cerca i sempre tornen certes.
-
- -depth: processa el contingut del directori abans de processar el directori mateix.
- -maxdepth: els nivells màxims per sota dels camins proporcionats per baixar durant una coincidència.
- -mindepth: els nivells mínims més enllà dels camins proporcionats per descendir abans de coincidir.
-
- Les expressions de prova s’utilitzen per avaluar propietats específiques dels fitxers i retornar cert o fals en conseqüència. (Sempre que s'utilitzi un recompte 'n': sense cap prefix, la coincidència és per al valor exacte de n; amb un prefix '+', la coincidència és per a valors superiors a n; i amb un prefix '-', la coincidència és per a valors inferiors a n.)
-
- -time n: Retorna true si es va accedir al fitxer fa n dies.
- -ctime n: Retorna cert si l'estat del fitxer s'ha canviat fa n dies.
- -mtime n: Retorna cert si el contingut del fitxer es va modificar fa n dies.
- -name pattern: Retorna true si el nom del fitxer coincideix amb el patró de shell proporcionat.
- -iname pattern: Retorna true si el nom del fitxer coincideix amb el patró de shell proporcionat. La coincidència aquí no distingeix entre majúscules i minúscules.
- -path pattern: Retorna true si el nom del fitxer amb el camí coincideix amb el patró de l'intèrpret d'ordres.
- -regex pattern: Retorna cert si el nom del fitxer amb el camí coincideix amb l'expressió regular.
- -size n: Retorna true si la mida del fitxer és de n blocs.
- -perm - mode: Retorna cert si tots els bits de permís per al mode estan definits per al fitxer.
- -tip c: Retorna cert si el fitxer és del tipus c (per exemple, ‘b’ per al fitxer de dispositiu de bloc, ‘d’ per al directori, etc.).
- -username: Retorna true si el fitxer és propietat del nom d’usuari ‘name’.
-
- Les expressions d’acció s’utilitzen per definir accions que tenen efectes secundaris i que poden tornar certes o falses. Si no s'especifiquen accions, l'acció '-print' es realitzarà per a tots els fitxers coincidents.
-
- -elimina: elimineu el fitxer coincident i torneu true si és correcte.
- ordre -exec: executeu l'ordre donada per a cada fitxer coincident i torneu true si el valor de retorn és 0.
- ordre -ok: com l'expressió 'exec', però primer es confirma amb l'usuari.
- -ls: llista el fitxer que coincideix amb el format 'ls -dils'.
- -print: imprimeix el nom del fitxer coincident.
- -prune: si el fitxer és un directori, no baixeu-hi i torneu true.
-
- L'expressió s'avalua d'esquerra a dreta i es combina mitjançant els següents operadors.
-
- ( expr ) : S’utilitza per forçar la precedència.
- ! expr: s'utilitza per negar una expressió.
- expr1 -a expr2: el resultat és un ‘i’ de les dues expressions. L'expr2 només s'avalua; l'expr1 és cert.
- expr1 expr2: l’operador ‘i’ està implícit en aquest cas.
- expr1 -o expr2: el resultat és un 'o' de les dues expressions. L'expr2 només s'avalua; l'expr1 és fals.
-
Exemples
Enumereu tots els fitxers que es troben al directori actual i la seva jerarquia
$ find.
Enumereu tots els fitxers trobats a la jerarquia actual i tota la jerarquia que hi ha a sota / home / xyz
$ find. /home/XYZ
Cerqueu un fitxer amb el nom abc al directori actual i la seva jerarquia
$ find ./ -name abc
Cerqueu un directori amb el nom xyz al directori actual i la seva jerarquia
$ find ./ -type d -name xyz
Cerqueu un fitxer amb el nom abc.txt a sota del directori actual i demaneu a l'usuari que suprimeixi cada coincidència.
Tingueu en compte que la cadena '{}' se substitueix pel nom del fitxer real mentre s'executa i que el símbol ';' La cadena s'utilitza per finalitzar l'ordre que s'executarà.
$ find ./ -name abc.txt -exec rm -i {} ;
Cerqueu fitxers modificats els darrers 7 dies a sota del directori actual
$ find ./ -mtime -7
Cerqueu fitxers que tinguin tots els permisos establerts a la jerarquia actual
$ find ./ -perm 777
Conclusió
En resum, Cerca ordre a Unix retorna tots els fitxers situats a sota del directori de treball actual. A més, l'ordre find permet a l'usuari especificar una acció que s'ha de dur a terme en cada fitxer coincident.
=> Feu clic aquí per veure la sèrie completa de tutorial Unix
Lectura recomanada
- Talla l'ordre a Unix amb exemples
- Ordre Ls a Unix amb exemples
- Manipulació de fitxers a Unix: Visió general del sistema de fitxers Unix
- Sintaxi d'ordres Unix Cat, opcions amb exemples
- Ordre Grep a Unix amb exemples senzills
- Ordre d'ordenació Unix amb sintaxi, opcions i exemples
- Comanda Tar a Unix per crear còpies de seguretat (exemples)
- Com comparar dos fitxers a Unix: ordres de comparació de fitxers