lär dig hur du använder kommandot hitta i den här handledningen från våra arkiv.

det är självklart att varje bra Linux skrivbordsmiljö ger möjlighet att söka ditt filsystem för filer och mappar. Om ditt standardskrivbord inte gör det-eftersom det här är Linux – kan du alltid installera en app för att söka din kataloghierarki en bris.

men hur är det med kommandoraden?, Om du råkar ofta arbeta i kommandoraden eller om du administrerar GUI-mindre Linux-servrar, var vänder du dig när du behöver hitta en fil? Lyckligtvis har Linux exakt vad du behöver för att hitta filerna i fråga, inbyggda direkt i systemet.

kommandot i fråga är att hitta. För att göra förståelsen för detta kommando ännu mer lockande, när du vet det, kan du börja arbeta det i dina Bash-skript. Det är inte bara bekvämlighet, det är makt.,

låt oss komma igång med kommandot Sök så att du kan ta kontroll över att hitta filer på dina Linux-servrar och stationära datorer, utan att behöva ett GUI.

hur man använder kommandot find

När jag först skymtade Linux, tillbaka i 1997, förstod jag inte riktigt hur find-kommandot fungerade. därför verkade det aldrig fungera som jag förväntade mig. Det verkade enkelt; utfärda kommandot Sök filnamn (där filnamn är namnet på filen) och kommandot skulle hitta filen och rapportera tillbaka. Lite visste jag att det fanns mer till kommandot än så. Mer.,

om du utfärdar kommandot man hitta, ser du syntaxen för find kommandot är:

find 

naturligtvis, om du är obekant med hur man fungerar, Du kan vara förvirrad om eller överväldigad av den syntaxen. För att underlätta förståelsen, låt oss förenkla det. Den mest grundläggande syntaxen för ett grundläggande sökkommando skulle se ut så här:

find /path option filename

Nu ser vi det på jobbet.

hitta med namn

låt oss bryta ner det grundläggande kommandot för att göra det så tydligt som möjligt., Den mest förenklade strukturen i kommandot Sök ska innehålla en sökväg för filen, ett alternativ och filnamnet själv. Du kanske tänker, ” om jag känner till sökvägen till filen, skulle jag redan veta var du hittar den!”. Tja, sökvägen till filen kan vara roten till din enhet; så / skulle vara en legitim väg. Att skriva in det som din sökväg skulle ta längre tid att bearbeta — eftersom det måste börja från början-men om du inte har någon aning om var filen är, kan du börja därifrån. I effektivitetens namn är det alltid bäst att ha åtminstone en idé var man ska börja söka.,

nästa bit av kommandot är alternativet. Som med de flesta Linux-kommandon har du ett antal tillgängliga alternativ. Men vi börjar från början, så låt oss göra det enkelt. Eftersom vi försöker hitta en fil efter namn använder vi ett av två alternativ:

  • namn – skiftlägeskänslig

  • iname – case okänslig

Kom ihåg att Linux är mycket speciellt om fallet, så om du letar efter en fil som heter Linux.odt, följande kommando returnerar inga resultat.,

find / -name linux.odt

om du dock skulle ändra kommandot genom att använda alternativet-iname, skulle kommandot Sök hitta din fil, oavsett fall. Så det nya kommandot ser ut som:

find / -iname linux.odt

hitta efter typ

vad händer om du inte är så bekymrad över att hitta en fil efter namn men hellre lokalisera alla filer av en viss typ?, Några av de vanligaste filbeskrivningarna är:

  • f – regular file

  • d – directory

  • l – symbolisk länk

  • c – character devices

  • b – block devices

anta nu att du vill hitta alla block devices (A fil som refererar till en enhet) på ditt system., Med hjälp av alternativet typ kan vi göra det så:

find / -type c

ovanstående kommando skulle resultera i ganska mycket utmatning (mycket av det som indikerar tillstånd nekat), men skulle inkludera utmatning som liknar:

/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm

Voilà! Blockera enheter.

Vi kan använda samma alternativ för att hjälpa oss att leta efter konfigurationsfiler. Säger du exempelvis vill hitta alla vanliga filer som slutar på .conf förlängning., Det här kommandot skulle se ut som:

find / -type f -name "*.conf"

ovanstående kommando skulle korsa hela katalogstrukturen för att hitta alla vanliga filer som slutar i .conf. Om du vet att de flesta av dina konfigurationsfiler är inrymda i / etc, kan du ange så:

find /etc -type f -name "*.conf”

ovanstående kommando skulle lista alla dina .conf-filer från /etc (Figur 1).

Figur 1: Hitta alla dina konfigurationsfiler i / etc.,

mata ut resultat till en fil

ett riktigt praktiskt trick är att mata ut resultaten av sökningen till en fil. När du vet utgången kan vara omfattande, eller om du vill kamma igenom resultaten senare, detta kan vara otroligt bra. För detta använder vi samma exempel som ovan och rör resultaten i en fil som heter conf_search. Det här nya kommandot skulle se ut:

find /etc -type f -name "*.conf” > conf_search

Du kommer nu att ha en fil (conf_search) som innehåller alla resultat från kommandot Sök som utfärdats.,

hitta filer efter storlek

nu kommer vi till ett ögonblick där find-kommandot blir otroligt användbart. Jag har haft fall där stationära eller servrar har hittat sina enheter mystiskt fyllda. För att snabbt skapa utrymme (eller hjälpa till att hitta problemet) kan du använda kommandot Sök för att hitta filer av en viss storlek. Säg till exempel att du vill gå stora och hitta filer som är över 1000MB. Kommandot Sök kan utfärdas, med hjälp av alternativet-size, som så:

find / -size +1000MB

Du kan bli förvånad över hur många filer som dyker upp., Med utgången från kommandot kan du kamma igenom katalogstrukturen och frigöra utrymme eller felsöka för att ta reda på vad som mystiskt fyller upp din enhet.

Du kan söka med följande storleksbeskrivningar:

  • c – bytes

  • k – Kilobytes

  • m – megabyte

  • g – Gigabyte

  • b – 512-byte block

fortsätt lära

vi har bara repat ytan på Find-kommandot, men du har nu en grundläggande förståelse för hur du hittar filer på dina Linux-system., Se till att utfärda kommandot man hitta för att få en djupare, mer komplett, kunskap om hur man gör detta kraftfulla verktyg fungerar för dig.

Läs mer om Linux genom den fria ”Introduction to Linux” – kursen från Linux Foundation och edX.