Locate

From ICO wiki
Revision as of 22:46, 29 November 2015 by Ppennula (talk | contribs)
Jump to navigationJump to search

WORK STILL IN PROGRESS

Autor

Priit P.

Rühm A21

2*.11.2015

Sissejuhatus

locate on programm UNIXile ja UNIXi-laadsetele operatsioonisüsteemidele, mis võimaldab otsida faile nende nime alusel.[1]

Windows operatsioonisüsteemide perekonnale on saadaval locate'i alternatiiv programmi Locate32 näol.[2]

Töömehhanism

locate võrdleb käsule antud argumenti (s.t otsitavat failinime või selle osa - metasümbolite abiga) spetsiaalse andmebaasi sissekannetega.[1] Sellesse andmebaasi on kantud failide nimed ja nende suhtelised asukohad. Sissekandeid on võimalik uuendada käsitsi, kasutades selleks juurkasutajana käsku updatedb või automaatselt - näiteks cron abiga.[3][4] Locate'i andmebaasi kasutuse eeliseks on kiirusevõit otsingutel ning puuduseks andmebaasi intervallipõhine uuendamine, mille tulemusel ei pruugi locate leida uusimaid, veel baasi kandmata faile.[5]

Kasutamine

Üldjuhul on locate Linuxi distributsioonide tarkvara repositooriumites olemas ning paketi nimetus ongi "locate".

Locate vajab tavakasutaja- ja updatedb juurkasutaja õigusi.

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 info.[6]

Käsuformaat

Kokkuvõtlikult:[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 mustriga üksnes andmebaasis olevat basename'i.

-c, --count - kuvab üksnes 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, et 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 mustriga andmebaasis olevat täispikka failinime.

[1]

Näited

locate KusKyll*
/home/priit/Desktop/KusKyllOnSeeFail
locate Otsi*
/home/priit/OtsinJaOtsin
/home/priit/OtsinJaOtsin/LeitudKaust
/home/priit/OtsitavKaust
/home/priit/OtsitavKaust/JaAlam
locate -w /*Kaust
/home/priit/OtsinJaOtsin/LeitudKaust
/home/priit/OtsitavKaust
locate *solv.conf
/etc/resolv.conf


Kasutatud allikad