Hur använder jag kommandot find i Linux för att söka efter filer?

How Use Find Command Linux Search Files



Om du är en Linux -användare kan du inte bara förlita dig på GUI för att utföra olika uppgifter, därför är det mycket viktigt att du har ett bra grepp om terminalkommandon. Alla distributioner baserade på Linux kör kommandona för att utföra olika administrativa uppgifter.

Även om Linux -terminalen är ett textgränssnitt som verkar komplext, är det faktiskt väldigt flexibelt, lätt att använda och ganska användbart verktyg. Kommandon kan enkelt kopieras från onlinekällor och klistras in i terminalen för att utföra olika operationer. Det finns massor av kommandon men det här inlägget kommer att fokusera på hitta -kommandot.







Sök-kommandot används för att hitta, filtrera eller söka efter filer och mappar i ditt system enligt användarspecificerade förhållanden och utföra flera operationer på dem.



Låt oss diskutera hur du använder kommandot find, dess syntax och olika operationer som utförs av detta kommando i detalj.



Syntax för hitta kommando i Linux

Kommandot syntax visas nedan:





hitta [väg] [alternativ] [uttryck]

Tre attribut går med kommandot find:

  • [sökväg]: Den definierar katalogen där sökandet ska börja.
  • [alternativ]: Den definierar kriterierna för filtrering t.ex. söka i en fil/mapp efter dess namn, behörighet, tid eller datum.
  • [uttryck]: Den definierar vilka åtgärder som ska utföras med filen.

Alla ovanstående attribut är valfria eftersom de kan användas enligt kravet.



För demonstration har jag skapat olika kataloger och några textfiler, se bilden nedan:

hitta/1%20copy.png

Hitta en fil efter namn

För att söka i filen efter namn, använd kommandot nedan:

$hitta.-namnMyTextFile1.txt

hitta/2%20copy.png

Punkten efter hitta i kommandot ovan anger den aktuella katalogen.

Om du inte kommer ihåg det exakta filnamnet kan sökningen ytterligare förfinas och göra den skiftlägeskänslig genom att använda -namnet på namnet:

$hitta.-namnmytextfile1.txt

hitta/3%20copy.png

Hitta en fil efter typ

För att hitta en fil efter dess typ, använd alternativet -type med bokstäver som också kallas deskriptorer som f för filer, d för kataloger, l för den symboliska länken och s för uttag.

För att söka i alla kataloger, använd:

$hitta.-typd

hitta/4%20copy.png

För att söka efter filer, använd:

$hitta.-typf

c%20copy.png

Hitta en fil med filtillägget

Om du vill söka i filen efter mönster, t.ex. filtillägg, som att visa alla filer med .txt, använder du följande kommando:

$hitta.-namn *.Text

hitta/5%20copy.png

Alla filer med .txt visas tillsammans med motsvarande kataloger.

Hitta och ta bort en fil

För att söka och ta bort en fil, använd kommandot nedan:

$hitta.-namnmytextfile1.txt-ex rm {};

hitta/6%20copy.png

Kommandot ovan söker först i filen och tar sedan bort den. Bilden visar att MyTextFile1 har tagits bort.

För att radera alla filer med tillägget .txt kan du använda kommandot:

$hitta.-namn *.Text-radera

hitta/7%20copy.png

Hitta en fil efter storlek

Kommandot find kan också söka efter en fil efter storlek. Använd bara alternativet -size tillsammans med dess deskriptorer som b för 512 Kb -block, c för byte, k för kilobyte, M och G för megabyte respektive gigabyte:

$hitta.-typf-storlek -1024c

hitta/8%20copy.png

Kommandot ovan nämner alla filer med en storlek mindre än 1024 byte. Sökningen kan ytterligare förfinas, till exempel om vi vill hitta alla filer som är mindre än 1Mb, använder vi kommandot nedan:

$hitta.-typf-storlek1M

ab/a%20copy.png

För alla filer som är större än 1Mb, använd kommandot nedan:

$hitta.-typf-storlek+1M

ab/b%20copy.png

Ett storleksintervall kan också definieras med hjälp av kommandot:

$hitta. -typf-storlek+1M-storlek10M

Hitta filer med tillstånd

För att söka i en fil med tillstånd använder vi alternativet -perm och sedan behörighetskod, som visas nedan:

$hitta.-perm 664

hitta/10%20copy.png

Hitta en text i textfiler

För att hitta text i flera textfiler i ditt system, använd kommandot nedan:

$hitta.-typf-namn *.Text-ex grepp'Hej'{};

hitta/12%20copy.png

Kommandot söker efter Hej -ordet i textfilerna. Utdata är textsträngar från textfilerna som innehåller Hello.

Hitta en fil efter ändringsdatum och tid

För att komma åt en fil genom dess senaste ändring, använd kommandot nedan:

$hitta.-typf-namn *.Text-min+10

hitta/13%20copy.png

Kommandot ovan söker efter en fil som senast ändrades för fyra minuter sedan och m betyder ändringen.

$hitta. -typf-namn *.Text-är i -10

hitta/14%20copy.png

Kommandot ovan söker efter en fil som senast öppnades för 4 minuter sedan, och a in amin betyder Access. För att komma åt en fil som ändrades för fyra dagar sedan, använd -mtime +4 i stället för mmin +4.

Slutsats

Kommandot find i Linux är ett mycket användbart kommando som låter dig söka i en fil eller katalog med olika kriterier, och till och med låter dig ändra filerna från terminalen. I den här guiden observerade vi syntaxen för kommandot find i Linux och lärde oss hur man använder kommandot find för att utföra olika funktioner.