Hitta efter namn
Det enklaste kommandot vi kan använda för att hitta en fil är med ett specifikt namn i en katalog. Fördelen med det här kommandot är att bash hittar filen även om den finns i en av de rekursiva katalogerna i den passerade katalogvägen. Låt oss titta på ett exempel:
hitta kodnamn ifelse4.shDetta kommando hittar filen ifelse4.sh rekursivt inuti katalogkoden. Låt oss se utdata för det här kommandot:
Hitta fil efter namn
Namnalternativet vi nämnde ovan är skiftlägeskänsligt. Om du vill hitta filen oavsett fallet i namnet, använd följande kommando: hitta kod -iname ifelse4.sh
Hitta en fil med reguljärt uttryck
Vi kan använda enkla reguljära uttryck för att hitta en fil i en katalog som matchar det reguljära uttrycket. Låt oss demonstrera detta med ett enkelt kommando för att hitta alla filer med vilket namn som helst och med en förlängning av .Text:
hitta kod -regex ".* \.sh "Här är vad vi får tillbaka med det här kommandot:
Hitta fil efter regex
Låt oss förstå vad detta kommando betyder här:
- -regex: Detta betyder bara att vi kommer att skicka ett reguljärt uttryck nästa.
- I det reguljära uttrycket, första perioden (.) betyder att valfritt antal tecken i filnamnet ska vara en matchning.
- Därefter matchar vi med * ett antal repetitioner av vilken karaktär som helst (på grund av perioden).
- Slutligen matchar vi alla filer med .sh förlängning.
Det bra med ett regelbundet uttryck kan vara att det kan göras så flexibelt som du kan definiera. Låt oss ändra ovanstående exempel för att hitta filer med .sh och .txt-tillägg också:
hitta kod -regex ".* \.sh | \.Text"Hitta filer som har ändrats under de senaste n minuterna
Det är också enkelt att hitta en fil som har ändrats under de senaste n minuterna. Låt oss titta på ett exempel direkt:
hitta kod -mmin -90Låt oss se utdata för det här kommandot:
Hitta fil ändrad under de senaste 90 minuterna
Hitta filer som har ändrats de senaste n dagarna
Det är också enkelt att hitta en fil som har ändrats de senaste n dagarna. Låt oss titta på ett exempel direkt:
hitta Code -mtime 0Här är vad vi får tillbaka med det här kommandot:
Hitta fil efter dagar
Hitta filer efter behörigheter
Det är också möjligt att hitta en fil med specifika behörigheter. Vi kan hitta filer som är kopplade till en användare eller en användargrupp:
hitta . -användare shubhamHär är vad vi får tillbaka med det här kommandot:
Hitta filer som tillhör en användare
Vi kan också använda samma logik för att hitta filer som tillhör en användargrupp: hitta . -grupprot
Hitta filer efter storlek
För att hitta filer som är större än en viss storlek kan du hitta med följande kommando:
hitta kodstorlek +500Här är vad vi får tillbaka med det här kommandot:
Hitta fil efter storlek
Förutom byten kan storleken på en fil nämnas som:
- b: 512-byte-block: Detta är standardenheten om ingen anges
- c: byte
- k: kilobytes
- M: megabyte
- G: gigabyte
Hitta filer efter typ
Det är möjligt att hitta filen med en typ. Vi har följande typer för att hitta kommando:
- d: katalog
- f: vanlig fil
- l: symbolisk länk
- b: buffrat block
- c: obuffrad karaktär
- p: namngiven rör
- s: uttag
Låt oss använda ett kommando för att hitta en vanlig fil:
hitta . -typ fHär är vad vi får tillbaka med det här kommandot:
Hitta filer efter typ
Hitta filer med flera villkor
Som ett sista exempel är det möjligt att hitta filer genom att lägga till flera villkor som vi såg ovan. Låt oss prova flera villkor i ett enda sökkommando nu:
hitta . -storlek + 1c -och -namn "*.sh "Här är vad vi får tillbaka med det här kommandot:
Hitta filer med flera villkor
Slutsats
I den här lektionen tittade vi på hur vi kan använda kommandot find för att hitta filer med något namn eller per behörighet eller efter typ. Vi kan till och med lägga till flera villkor för att hitta filer som uppfyller alla villkor. Spela med kommandona ännu mer för att finansiera rela power.