Whereis

From ICO wiki
Revision as of 21:13, 11 January 2015 by Jkessel (talk | contribs)
Jump to navigationJump to search

Autor

Joonas-Tanel Kessel A21

Sissejuhatus ja ülevaade [1]

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. 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 käsk proovib üles leida dokumente ja faile hard-coded teedest(lühike-,täispikk tee), mis on kirjeldatud glob-mustritega. 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. Ilmselt juhtub see tänu asjaolule, et ei selliseid eraldi käivitatavaid faile olemas, sest need on otse SHELL'ile ülesehitatud. Juhul, kui ei leita otsingutes midagi kasvõi ü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- [[2]]


Käsu formaadid [3]

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 põhiline kasutamine e. syntax [[4]]

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

Näited whereis kasutusest{[5]]

Whereis kasutamine failide e. files otsimiseks, kus näitena otsime faili "linux".
$ whereis  linux
Whereis kasutamine binaarfailide e. binary files 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 e. manual files 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 e. source code 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 [6]

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. Käsku kasutades tuleb olla teadlik selle kasutamisvõimalustest.

Kasutatud kirjandus

[7]

[8]

[9]

[10]

[11]