find command unix
Introduksjon til Finn kommando i Unix: Søk etter filer og kataloger med Unix Finn filkommando
Unix find-kommandoen er et kraftig verktøy for å søke etter filer eller kataloger.
Søket kan være basert på forskjellige kriterier, og de samsvarende filene kan kjøres gjennom definerte handlinger. Denne kommandoen synker rekurivt filhierarkiet for hvert spesifiserte banenavn.
=> Klikk her for Komplett Unix opplæringsserie
Hva du vil lære:
pl sql intervju spørsmål for 3 års erfaring
Finn kommando i Unix
Syntaks:
find (options) (paths) (expression)
Alternativene for denne kommandoen brukes til å spesifisere hvordan symbolske lenker skal behandles. Dette blir fulgt av settet med stier å søke i. Hvis ingen stier er spesifisert, brukes den aktuelle katalogen. Det gitte uttrykket kjøres deretter på hver av filene som finnes i banene.
Uttrykket består av en rekke alternativer, tester og handlinger, som hver returnerer en boolsk. Uttrykket evalueres fra venstre til høyre for hver fil i banen til resultatet blir bestemt, dvs. at resultatet er kjent for å være sant eller usant.
- Alternativuttrykk brukes til å begrense søkeoperasjonen, og alltid returnere sant.
-
- -dypth: behandle kataloginnholdet før du behandler selve katalogen.
- -maxdepth: maksimale nivåer under de angitte banene for å komme ned for en kamp.
- -dypedybde: min-nivåene utover de angitte stiene å stige ned før du matcher.
-
- Testuttrykk brukes til å evaluere spesifikke egenskaper til filene og returnere sant eller usant tilsvarende. (Uansett hvor en teller 'n' brukes: uten noe prefiks er samsvaret for den nøyaktige verdien av n; med et '+' prefiks er samsvaret for verdier større enn n; og med et '-' prefiks er samsvaret for verdier mindre enn n.)
-
- -tid n: Returnerer sant hvis filen ble åpnet for n dager siden.
- -tid n: Returnerer sann hvis filens status ble endret for n dager siden.
- -mtime n: Returnerer sant hvis innholdet på filen ble endret for n dager siden.
- -navn mønster: Returnerer sant hvis filnavnet samsvarer med det angitte skallmønsteret.
- -innamønster: Returnerer sant hvis filnavnet samsvarer med det angitte skallmønsteret. Matchingen her er ikke bokstavsfølsom.
- -sti mønster: Returnerer sant hvis filens navn med banen samsvarer med skallmønsteret.
- -regex mønster: Returnerer sant hvis filens navn med banen samsvarer med det vanlige uttrykket.
- -størrelse n: Returnerer sant hvis filstørrelsen er n blokkerer.
- -perm - mode: Returnerer sant hvis alle tillatelsesbiter for modus er angitt for filen.
- -type c: Returnerer sant hvis filen er av type c (f.eks. 'b' for blokkeringsenhetsfil, 'd' for katalog etc.).
- -brukernavn: Returnerer sant hvis filen eies av brukernavnet ‘navn’.
-
- Handlingsuttrykkene brukes til å definere handlinger som har bivirkninger og som kan returnere sanne eller falske. Hvis ikke handlinger er spesifisert, utføres '-print' -handlingen for alle samsvarende filer.
-
- -slett: Slett den samsvarende filen, og returner true hvis vellykket.
- -exec-kommando: Utfør den gitte kommandoen for hver samsvarende fil, og returner true hvis returverdien er 0.
- -ok kommando: Som ‘exec’ uttrykk, men bekrefter med brukeren først.
- -ls: Liste den samsvarende filen som per ‘ls -dils’ format.
- -print: Skriv ut navnet på den samsvarende filen.
- -beskjæring: Hvis filen er en katalog, ikke gå ned i den, og returner sann.
-
- Uttrykket evalueres fra venstre til høyre og settes sammen ved hjelp av følgende operatorer.
-
- ( ekspr ) : Brukes til å tvinge forrang.
- ! uttrykk: Brukes til å negere et uttrykk.
- ekspr1 -til expr2: Resultatet er et ‘og’ av de to uttrykkene. Expr2 blir bare evaluert av expr1 er sant.
- expr1 expr2: ‘og’ operatøren er implisitt i dette tilfellet.
- ekspr1 -eller expr2: Resultatet er en ‘eller’ av de to uttrykkene. Uttrykk2 blir bare evaluert av uttrekk1 er usant.
-
Eksempler
Liste opp alle filene som er funnet i den gjeldende katalogen og dens hierarki
$ find.
Liste opp alle filene som er funnet i det nåværende hierarkiet, og alt hierarkiet under / home / xyz
$ find. /home/XYZ
Søk etter en fil med navnet abc i den gjeldende katalogen og dens hierarki
$ find ./ -name abc
Søk etter en katalog med navnet xyz i gjeldende katalog og dens hierarki
$ find ./ -type d -name xyz
Søk etter en fil med navnet abc.txt under den aktuelle katalogen, og be brukeren om å slette hver kamp.
Merk at '{}' -strengen erstattes av det faktiske filnavnet mens du kjører, og at ';' streng brukes til å avslutte kommandoen som skal utføres.
$ find ./ -name abc.txt -exec rm -i {} ;
Søk etter filer som ble endret de siste 7 dagene under den nåværende katalogen
$ find ./ -mtime -7
Søk etter filer som har alle tillatelser angitt i det gjeldende hierarkiet
$ find ./ -perm 777
Konklusjon
Kort sagt, Finn kommando i Unix returnerer alle filene under gjeldende arbeidskatalog. Videre kan finn-kommandoen tillate brukeren å spesifisere en handling som skal utføres på hver samsvarende fil.
=> Klikk her for Komplett Unix opplæringsserie
Anbefalt lesing
- Klipp kommandoen i Unix med eksempler
- Ls Command i Unix med eksempler
- Filmanipulering i Unix: Oversikt over Unix File System
- Unix Cat Command Syntax, Alternativer med eksempler
- Grep Command i Unix med enkle eksempler
- Unix sorteringskommando med syntaks, alternativer og eksempler
- Tjærekommando i Unix for å lage sikkerhetskopier (eksempler)
- Hvordan sammenligne to filer i Unix: File Comparison Commands