Finde kommandoer i Linux (Finde Filer og Mapper)

0 Comments

find kommando er en af de mest kraftfulde værktøjer i Linux-system administratorer arsenal. Den søger efter filer og mapper i en mappe hierarki baseret på en bruger givet udtryk og kan udføre brugerdefinerede handling på hver matchede fil.

Du kan bruge kommandoen find til at søge efter filer og mapper baseret på deres tilladelser, type, dato, ejerskab, størrelse og mere., Det kan også kombineres med andre værktøjer som grep eller sed .

find-Kommando Syntaks #

Den generelle syntaks for find kommandoen er som følger:

  • options attribut styrer behandling af symbolske links, debugging valg og optimering af metode.
  • path... attributten definerer startmappen eller mapperne, hvor find vil søge i filerne.,
  • expression attributten består af indstillinger, søgemønstre og handlinger adskilt af operatører.

for at søge efter filer i en mappe, skal brugeren påkalde kommandoen find have læsetilladelser i den pågældende mappe.

lad os se på følgende eksempel:

Find filer efter navn #

at finde filer efter navn er sandsynligvis den mest almindelige brug af kommandoen find., Hvis du vil finde en fil ved navn, skal du bruge-name efterfulgt af navnet på den fil, du søger efter.

For eksempel for at søge efter en fil med navnet document.pdf /home/linuxize mappe, skal du bruge følgende kommando:

for At køre en store og små bogstaver search, ændre -name indstilling med -iname:

kommandoen ovenfor vil matche “Dokument.pdf”, ” dokument.pdf” ..osv.,

Find filer efter udvidelse #

søgning efter filer efter udvidelse er det samme som at søge efter filer efter navn. For eksempel, for at finde alle filer, der slutter med .log.gz i /var/log/nginx bibliotek, ville du skrive:

Det er vigtigt at nævne, at du enten skal citere mønster eller undslippe stjerne * symbolet med omvendt skråstreg \, så det ikke bliver fortolket af skallen, når du bruger jokertegn.,

for at finde alle filer, der ikke svarer til rege. *.log.gzkan du bruge -not. For eksempel, for at finde alle filer, der ikke ender i *.log.gz ville du bruge:

Find Filer af Typen #

nogle gange har du måske brug for at søge efter specifikke filtyper såsom almindelige filer, mapper, eller symbolske henvisninger. I Linu.er alt en fil.,div>: navngiven pipe (FIFO)

  • s: socket
  • For eksempel, at finde alle mapper i den aktuelle arbejdsmappe , du vil bruge:

    eksempel kunne være at rekursivt ændre hjemmesiden fil tilladelser til 644 og mappe tilladelser til 755 ved brug af chmod kommando:

    Find Filer af Størrelsen #

    for At finde filer, der er baseret på filstørrelse, passerer -size parameter sammen med størrelsen kriterier.,9fdb538a6b”>: 512-byte blokke (default)

  • c: bytes
  • w: to-byte ord
  • k: Kilobyte
  • M: Megabyte
  • G: Gigabyte
  • Den følgende kommando vil finde alle filer, der er af præcis 1024 bytes indeni /tmp bibliotek:

    find kommando giver dig også mulighed for at søge efter filer, der er større eller mindre end en angivet størrelse.,

    i det følgende eksempel søger vi efter alle filer, der er mindre end 1MB inde i den aktuelle arbejdsmappe. Bemærk minus - symbolet, før den størrelse, værdi:

    Hvis du vil søge efter filer med en størrelse større end 1MB, så er du nødt til at bruge plus – + symbolet:

    Du kan selv søge efter filer i en størrelsesorden., Den følgende kommando vil finde alle filer mellem 1 og 2MB:

    Find Filer ved ændringsdato #

    find kommando kan også søge efter filer baseret på deres sidste ændring, adgang, eller skift tid.

    samme som når du søger efter størrelse, skal du bruge plus-og minus-symbolerne til “større end” eller “mindre end”.

    lad os sige, at du for et par dage siden ændrede en af Dovecot-konfigurationsfilerne, men du glemte hvilken., Du kan nemt filtrere alle filer under /etc/dovecot/conf.d mappe, der slutter med .conf og er blevet ændret i de sidste fem dage:

    Her er endnu et eksempel på filtrering af filer baseret på de ændringsdato ved brug af -daystart option., Nedenstående kommando vil vise en liste over alle filer i /home bibliotek, der blev ændret 30 eller flere dage siden:

    Find Filer af Tilladelser #

    -perm valgmulighed giver dig mulighed for at søge efter filer baseret på fil tilladelser.,

    For eksempel, til at finde alle filer med tilladelser af præcis 775 i /var/www/html mappe, du vil bruge:

    Du kan præfiks numerisk tilstand med minus - eller skråstreg /.

    når slash / bruges som præfiks, skal mindst en kategori (bruger, gruppe eller andre) have mindst de respektive bits, der er indstillet til, at en fil skal matche.,

    overvej følgende eksempel kommando:

    ovenstående kommando vil matche alle filerne med læsetilladelser indstillet til enten bruger, gruppe eller andre.

    Hvis minus - bruges som præfiks, skal mindst de specificerede bits indstilles for at filen skal matche., Den følgende kommando vil søge efter filer, der har læse-og skriveadgang til ejer og gruppe, og som kan læses af andre brugere:

    Find Filer af Ejeren #

    for At finde filer, der ejes af en bestemt bruger eller gruppe, skal du bruge -user og -group indstillinger.for at søge efter alle filer og mapper, der ejes af brugeren linuxize, kører du:

    Her er et eksempel i den virkelige verden., Lad os sige, at du ønsker at finde alle filer, der ejes af brugeren www-data og ændre ejerskab af de matchede filer fra www-data til nginx:

    Find og Slette Filer #

    for At slette alle matchende filer, føj -delete indstilling til slutningen af kampen udtryk.

    sørg for, at du kun bruger denne indstilling, når du er sikker på, at resultatet matcher de filer, du vil slette., Det er altid en god ide at udskrive de matchede filer, før du bruger indstillingen -delete.

    For eksempel, at at slette alle filer, der slutter med .temp fra /var/log/, du vil bruge:

    -delete option med ekstrem forsigtighed. Kommandoenfind evalueres som et udtryk, og hvis du tilføjer indstillingen-delete først sletter kommandoen alt under de udgangspunkter, du har angivet.,

    Når det kommer til mapper, find kan kun slette tomme mapper, samme som rmdir .

    konklusion #

    Vi har vist dig, hvordan du bruger kommandoenfind med forskellige indstillinger og kriterier.

    denne artikel skal give dig en grundlæggende forståelse af, hvordan du finder filer på dine Linu. – systemer. Du kan også besøge find man-siden og læse om alle andre kraftfulde indstillinger på kommandoenfind.


    Skriv et svar

    Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *