Whereis: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(46 intermediate revisions by the same user not shown)
Line 3: Line 3:


==Sissejuhatus ja ülevaade==
==Sissejuhatus ja ülevaade==
Kavatsen siin ära kirjeldada käsu nimega '''whereis'', mis oma olemuselt räägib lahti, mida ta teeb- where is ehk kus on. Kasutatakse eelkõige binaarkoodi, lähtekoha ja manual-failide otsimiseks süsteemist.
[http://www.thegeekstuff.com/2013/04/linux-which-whatis-whereis (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 hoopis segada. Samuti ei kasutata seal etteantud teid- ei täispikka ega otsest. 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 oma 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.
 
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.
 
Käsk on mõeldud eelkõige juurkasutaja õigustega kasutajale, kes otsib süsteemist vajaminevaid kolme tüüpi faile(manual, lähtekoha- ja binaarkoodi failid). Whereis-i kasutamisel tuleb eelnevalt tutvuda Linuxi põhimõistetega nagu "täispikk tee" ja "suhteline tee". Samuti on kasutajal vajalikud teadmised ka failitüüpide ja õiguste osas. Whereis on oma olemuselt küll lihtne kasutada aga ilma eelnevate teadmisteta ei ole selle tagastusinfoga suurt midagi peale hakata.
 
Whereis käsk on üks osa util-linux paketist, mis on saadaval Linux Kernel Archive-ist, järgneval FTP-lingil- ftp://ftp.kernel.org/pub/linux/utils/util-linux




==Käsu formaadid==
==Käsu formaadid==


'''Whereis-i''' puhul on võimalik otsida nii ilma, kui ka koos võtmega.
'''Whereis-i''' puhul on võimalik otsida nii ilma, kui ka koos võtmega[http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary (2)].


  <font size="4">$ whereis [-valikud]</font>
  <font size="4">whereis [-valikud]</font>


  <font size="4">$ whereis [otsitav sõne ilma võtmeta}</font>
  <font size="4">whereis [otsitav sõne ilma võtmeta]</font>


  <font size="4">$ whereis -b[otsitav sõne võtmega}</font>
  <font size="4">whereis -b[otsitav sõne võtmega]</font>


=='''Whereis''' põhiline kasutamine e. syntax==
=='''Whereis''' süntaks==


{|border="1" style="border-collapse:collapse; border-style:solid; border-color:#EEEEEE;"
{|border="1" style="border-collapse:collapse; border-style:solid; border-color:#EEEEEE;"


|style="width: 100px;" align="center"|'''whereis'''|style="width: 300px;" align="left"|'''[käsklus e. command]'''.
|style="width: 100px;" align="center"|'''whereis'''||style="width: 300px;" align="left"|'''[käsklus/command]'''.


|-
|-
Line 33: Line 43:
|-
|-


|style="width: 100px;" align="center"|||style="width: 300px;" align="left"|''BMS kaust e. directory -f käsklus e. command'''
|style="width: 100px;" align="center"|'''whereis'''||style="width: 300px;" align="left"|'''BMS kaust e. directory -f käsklus'''
|}
|}
==Näited whereis kasutusest==
<h5>'''Whereis kasutamine failide otsimiseks, kus näitena otsime faili [http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary (2)]</h5>
<font size="4">whereis  linux</font>
<h5>Whereis kasutamine binaarfailide  otsimiseks, kus näitena otsime "linux" binaarfaile</h5>
<font size="4">whereis -b linux</font>
Siinkohal tuleb tähele panna asjaolu, et binaarfailide otsimiseks lisandub käskluse enda järele "-b"
<h5>Binaarfailid piiramine kaustades</h5>
Selle tõkisega on võimalik piirata kindlate kaustadega binaarfailide otsimist nendes kaustades
<h5>Whereis kasutamine juhendifaiide otsimiseks, kus näitena otsime "linux" juhendifaile</h5>
<font size="4">whereis -m linux</font>
Siinkohal tuleb tähele panna asjaolu, et juhendifailide otsimiseks lisandub käskluse enda järele "-m"
<h5>Whereis kasutamine lähtekoodi otsimiseks, kus näitena otsime "linux" lähtekoodi</h5>
<font size="4">whereis -s linux</font>
Siinkohal tuleb tähele panna asjaolu, et lähtekoodi otsimiseks lisandub käskluse enda järele "-s"
<h5>Ebaharilikud failid ja nende otsimine</h5>
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.
<font size="4">whereis -m -u *</font>
== Whereis kasutamisest kaustapiirangutega [http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary (3)]==
<h5>Binaarfailide otsimise limiteerimine kindlate kataloogidega</h5>
Käsu järele kirjutatakse tühikutega eraldatud kaustad
<font size="4">whereis -B nimekiri piiravatest kaustadest</font>
<h5>Juhendifailide otsimise limiteerimine kindlate kataloogidega</h5>
Käsu järele kirjutatakse tühikutega eraldatud kaustad
<font size="4">whereis -M nimekiri piiravatest kaustadest</font>
<h5>Lähtefailide otsimise limiteerimine kindlate kataloogidega</h5>
Käsu järele kirjutatakse tühikutega eraldatud kaustad
<font size="4">whereis -S nimekiri piiravatest kaustadest</font>
<h5>Failide kustutamine nende leidmisel Whereis-iga</h5>
Kutstutab kausta, mida whereis käsuga ette kirjutati. Oluline on meeles pidada, et saab kasutada vaid operaatoritega -B, -M või -S
<font size="4">whereis -M -f</font>
<h5>Failide otsimiseks kasutatud teekondade kuvamine -l käsu abil.</h5>
Võimalik kasutada ka ilma operaatoriteta (-M, -B, -S), kus viimasel juhul jäetakse välja "hard-coded" teekonnad.
<font size="4">whereis [-M] -l</font>
<h5>Näide mitme võtme kasutamisest Whereis käsu juures [http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary (4)]</h5>
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
<font size="4">cd /usr/bin</font>
Seejärel kirjutan käsu, et otsida kataloogist käsuga ebaharilikke faile, mis on juhendifailid ja lähtekoodis.
<font size="4">whereis -u -ms</font>
Lisan käsule otsa veel operaatoreid ja kaustu, kus otsin lisaks eelnevale ka piiranguga juhendifaile kaustast /usr/man/man1
<font size="4">whereis -u -ms -M /usr/man/man1</font>
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
<font size="4">whereis -u -ms -M /usr/man/man1 -S /usr/src -f *</font>




Line 40: Line 133:
==Kokkuvõte==
==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 [http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary (5)].
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==
==Kasutatud kirjandus==
(1) http://www.thegeekstuff.com/2013/04/linux-which-whatis-whereis
(2) http://www.cyberciti.biz/faq/unix-linux-whereis-command-examples-to-locate-binary
(3) http://linux.about.com/library/cmd/blcmdl1_whereis.htm
(4) http://man7.org/linux/man-pages/man1/whereis.1.html
(5) http://www.linfo.org/whereis.html




[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 18:05, 15 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.

Käsk on mõeldud eelkõige juurkasutaja õigustega kasutajale, kes otsib süsteemist vajaminevaid kolme tüüpi faile(manual, lähtekoha- ja binaarkoodi failid). Whereis-i kasutamisel tuleb eelnevalt tutvuda Linuxi põhimõistetega nagu "täispikk tee" ja "suhteline tee". Samuti on kasutajal vajalikud teadmised ka failitüüpide ja õiguste osas. Whereis on oma olemuselt küll lihtne kasutada aga ilma eelnevate teadmisteta ei ole selle tagastusinfoga suurt midagi peale hakata.

Whereis käsk on üks osa util-linux paketist, mis on saadaval Linux Kernel Archive-ist, järgneval FTP-lingil- ftp://ftp.kernel.org/pub/linux/utils/util-linux


Käsu formaadid

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

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

Whereis süntaks

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

Näited whereis kasutusest

Whereis kasutamine failide otsimiseks, kus näitena otsime faili (2)
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

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 (3)

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 (4)

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 (5). 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

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

(3) http://linux.about.com/library/cmd/blcmdl1_whereis.htm

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

(5) http://www.linfo.org/whereis.html