Locate: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''WORK STILL IN PROGRESS'''
==Autor==
Priit P.
 
Rühm A21
 
30.11.2015


==Sissejuhatus==
==Sissejuhatus==
'''locate''' on program UNIXile ja UNIXi-laadsetele operatsioonisüsteemidele, mis võimaldab otsida faile nende nime alusel. <ref name="LinuxManual">[http://man7.org/linux/man-pages/man1/locate.1.html  locate(1) - Linux manual page]</ref>
'''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>
Windows operatsioonisüsteemide perekonnale on saadaval locate'i alternatiiv programmi Locate32 näol.<ref>[http://locate32.cogit.net/  Locate32]</ref>


==Töömehhanism==
==Töömehhanism==
locate kasutab otsingute kiirendamiseks andmebaasi, kuhu on kantud failide nimed ja nende suhtelised asukohad kataloogipuus. Andmebaasi uuendamine toimub vaikimisi igapäevaselt utiliidi cron abiga. Ühtlasi on võimalik andmebaasi uuendada käsitsi, kasutades selleks käsku updatedb <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 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==
==Kasutatud allikad==
<references />
<references />


==Autor==
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]
Priit Pennula
 
Rühm A21
 
2*.11.2015

Latest revision as of 20: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.

[1]

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.

Kasutatud allikad