Locate: Difference between revisions
Created page with "Priit Pennula A21" |
m →Autor |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Priit | ==Autor== | ||
Priit P. | |||
Rühm A21 | |||
30.11.2015 | |||
==Sissejuhatus== | |||
'''locate''' on programm UNIXile ja UNIXi-laadsetele operatsioonisüsteemidele, mis võimaldab otsida faile ja kaustu nende nime alusel.<ref name="locateman">[http://man7.org/linux/man-pages/man1/locate.1.html locate(1) - Linux manual page]</ref> | |||
Windows operatsioonisüsteemide perekonnale on saadaval locate'i alternatiiv programmi Locate32 näol.<ref>[http://locate32.cogit.net/ Locate32]</ref> | |||
==Töömehhanism== | |||
locate võrdleb antud argumenti (s.t otsitavat failinime või selle osa - metasümbolite või regulaaravaldise abiga) spetsiaalse andmebaasi sissekannetega.<ref name="locateman"></ref> Nimetatud andmebaasi on kantud failide nimed ja nende asukohad. Sissekannete uuendamine toimub käsitsi, kasutades juurkasutajana käsku <code>updatedb</code> või automatiseeritult - näiteks cron abiga.<ref> [http://man7.org/linux/man-pages/man1/updatedb.1.html updatedb(1) - Linux manual page] </ref><ref> [http://linux.die.net/man/8/updatedb updatedb(8) - Linux man page] </ref> Locate'i andmebaasi kasutuse eeliseks on kiirusevõit otsingutel, aga puuduseks andmebaasi intervallipõhine uuendamine, mille tulemusel ei pruugi locate leida uusimaid muudatusi - veel baasi kandmata või vahepeal kustatud faile.<ref>[http://www.linfo.org/locate.html The locate Command]</ref> | |||
==Kasutamine== | |||
Üldjuhul eksisteerib locate Linuxi distributsioonide tarkvara repositooriumites nime all "locate". | |||
<code>locate</code> toimib tavakasutaja- ning <code>updatedb</code> juurkasutaja õigustes. | |||
Otsingutermin, mis sisaldab metasümboleid, annab tulemuseks täpselt mustrile vastava tulemi. | |||
--regex atribuudita käsku või metasümboliteta otsinguterminit tõlgendatakse kui *otsingutermin*, s.t kummalgi pool otsinguterminit võib olla mistahes muu info.<ref name=die>[http://linux.die.net/man/1/locate locate(1) - Linux man page]</ref> | |||
===Käsuformaat=== | |||
Lühidalt:<ref name="die"></ref> | |||
<code>locate [ARGUMENDID] OTSINGUTERMIN</code> | |||
Ülevaatlikult:<ref name="locateman"></ref> | |||
<pre>locate [-d path | --database=path] [-e | -E | --[non-]existing] [-i | | |||
--ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] [-b | | |||
--basename] [-l N | --limit=N] [-S | --statistics] [-r | --regex ] | |||
[--max-database-age D] [-P | -H | --nofollow] [-L | --follow] | |||
[--version] [-A | --all] [-p | --print] [--help] pattern...</pre> | |||
===Käsu argumendid=== | |||
====Kohustuslikud==== | |||
'''OTSINGUTERMIN''' - otsitav termin või selle osa koos vastava mustriga. | |||
====Valikulised==== | |||
'''-0, --null''' - kasutab EOL-i asemel eraldajana null-sümbolit. | |||
'''-A, --all''' - kuvab ainult tulemused, mis vastavad kõigile non-option argumentidele. | |||
'''-b, --basename''' - võrdleb otsinguterminiga üksnes andmebaasikande viimast komponenti (s.t faili- või kausta nime arvestamata vasteid kataloogipuus). | |||
'''-c, --count''' - kuvab otsingu tulemusena leitud failinimede hulga. | |||
'''-d path, --database=path''' - võimaldab valida alternatiivseid andmebaase, kus ''path'' on andmebaasi asukoht. | |||
'''-e, --existing''' - kuvab üksnes failid, mis eksisteerivad nii käsu käivitamise kui ka updatedb käivitamise ajahetkel. | |||
'''-E, --non-existing''' - kuvab üksnes failid, mis käsu käivitamise ajahetkel ei eksisteeri, kuid updatedb käivitamise ajal eksisteerisid. | |||
'''--help''' - kuvab kokkuvõtte locate'i argumentidest. | |||
'''-i, --ignore-case''' - ignoreerib tõusutundlikkust nii failinimes kui otsinguterminis. | |||
'''-l N, --limit=N''' - piirab otsingutulemuste hulka, kus N on suurim hulk vasteid. Kasutades koos argumendiga -c, ei ole kunagi c > N. | |||
'''-L, --follow''' - failide olemasolu testimisel (kasutades -e või -E argumenti) liigitab symlinkid mitte-eksisteerivateks. See on vaikimisi valik. | |||
'''--max-database-age D''' - locate hoiatab vaikimisi, kui andmebaas on vanem kui 8 päeva. Antud argumendiga on võimalik seda hoiatusperioodi muuta. | |||
'''-m, --mmap''' - eksisteerib üksnes BSD locate'i versiooniga ühilduvuse eesmärgil. | |||
'''-P, -H, --nofollow''' - failide olemasolu testimisel (kasutades -e või -E argumenti) liigitab symlinkid eksisteerivateks failideks. | |||
'''-p, --print'''- kuvab otsingutulemused isegi, kui kasutusel on argumendid -S või -c. | |||
'''-r, --regex''' - käsureale sisestatud mustrit tõlgendatakse glob-mustri asemel regulaaravaldisena. | |||
'''-s, --stdio''' - eksisteerib üksnes BSD locate'i versiooniga ühilduvuse eesmärgil. | |||
'''-S, --statistics''' - kuvab statistika locate'i andmebaasi kohta. | |||
'''--version''' - kuvab locate'i versiooniinfo. | |||
'''-w, --wholename''' - võrdleb otsinguterminiga andmebaasikande mistahes osa. See on vaikimisi valik. | |||
<ref name="locateman"></ref> | |||
===Näited=== | |||
".jpg" faililaiendiga failide otsimine kataloogist ~/Pictures | |||
<code>locate ~/Pictures/*.jpg</code> | |||
<pre>/home/priit/Pictures/fotod/2011/IMG_1.jpg | |||
/home/priit/Pictures/fotod/2011/IMG_2.jpg | |||
/home/priit/Pictures/fotod/2011/IMG_3.jpg | |||
/home/priit/Pictures/fotod/2012/Foto1.jpg | |||
/home/priit/Pictures/fotod/2012/Foto2.jpg | |||
/home/priit/Pictures/fotod/2012/Foto3.jpg | |||
/home/priit/Pictures/fotod/2013/Foto1.jpg | |||
/home/priit/Pictures/fotod/2013/Foto2.jpg | |||
/home/priit/Pictures/fotod/2013/Foto3.jpg</pre> | |||
Sõna "foto" sisaldavate failide- või kaustade otsimine arvestamata tõusutundlikkust: | |||
<code>locate -bi foto</code> | |||
<pre>/home/priit/Pictures/FOTO.JPG | |||
/home/priit/Pictures/fotod | |||
/home/priit/Pictures/fotod/2012/Foto1.jpg | |||
/home/priit/Pictures/fotod/2012/Foto2.jpg | |||
/home/priit/Pictures/fotod/2012/Foto3.jpg | |||
/home/priit/Pictures/fotod/2013/Foto1.jpg | |||
/home/priit/Pictures/fotod/2013/Foto2.jpg | |||
/home/priit/Pictures/fotod/2013/Foto3.jpg | |||
/usr/bin/infotocap | |||
/usr/share/man/man1/infotocap.1.gz</pre> | |||
Argumentide -b ja -w võrdlus: | |||
<code>locate -b cowsay</code> | |||
<pre>/usr/games/cowsay | |||
/usr/share/cowsay | |||
/usr/share/doc/cowsay | |||
/usr/share/doc/cowsay/examples/cowsay_random | |||
/usr/share/man/man6/cowsay.6.gz | |||
/var/cache/apt/archives/cowsay_3.03+dfsg1-10_all.deb | |||
...</pre> | |||
<code>locate -w cowsay</code> | |||
<pre>/usr/games/cowsay | |||
/usr/share/cowsay | |||
/usr/share/cowsay/cows | |||
/usr/share/cowsay/cows/apt.cow | |||
/usr/share/cowsay/cows/beavis.zen.cow | |||
/usr/share/cowsay/cows/bong.cow | |||
...</pre> | |||
==Kokkuvõte== | |||
Locate on lihtne ja kiire viis leidmaks failide asukohti, mille võimekust on võimalik oluliselt laiendada kasutades otsinguterminis regulaaravaldisi. | |||
==Kasutatud allikad== | |||
<references /> | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 19:24, 14 May 2016
Autor
Priit P.
Rühm A21
30.11.2015
Sissejuhatus
locate on programm UNIXile ja UNIXi-laadsetele operatsioonisüsteemidele, mis võimaldab otsida faile ja kaustu nende nime alusel.[1]
Windows operatsioonisüsteemide perekonnale on saadaval locate'i alternatiiv programmi Locate32 näol.[2]
Töömehhanism
locate võrdleb antud argumenti (s.t otsitavat failinime või selle osa - metasümbolite või regulaaravaldise abiga) spetsiaalse andmebaasi sissekannetega.[1] Nimetatud andmebaasi on kantud failide nimed ja nende asukohad. Sissekannete uuendamine toimub käsitsi, kasutades juurkasutajana käsku updatedb
või automatiseeritult - näiteks cron abiga.[3][4] Locate'i andmebaasi kasutuse eeliseks on kiirusevõit otsingutel, aga puuduseks andmebaasi intervallipõhine uuendamine, mille tulemusel ei pruugi locate leida uusimaid muudatusi - veel baasi kandmata või vahepeal kustatud faile.[5]
Kasutamine
Üldjuhul eksisteerib locate Linuxi distributsioonide tarkvara repositooriumites nime all "locate".
locate
toimib tavakasutaja- ning updatedb
juurkasutaja õigustes.
Otsingutermin, mis sisaldab metasümboleid, annab tulemuseks täpselt mustrile vastava tulemi. --regex atribuudita käsku või metasümboliteta otsinguterminit tõlgendatakse kui *otsingutermin*, s.t kummalgi pool otsinguterminit võib olla mistahes muu info.[6]
Käsuformaat
Lühidalt:[6]
locate [ARGUMENDID] OTSINGUTERMIN
Ülevaatlikult:[1]
locate [-d path | --database=path] [-e | -E | --[non-]existing] [-i | --ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] [-b | --basename] [-l N | --limit=N] [-S | --statistics] [-r | --regex ] [--max-database-age D] [-P | -H | --nofollow] [-L | --follow] [--version] [-A | --all] [-p | --print] [--help] pattern...
Käsu argumendid
Kohustuslikud
OTSINGUTERMIN - otsitav termin või selle osa koos vastava mustriga.
Valikulised
-0, --null - kasutab EOL-i asemel eraldajana null-sümbolit.
-A, --all - kuvab ainult tulemused, mis vastavad kõigile non-option argumentidele.
-b, --basename - võrdleb otsinguterminiga üksnes andmebaasikande viimast komponenti (s.t faili- või kausta nime arvestamata vasteid kataloogipuus).
-c, --count - kuvab otsingu tulemusena leitud failinimede hulga.
-d path, --database=path - võimaldab valida alternatiivseid andmebaase, kus path on andmebaasi asukoht.
-e, --existing - kuvab üksnes failid, mis eksisteerivad nii käsu käivitamise kui ka updatedb käivitamise ajahetkel.
-E, --non-existing - kuvab üksnes failid, mis käsu käivitamise ajahetkel ei eksisteeri, kuid updatedb käivitamise ajal eksisteerisid.
--help - kuvab kokkuvõtte locate'i argumentidest.
-i, --ignore-case - ignoreerib tõusutundlikkust nii failinimes kui otsinguterminis.
-l N, --limit=N - piirab otsingutulemuste hulka, kus N on suurim hulk vasteid. Kasutades koos argumendiga -c, ei ole kunagi c > N.
-L, --follow - failide olemasolu testimisel (kasutades -e või -E argumenti) liigitab symlinkid mitte-eksisteerivateks. See on vaikimisi valik.
--max-database-age D - locate hoiatab vaikimisi, kui andmebaas on vanem kui 8 päeva. Antud argumendiga on võimalik seda hoiatusperioodi muuta.
-m, --mmap - eksisteerib üksnes BSD locate'i versiooniga ühilduvuse eesmärgil.
-P, -H, --nofollow - failide olemasolu testimisel (kasutades -e või -E argumenti) liigitab symlinkid eksisteerivateks failideks.
-p, --print- kuvab otsingutulemused isegi, kui kasutusel on argumendid -S või -c.
-r, --regex - käsureale sisestatud mustrit tõlgendatakse glob-mustri asemel regulaaravaldisena.
-s, --stdio - eksisteerib üksnes BSD locate'i versiooniga ühilduvuse eesmärgil.
-S, --statistics - kuvab statistika locate'i andmebaasi kohta.
--version - kuvab locate'i versiooniinfo.
-w, --wholename - võrdleb otsinguterminiga andmebaasikande mistahes osa. See on vaikimisi valik.
Näited
".jpg" faililaiendiga failide otsimine kataloogist ~/Pictures
locate ~/Pictures/*.jpg
/home/priit/Pictures/fotod/2011/IMG_1.jpg /home/priit/Pictures/fotod/2011/IMG_2.jpg /home/priit/Pictures/fotod/2011/IMG_3.jpg /home/priit/Pictures/fotod/2012/Foto1.jpg /home/priit/Pictures/fotod/2012/Foto2.jpg /home/priit/Pictures/fotod/2012/Foto3.jpg /home/priit/Pictures/fotod/2013/Foto1.jpg /home/priit/Pictures/fotod/2013/Foto2.jpg /home/priit/Pictures/fotod/2013/Foto3.jpg
Sõna "foto" sisaldavate failide- või kaustade otsimine arvestamata tõusutundlikkust:
locate -bi foto
/home/priit/Pictures/FOTO.JPG /home/priit/Pictures/fotod /home/priit/Pictures/fotod/2012/Foto1.jpg /home/priit/Pictures/fotod/2012/Foto2.jpg /home/priit/Pictures/fotod/2012/Foto3.jpg /home/priit/Pictures/fotod/2013/Foto1.jpg /home/priit/Pictures/fotod/2013/Foto2.jpg /home/priit/Pictures/fotod/2013/Foto3.jpg /usr/bin/infotocap /usr/share/man/man1/infotocap.1.gz
Argumentide -b ja -w võrdlus:
locate -b cowsay
/usr/games/cowsay /usr/share/cowsay /usr/share/doc/cowsay /usr/share/doc/cowsay/examples/cowsay_random /usr/share/man/man6/cowsay.6.gz /var/cache/apt/archives/cowsay_3.03+dfsg1-10_all.deb ...
locate -w cowsay
/usr/games/cowsay /usr/share/cowsay /usr/share/cowsay/cows /usr/share/cowsay/cows/apt.cow /usr/share/cowsay/cows/beavis.zen.cow /usr/share/cowsay/cows/bong.cow ...
Kokkuvõte
Locate on lihtne ja kiire viis leidmaks failide asukohti, mille võimekust on võimalik oluliselt laiendada kasutades otsinguterminis regulaaravaldisi.