Hitta dina filer utan ansträngning från kommandoraden i Linux
Användare försöker vanligtvis hitta en fil med hjälp av GUI. Men ibland blir det ett mycket tråkigt jobb att hitta en enskild fil i den enorma högen av filer på ditt system. Att hitta det på konventionellt sätt kan vara en tidskrävande uppgift. För att göra denna uppgift enklare erbjuder Linux vissa kommandon för att göra det här jobbet åt dig.
hitta
är ett populärt kommando som används i Linux-system som kan hjälpa dig att söka efter olika filer baserat på deras namn, typ, tillägg, behörigheter, ägare etc.
I den här handledningen kommer vi att fokusera på att hitta filerna efter namn. Vi kommer att titta på de olika argument som kan användas med hitta
kommando. Vi kommer också att lära oss om lokalisera
kommando som också är ett snabbare sätt att söka efter filerna efter namn.
Syntax för hitta
kommando
Använda hitta
kommandot på ett korrekt sätt kan göra din uppgift lättare. Att hitta filer av en viss typ eller tillägg eller söka på namnet kommer att vara möjligt om du förstår den allmänna syntaxen för detta kommando väl.
Den allmänna syntaxen för hitta
kommandot är som följer.
hitta [sökväg] [uttryck] [alternativ] [hitta_vad]
Jag har försökt att förenkla syntaxen för hitta
kommando för att förstå kommandot bättre.
Låt oss titta på varje attribut i syntaxen för att få en uppfattning om betydelsen av var och en av dem.
Search_Path: Här kommer sökvägen där vi anger sökvägen varifrån vi vill att systemet ska börja söka efter filen. Kort sagt, startkatalogen för att starta sökningen anges.
Uttryck: Du kan ange sökmönstren för den specifika filen du söker.
alternativ: Du kan använda de tillgängliga alternativen som används med hitta
kommando i detta utrymme.
hitta vad: I det här attributet anger du namnet eller en del av namnet på filen som ska sökas igenom.
Låt oss illustrera detta kommando med ett exempel.
hitta /home/gaurav/workspace -namn "källa.c"
I det här kommandot använder jag hitta
kommando för att söka efter filen "source.c". Jag har bett specifikt att söka i "/home/gaurav/workspace"-sökvägen. Använda -namn
alternativet låter mig söka i filen som anges av 'source.c'.
Detta är den enklaste demonstrationen för att använda hitta
kommando.
Söker efter filer i den aktuella katalogen
Använda hitta
kommandot i sin enklaste form är att söka efter dina filer i din nuvarande arbetskatalog.
hitta .
Detta kommando visar alla filer i din nuvarande arbetskatalog. Här är '.
' betyder den 'aktuella arbetskatalogen'. Följande är utdata från min nuvarande arbetskatalog. Alla filer som finns i den här katalogen listas utan några filter
Produktion:
. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE
För att söka efter en fil vars ungefärliga namn är känt, använd hitta
kommando som visas nedan.
hitta . -namn [sträng_från_filnamn\*]
Exempel:
hitta . -namn sammanhang\*
Detta kommando söker efter filerna som innehåller strängen "kontext" i den.
Produktion:
./context_log.policy ./context.xml ./context_preview.c
Alla filer i den aktuella katalogen listas som innehåller strängen "sammanhang" i den.
Nu uppstår problemet med det här kommandot när du försöker ta dig friheten om skiftlägeskänsligheten medan du skriver in filnamnet eller den ungefärliga strängen.
Linux är ganska försiktig med skiftlägeskänslighet och därför finns det en god chans att din sökning kan misslyckas. Jag kommer inte att få utdata för find-kommandot om jag använder strängen som 'CONTEXT' istället för 'context'. Även om en enstaka bokstav i filnamnet är i ett annat fall än det ursprungliga filnamnet då, kommer sökningen att misslyckas.
Men du behöver inte oroa dig för det. Du kan helt enkelt byta ut -namn
alternativet med -iname
. Detta gör att du kan söka efter filerna oavsett i vilka fall deras namn är. Gör bara denna enkla ändring i ditt kommando och du kommer att bli bra.
hitta . -iname CONT\*
Utgången blir densamma även om jag har använt strängen i versaler.
./context_log.policy ./context.xml ./context_preview.c
Söker efter filer i olika kataloger
Du kan enkelt söka efter filerna i vilken katalog som helst på Linux-systemet, oavsett vilken katalog du för närvarande arbetar i.
hitta [katalogsökväg] -iname [specifikt_filnamn]
Exempel:
hitta /home/gaurav/tomcat -iname ath.html
Här har jag sökt efter en specifik fil 'ath.html' och inte efter liknande filer som denna sträng. Så utdata kommer bara att vara den specifika filen som nämnts ovan.
/home/gaurav/tomcat/ath.html
Anta nu att vi inte känner till det fullständiga filnamnet utan bara strängen för detta filnamn. Sedan kan vi söka i filerna på följande sätt.
hitta /home/gaurav/tomcat -iname ath\*
Detta kommando kommer att söka efter alla filer som innehåller strängen "ath" i början. Jag har använt -iname
alternativet här, så jag behöver inte oroa mig för skiftlägeskänsligheten.
Produktion:
/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html
Du kan också använda kommandot för att söka i flera filer som slutar med ett liknande tillägg i deras namn.
Exempel:
hitta /home/gaurav/tomcat -iname "*.c"
Kommandot kommer att söka efter alla filer i den angivna katalogen som innehåller .c som filnamnstillägg.
Produktion:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
Vi lärde oss om hitta
kommandot för att söka efter filerna som anges av filnamnet. Låt oss nu utforska ytterligare ett kommando som är snabbare än det konventionella hitta
kommando.
lokalisera
kommandoöversikt
Det finns ytterligare ett kommando för att söka efter filerna på ditt system som är snabbare än hitta
kommando. Det är lokalisera
kommando. Detta kommando är inte förinstallerat på Linux-distributionerna. Du kan använda följande steg för att ladda ner och installera lokalisera
kommandopaket till ditt system.
För Ubuntu och Debian-system, använda sig av:
sudo apt uppdatering sudo apt installera mlocate
För Cent Os och Fedora-system, använda sig av:
sudo yum installera mlocate
Kommandot locate söker efter filen enligt det givna mönstret i inmatningen. lokalisera
använder databasfilen för att söka efter filerna, denna databasfil genereras av uppdateradb
kommando.
sudo uppdateradb
Tiden det tar att uppdatera denna databasfil kan variera från användare till användare beroende på filerna på ditt system.
Använda lokalisera
kommando
Du kan använda lokalisera
kommandot på följande sätt. Se till att uppdatera din databasfil med kommandot sudo uppdateradb
.
Syntax:
hitta [filnamn_eller_del_av_filnamn]
Detta kommando kommer att starta sökningen från rotkatalogen. Det kommer att returnera listan över alla filer på systemet som innehåller filnamnet eller en del av filnamnet enligt kommandot.
Exempel:
hitta copy.c
Produktion:
/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
Den markerade raden visar att den exakta filen 'copy.c' hittas. Tillsammans med detta resultat visas även vissa andra filer som innehåller "copy.c" som en del av deras filnamn.
För att undvika röran med andra oönskade filer och bara hitta den önskade filen, kan du använda kommandot locate på följande sätt.
lokalisera -b '\filnamn'
Exempel:
lokalisera -b '\copy.c'
Produktion:
/home/gaurav/Downloads/git-2.23.0/copy.c
Den specifika filen som nämns i sökkriterierna listas tillsammans med sökvägen till katalogen där den finns.
Använda lokalisera
kommandot kan verka lite knepigt, men är en snabbare metod att söka efter filer när du inte vet den exakta platsen för den filen. Hämtning av filerna går supersnabbt när du har uppdaterat databasfilen som kommandot locate använder.
Slutsats
I den här korta handledningen lärde vi oss om två viktiga kommandon, hitta
och lokalisera
. Nu kan du enkelt söka efter filer på ditt system utan att gå vilse i högen med filer. Att använda dessa kommandon kommer säkert att visa sig tidsbesparande och effektivt för din uppgift att söka efter filer.