Whereis: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Jkessel (talk | contribs)
mNo edit summary
Jkessel (talk | contribs)
No edit summary
Line 3: Line 3:


==Sissejuhatus ja ülevaade==
==Sissejuhatus ja ülevaade==
[[(1)]]Järgnevas artiklis on ära kirjeldatud käsk nimega '''whereis ehk kus on'''. Kasutatakse eelkõige binaarkoodi, lähtekoha- ja manual-failide otsimiseks süsteemist.
[[(1)]] Järgnevas artiklis on ära kirjeldatud käsk nimega '''whereis ehk kus on'''. Kasutatakse eelkõige binaarkoodi, lähtekoha- ja manual-failide otsimiseks süsteemist.
'''Whereis'''-i kasutades võetakse otsitavalt sõnelt ära kõik faili-laiendid, mis pruugivad seda otsingut segada. Seejärel proovib '''whereis''' käsk leida otsitavat sõnet Linux süsteemist. Tegemist on lihtsa käsuga, mida on ka lihtne kasutada tänu lisatavatele võtmetele.
'''Whereis'''-i kasutades võetakse otsitavalt sõnelt ära kõik faili-laiendid, mis pruugivad seda otsingut segada. Seejärel proovib '''whereis''' käsk leida otsitavat sõnet Linux süsteemist. Tegemist on lihtsa käsuga, mida on ka lihtne kasutada tänu lisatavatele võtmetele.
Käsk üritab kasutada oma otsingus $PATH ja $MANPATH keskkonna muutujaid. Kõige lihtsam viis, et teada saada mis teid whereis käsk kasutab on lõppu lisada -l operaator. Sellisel viisil kuvatakse välja teed, miskaudu otsiti dokumenti või kausta.
Käsk üritab kasutada oma otsingus $PATH ja $MANPATH keskkonna muutujaid. Kõige lihtsam viis, et teada saada mis teid whereis käsk kasutab on lõppu lisada -l operaator. Sellisel viisil kuvatakse välja teed, miskaudu otsiti dokumenti või kausta.

Revision as of 21:20, 11 January 2015

Autor

Joonas-Tanel Kessel A21

Sissejuhatus ja ülevaade

(1) Järgnevas artiklis on ära kirjeldatud käsk nimega whereis ehk kus on. Kasutatakse eelkõige binaarkoodi, lähtekoha- ja manual-failide otsimiseks süsteemist. Whereis-i kasutades võetakse otsitavalt sõnelt ära kõik faili-laiendid, mis pruugivad seda otsingut segada. Seejärel proovib whereis käsk leida otsitavat sõnet Linux süsteemist. Tegemist on lihtsa käsuga, mida on ka lihtne kasutada tänu lisatavatele võtmetele. Käsk üritab kasutada oma otsingus $PATH ja $MANPATH keskkonna muutujaid. Kõige lihtsam viis, et teada saada mis teid whereis käsk kasutab on lõppu lisada -l operaator. Sellisel viisil kuvatakse välja teed, miskaudu otsiti dokumenti või kausta. Kuigi süsteemilt oodatakse tihti perfektset tagasisidet, tagastab käsk tihti vähem või rohkem kui vajati. Näiteks ei tagasta käsk programmi asukohta arvutis, kuhu ei ole lähtekood peale installeeritud.

Mõnede käskude puhul pruugib juhtuda, et ei tagastata käivitatavat faili. Põhjuseks võib olla otse Shell-ile ülesehitatus. Juhul, kui ei leita otsingutes midagi ühegi võtme kohta, ei tagastata ka otsingutulemusi. Kui leitakse mitmeid vasteid, tagastatakse kõik need whereis-i poolt. Whereis käsuga otsides tuleb tähele panna asjaolu, et tehes otsinguid, ei ole kõikide failide puhul võimalik rakendada kõiki võtmeid. Whereis käsk on üks osa util-linux paketist, mis on saadaval Linux Kernel Archive-ist, järgneval FTP-lingil- [[1]]


Käsu formaadid [2]

Whereis-i puhul on võimalik otsida nii ilma, kui ka koos võtmega.

whereis [-valikud]
whereis [otsitav sõne ilma võtmeta]
whereis -b[otsitav sõne võtmega]

Whereis süntaks [[3]]

whereis [käsklus/command].
whereis programm.
whereis [valikud] programm
whereis BMS kaust e. directory -f käsklus

Näited whereis kasutusest[[4]]

Whereis kasutamine failide otsimiseks, kus näitena otsime faili "linux".
whereis  linux
Whereis kasutamine binaarfailide otsimiseks, kus näitena otsime "linux" binaarfaile
whereis -b linux

Siinkohal tuleb tähele panna asjaolu, et binaarfailide otsimiseks lisandub käskluse enda järele "-b"


