GPN18 - Moderne Kommandozeilen Werkzeuge
Indholdsfortegnelse:
- Installation af
locate
(lokalisering af kommando ikke fundet) - Installer
locate
på Ubuntu og Debian - Installer
locate
på CentOS og Fedora - Hvordan
locate
arbejde? - Sådan bruges
locate
kommandoen - Konklusion
En af de mest almindelige operationer, når du arbejder på Linux, er at søge efter filer og mapper. På Linux-systemer er der flere kommandoer, der giver dig mulighed for at søge efter filer, hvor
find
og
locate
er de mest anvendte.
locate
kommandoen er den hurtigste og enkleste måde at søge efter filer og mapper med deres navne.
I denne tutorial vil vi forklare, hvordan du bruger kommandoen
locate
.
Installation af
locate
(lokalisering af kommando ikke fundet)
Afhængig af distributionen og af, hvordan systemet blev leveret, er lokalitetspakken muligvis ikke installeret på dit Linux-system.
For at kontrollere, om lokalitetsværktøjet er installeret på dit system, skal du åbne din terminal, skrive
locate
og trykke på
Enter
. Hvis pakken er installeret, viser systemet
locate: no pattern to search for specified
, ellers vil du se noget som
locate command not found
.
Hvis
locate
ikke er installeret, kan du nemt installere det ved hjælp af din distro's pakkeadministrator.
Installer
locate
på Ubuntu og Debian
sudo apt update
sudo apt install mlocate
Installer
locate
på CentOS og Fedora
Hvordan
locate
arbejde?
locate
kommandoen søger efter et givet mønster gennem en databasefil, der genereres af den
updatedb
kommando. De fundne resultater vises på skærmen, en pr. Linje.
Under installationen af mlocate-pakken oprettes et cron-job, der kører den
updatedb
kommando hver 24 timer. Dette sikrer, at databasen opdateres regelmæssigt. For mere information om cron-jobbet, tjek filen
/etc/cron.daily/mlocate
.
Databasen kan opdateres manuelt ved at køre
updatedb
kommando som root eller bruger med sudo-privilegier:
sudo updatedb
Opdateringsprocessen vil tage nogen tid, afhængigt af antallet af filer og mapper og dit systems hastighed.
Filer oprettet efter databaseopdateringen vises ikke i lokaliseringsresultaterne.
Sammenlignet med den mere kraftfulde
find
kommando, der søger i filsystemet, fungerer placering meget hurtigere, men mangler mange funktioner og kan kun søge efter filnavnet.
Sådan bruges
locate
kommandoen
Syntaksen for
locate
er som følger:
locate PATTERN…
I sin mest basale form, når det bruges uden indstillinger, vil kommandoen
locate
udskrive den absolutte sti for alle filer og mapper, der matcher søgemønsteret, og som brugeren har læst tilladelse til.
For eksempel at søge efter en fil med navnet
.bashrc
skriver du:
locate.bashrc
Outputet inkluderer navnene på alle filer, der indeholder strengen
.bashrc
i deres navne:
/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
Filen
/root/.bashrc
vises ikke, fordi vi kørte kommandoen som en normal bruger, der ikke har adgangstilladelser til
/root
biblioteket.
Hvis resultatlisten er lang, for bedre læsbarhed kan du føre output til kommandoen
less
:
locate.bashrc | less
locate
kommandoen accepterer også mønstre, der indeholder globende tegn såsom wildcard-tegnet
*
. Når mønsteret ikke indeholder globende tegn, leder kommandoen efter
*PATTERN*
, det er derfor, i det forrige eksempel blev alle filer, der indeholder søgemønsteret i deres navn, vist.
Jokertegnet er et symbol, der bruges til at repræsentere nul, en eller flere tegn. For eksempel at søge efter alle
.md
filer på systemet, du vil bruge:
locate *.md
For at begrænse søgeresultaterne skal du bruge indstillingen
-n
efterfulgt af det antal resultater, du vil have vist. For eksempel søger følgende kommando efter alle
.py
filer og viser kun 10 resultater:
locate -n 10 *.py
locate
standard udfører store og små bogsager. Indstillingen
-i
(
--ignore-case
) fortæller
locate
at ignorere sag og køre
--ignore-case
søgning.
locate -i readme.md
/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md
Hvis du vil vise antallet af alle matchende poster, skal du bruge indstillingen
-c
(-
--count
). Den følgende kommando returnerer antallet af alle filer, der indeholder
.bashrc
i deres navne:
locate -c.bashrc
6
Som standard tjekker
locate
ikke, om de fundne filer stadig findes på filsystemet. Hvis du slettede en fil efter den seneste databaseopdatering, hvis filen stemmer overens med søgemønsteret, vil den blive inkluderet i søgeresultaterne.
Hvis du kun vil vise navnene på de filer, der findes på det sted, hvor
--existing
køres, skal du bruge indstillingen
-e
(
--existing
). For eksempel returnerer følgende kun de eksisterende
.json
filer:
locate -e *.json
locate --regex -i "(.mp4|\.avi)"
Konklusion
locate
kommandoen søger i filsystemet efter filer og mapper, hvis navn matcher et givet mønster. Kommandosyntaxen er let at huske, og resultaterne vises næsten øjeblikkeligt.
For mere information om alle tilgængelige muligheder for
locate
kommandotypen
man locate
i din terminal.
Sådan kontrolleres diskplads i Linux ved hjælp af kommandoen df

Hvor meget plads har jeg tilbage på min harddisk? På Linux-baserede systemer kan du bruge df-kommandoen til at få en detaljeret rapport om systemets diskpladsforbrug.
Sådan bruges linux sleep-kommandoen til at sætte et bash-script på pause

Sleep er et kommandolinjeværktøj, der giver dig mulighed for at suspendere opkaldsprocessen i et bestemt tidsrum. I denne tutorial vil vi vise dig, hvordan du bruger Linux sleep-kommandoen.
Dræb kommandoen i linux

Kill-kommandoen sender et signal til specificerede processer eller procesgrupper, der får dem til at handle i henhold til signalet. kill er et shell, der er indbygget i de fleste Bourne-afledte skaller, såsom Bash og Zsh.