Find efter navn
Den nemmeste kommando, vi kan bruge til at finde en fil, er ved et bestemt navn i en mappe. Fordelen med denne kommando er, at bash finder filen, selvom den findes i et af de rekursive mapper inde i den beståede biblioteksti. Lad os se på et eksempel:
find Kodenavn ifelse4.shDenne kommando finder filen ifelse4.sh rekursivt inde i katalogkoden. Lad os se output for denne kommando:
Find fil efter navn
Navneindstillingen, vi nævnte ovenfor, er store og små bogstaver. Hvis du vil finde filen uanset sag i navnet, skal du bruge følgende kommando: find kode -navn ifelse4.sh
At finde en fil med regulært udtryk
Vi kan bruge enkle regulære udtryk til at finde en fil i et bibliotek, der matcher det regulære udtryk. Lad os demonstrere dette med en simpel kommando til at finde alle filer med ethvert navn og med en udvidelse af .txt:
find Code -regex ".* \.sh "Her er hvad vi kommer tilbage med denne kommando:
Find fil efter regex
Lad os forstå, hvad denne kommando betyder her:
- -regex: Dette betyder bare, at vi derefter sender et regulært udtryk.
- I regulært udtryk, første periode (.) betyder, at et hvilket som helst antal tegn i filnavnet skal være et match.
- Dernæst matcher vi med * et vilkårligt antal gentagelser af et hvilket som helst tegn (på grund af perioden).
- Endelig matcher vi alle filer med .sh udvidelse.
Det gode ved et regulært udtryk kan være, at det kan gøres så fleksibelt, som du kan definere. Lad os ændre ovenstående eksempel for at finde filer med .sh og .txt-udvidelse også:
find Code -regex ".* \.sh | \.txt "Finde filer, der er ændret i de sidste n minutter
Det er også nemt at finde en fil, der blev ændret i de sidste n minutter. Lad os straks se på et eksempel:
find Kode -mmin -90Lad os se output for denne kommando:
Find fil ændret i de sidste 90 minutter
Finde filer, der er ændret i de sidste n dage
Det er også let at finde en fil, der blev ændret i de sidste n dage. Lad os straks se på et eksempel:
find Code -mtime 0Her er hvad vi kommer tilbage med denne kommando:
Find fil efter dage
Finde filer efter tilladelser
Det er også muligt at finde en fil med specifikke tilladelser. Vi kan finde filer, der er knyttet til en bruger eller en brugergruppe:
finde . -bruger shubhamHer er hvad vi kommer tilbage med denne kommando:
Finde filer, der tilhører en bruger
Vi kan også anvende den samme logik for at finde filer, der tilhører en brugergruppe: finde . -gruppe rod
Finde filer efter størrelse
For at finde filer, der er større end en bestemt størrelse, kan du finde den følgende kommando:
find Kode-størrelse +500Her er hvad vi kommer tilbage med denne kommando:
Find fil efter størrelse
Bortset fra byte kan størrelsen på en fil nævnes som:
- b: 512-byte-blokke: Dette er standardenheden, hvis der ikke er angivet nogen
- c: bytes
- k: kilobytes
- M: megabyte
- G: gigabyte
Finde filer efter type
Det er muligt at finde fil med en type. Vi har følgende typer til find kommando:
- d: bibliotek
- f: almindelig fil
- l: symbolsk link
- b: bufret blok
- c: ubufret karakter
- p: navngivet rør
- s: stikkontakt
Lad os bruge en kommando til at finde en almindelig fil:
finde . -type fHer er hvad vi kommer tilbage med denne kommando:
Find filer efter type
Finde filer med flere betingelser
Som et sidste eksempel er det muligt at finde filer ved at tilføje flere betingelser, som vi så ovenfor. Lad os prøve flere betingelser i en enkelt find-kommando nu:
finde . -størrelse + 1c -og -navn "*.sh "Her er hvad vi kommer tilbage med denne kommando:
Find filer med flere betingelser
Konklusion
I denne lektion kiggede vi på, hvordan vi kan bruge kommandoen find til at finde filer med noget navn eller efter tilladelser eller efter type. Vi kan endda tilføje flere betingelser for at finde filer, der opfylder alle betingelserne. Spil med kommandoerne endnu mere for at finansiere rela power.