Locate: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ppennula (talk | contribs)
No edit summary
Ppennula (talk | contribs)
 
(10 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 programm UNIXile ja UNIXi-laadsetele operatsioonisüsteemidele, mis võimaldab otsida faile nende nime alusel.<ref name="locateman">[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==
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>


==Töömehhanism==
==Kasutamine==
locate võrdleb käsule antud argumenti (s.t otsitavat failinime või selle osa - metasümbolite abiga) spetsiaalse andmebaasi kannetega.<ref name="locateman"></ref> Sellesse andmebaasi on kantud failide nimed ja nende suhtelised asukohad. locate'i andmebaasi on võimalik 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> Või automaatselt - näiteks cron abiga.<ref> [http://linux.die.net/man/8/updatedb updatedb(8) - Linux man page] </ref> Locate'i andmebaasi kasutamine annab võidu otsingu kiiruses, kuid sissekanded pärinevad ajast, mil andmebaasi viimati värskendati, seega ei pruugi locate alati leida värskelt loodud faile, vaid enne on tarvis juurkasutajana sisestada käsitsi või oodata ära ajastatud updatedb käsklus.<ref>[http://www.linfo.org/locate.html The locate Command]</ref>


Üldjuhul eksisteerib locate Linuxi distributsioonide tarkvara repositooriumites nime all "locate".


==Kasutamine==
<code>locate</code> toimib tavakasutaja- ning <code>updatedb</code> juurkasutaja õigustes.
*Kui otsinguterminis puuduvad metasümbolid, siis kuvatakse kasutajale '''kõik''' otsinguterminit sisaldavad failinimed koos täispika asukohaga.


*Kui otsinguterminis eksisteerivad metasümbolid, siis kuvatakse kasutajale '''ainult''' mustriga klappivad failinimed koos täispika asukohaga.
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===  
===Käsuformaat===  
Kokkuvõtlikult:<ref>[http://linux.die.net/man/1/locate locate(1) - Linux man page]</ref>
Lühidalt:<ref name="die"></ref>
<pre>locate [ARGUMENDID]... OTSINGUTERMIN...</pre>
 
<code>locate [ARGUMENDID] OTSINGUTERMIN</code>


Ülevaatlikult:<ref name="locateman"></ref>
Ülevaatlikult:<ref name="locateman"></ref>
<pre>locate [-d path | --database=path] [-e | -E | --[non-]existing] [-i |
<pre>locate [-d path | --database=path] [-e | -E | --[non-]existing] [-i |
     --ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] [-b |
     --ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] [-b |
Line 30: Line 39:


====Kohustuslikud====
====Kohustuslikud====
OTSINGUTERMIN - otsitav termin või selle osa
'''OTSINGUTERMIN''' - otsitav termin või selle osa koos vastava mustriga.


====Valikulised====
====Valikulised====
-0, --null  
'''-0, --null''' - kasutab EOL-i asemel eraldajana null-sümbolit.
 
'''-A, --all''' - kuvab ainult tulemused, mis vastavad kõigile non-option argumentidele.


-A, --all
'''-b, --basename''' - võrdleb otsinguterminiga üksnes andmebaasikande viimast komponenti (s.t faili- või kausta nime arvestamata vasteid kataloogipuus).


-b, --basename
'''-c, --count''' - kuvab otsingu tulemusena leitud failinimede hulga.


-c, --count
'''-d path, --database=path''' - võimaldab valida alternatiivseid andmebaase, kus ''path'' on andmebaasi asukoht.


-d path, --database=path
'''-e, --existing''' - kuvab üksnes failid, mis eksisteerivad nii käsu käivitamise kui ka updatedb käivitamise ajahetkel.


-e, --existing
'''-E, --non-existing''' - kuvab üksnes failid, mis käsu käivitamise ajahetkel ei eksisteeri, kuid updatedb käivitamise ajal eksisteerisid.


-E, --non-existing
'''--help''' - kuvab kokkuvõtte locate'i argumentidest.


--help
'''-i, --ignore-case''' - ignoreerib tõusutundlikkust nii failinimes kui otsinguterminis.


-i, --ignore-case
'''-l N, --limit=N''' - piirab otsingutulemuste hulka, kus N on suurim hulk vasteid. Kasutades koos argumendiga -c, ei ole kunagi c > N.


-l N, --limit=N
'''-L, --follow''' - failide olemasolu testimisel (kasutades -e või -E argumenti) liigitab symlinkid mitte-eksisteerivateks. See on vaikimisi valik.


-L, --follow
'''--max-database-age D''' - locate hoiatab vaikimisi, kui andmebaas on vanem kui 8 päeva. Antud argumendiga on võimalik seda hoiatusperioodi muuta.


--max-database-age D
'''-m, --mmap''' - eksisteerib üksnes BSD locate'i versiooniga ühilduvuse eesmärgil.


-m, --mmap
'''-P, -H, --nofollow''' - failide olemasolu testimisel (kasutades -e või -E argumenti) liigitab symlinkid eksisteerivateks failideks.


-P, -H, --nofollow
'''-p, --print'''- kuvab otsingutulemused isegi, kui kasutusel on argumendid -S või -c.


-p, --print
'''-r, --regex''' - käsureale sisestatud mustrit tõlgendatakse glob-mustri asemel regulaaravaldisena.


-r, --regex
'''-s, --stdio''' - eksisteerib üksnes BSD locate'i versiooniga ühilduvuse eesmärgil.


-s, --stdio
'''-S, --statistics''' - kuvab statistika locate'i andmebaasi kohta.


-S, --statistics
'''--version''' - kuvab locate'i versiooniinfo.


--version
'''-w, --wholename''' - võrdleb otsinguterminiga andmebaasikande mistahes osa. See on vaikimisi valik.


-w, --wholename
<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>


===Näited===
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>


==Kasutatud allikad==
<references />


<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>


==Autor==
==Kokkuvõte==
Priit P.
Locate on lihtne ja kiire viis leidmaks failide asukohti, mille võimekust on võimalik oluliselt laiendada kasutades otsinguterminis regulaaravaldisi.


Rühm A21
==Kasutatud allikad==
<references />


2*.11.2015
[[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.

[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