Binaarfailid piiramine kaustades

You can pass the following option to limit limit the places where whereis searches for files: Selle tõkisega on võimalik piirata kindlate kaustadega binaarfailide otsimist nendes kaustades

Whereis kasutamine juhendifaiide otsimiseks, kus näitena otsime "linux" juhendifaile
whereis -m linux

Siinkohal tuleb tähele panna asjaolu, et juhendifailide otsimiseks lisandub käskluse enda järele "-m"

Whereis kasutamine lähtekoodi otsimiseks, kus näitena otsime "linux" lähtekoodi
whereis -s linux

Siinkohal tuleb tähele panna asjaolu, et lähtekoodi otsimiseks lisandub käskluse enda järele "-s"

Ebaharilikud failid ja nende otsimine

Ebaharilikeks failideks nimetatakse just neid faile, millel on rohkem kui üks sisestus selle faili kohta. Järgnev näide näitab kuidas kasutada whereis käsklust ebaharilike failide otsimiseks.

whereis -m -u *


Whereis kasutamisest kaustapiirangutega [5]

Binaarfailide otsimise limiteerimine kindlate kataloogidega

Käsu järele kirjutatakse tühikutega eraldatud kaustad

whereis -B nimekiri piiravatest kaustadest


Juhendifailide otsimise limiteerimine kindlate kataloogidega

Käsu järele kirjutatakse tühikutega eraldatud kaustad

whereis -M nimekiri piiravatest kaustadest
Lähtefailide otsimise limiteerimine kindlate kataloogidega

Käsu järele kirjutatakse tühikutega eraldatud kaustad

whereis -S nimekiri piiravatest kaustadest
Failide kustutamine nende leidmisel Whereis-iga

Kutstutab kausta, mida whereis käsuga ette kirjutati. Oluline on meeles pidada, et saab kasutada vaid operaatoritega -B, -M või -S

whereis -M -f
Failide otsimiseks kasutatud teekondade kuvamine -l käsu abil.

Võimalik kasutada ka ilma operaatoriteta (-M, -B, -S), kus viimasel juhul jäetakse välja "hard-coded" teekonnad.

whereis [-M] -l


Näide mitme võtme kasutamisest Whereis käsu juures

Toon näitena ülesande, kus proovin leida /usr/bin kataloogist kõik dokumendid, mida ei ole dokumenteeritud /usr/man/man1 kataloogis või oma source-i /usr/bin kataloogis.

Kõigepealt sisenen kataloogi täispika teega

cd /usr/bin

Seejärel kirjutan käsu, et otsida kataloogist käsuga ebaharilikke faile, mis on juhendifailid ja lähtekoodis.

whereis -u -ms

Lisan käsule otsa veel operaatoreid ja kaustu, kus otsin lisaks eelnevale ka piiranguga juhendifaile kaustast /usr/man/man1

whereis -u -ms -M /usr/man/man1

Lisan veel ühe operaatori koos piirava kaustaga, kus viimasest otsin lähtekood, kaustast /usr/src/ -f. Lõpetan käsu *-operaatoriga et kuvataks kõik andmed

whereis -u -ms -M /usr/man/man1 -S /usr/src -f *



Kokkuvõte

Whereis käsk on eelkõige mõeldud 3 tüüpfaili otsimiseks UNIX-tüüpi operatsioonisüsteemidest. Käsule on võimalik juurde liite erinevaid võtmeid ja piiranguid, mis annaksid täpsemaid tulemusi kindlate kaustade või failide otsimisel. Lisaks sellele kui otsitakse teada-tuntud faili aga asukoht on teadmata, saab otsida ka ebaharilike faile. Whereis käsul on ka mõned endapoolsed piirangud. Nimelt kõiksugused failid, mis on SHELL-i ülesehitatud, ei tule otsingutulemustes välja ja jätab kasutaja teadmatusse. Isiklikult leian, et Op. süsteemide ja administreerimise kursuse raames on käsk piisavalt huvi tekitav ja aimu andev. Selle käsu raames artikli kirjutamine ja üldse referaadi teema valik millegi tundmatu osas annab Unixi põhiste käskude ja käsurea võimaluste kohta veelgi rohkem infot. Whereis käsu puhul on pelgalt lugedes, ilma praktilise lähenemiseta raske mõista selle tegelikku olemust. Arvan, et segadust pruugib tekitada asjaolu, et whereis mitte ei otsi faile konkreetselt vaid kuvab kasutajale selle asukoha ning seda täispika teena.

Kasutatud kirjandus

(1) http://www.thegeekstuff.com/2013/04/linux-which-whatis-whereis

http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary

http://linux.about.com/library/cmd/blcmdl1_whereis.htm

http://man7.org/linux/man-pages/man1/whereis.1.html

http://www.linfo.org/whereis.html