Which: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Srekkaro (talk | contribs)
Srekkaro (talk | contribs)
 
(85 intermediate revisions by the same user not shown)
Line 5: Line 5:


=Sissejuhatus=
=Sissejuhatus=
'''which''' on lihtne käsk, mis võimaldab leida käsu või skripti käivitusfaili täispika tee, kui see asub ühes süsteemi või kasutaja kaustadest, mis on kirjeldatud keskkonnamuutujas $PATH. Kui kasutaja sisestab Linuxi käsureale käsu, siis kontrollib Linuxi kest (shell) $PATH keskkonnamuutujas kirjeldatud kaustades käsule vastava käivitusfaili olemasolu. Kui sobivat käivitusfaili ei leita, siis kuvatakse veateade "command not found," käivitusfaili olemasolu korral see käivitatakse. Analoogselt Linuxi kestale toimib ka käsklus '''which''', mis tagastab sisestatud käsu täispika tee, kui käivitusfail leitakse või tagastab veateate kui käsule on lisatud mitte-eksisteeriv optsioon. Programm ei kontrolli $PATH muutujas kirjeldatud kaustades asuvaid Symbolic linke. Programmil on kolm tagastusväärtust:  
<code>which</code> on lihtne käsk, mis võimaldab leida käsu või skripti käivitusfaili täispika tee, kui see asub ühes süsteemi või kasutaja kaustadest, mis on kirjeldatud keskkonnamuutujas '''$PATH'''. Kui kasutaja sisestab Linuxi käsureale käsu, siis kontrollib Linuxi shell '''$PATH''' keskkonnamuutujas kirjeldatud kaustadest sisestatud käsule vastava käivitusfaili olemasolu. Kui sobivat käivitusfaili ei leita, siis kuvatakse veateade "'''command not found'''," käivitusfaili olemasolu korral see käivitatakse. Analoogselt Linuxi shellile toimib ka käsklus <code>which</code>, mis tagastab sisestatud käsu täispika tee, kui käivitusfail leitakse või tagastab veateate kui käsule on lisatud mitte-eksisteeriv võti. Programm ei kontrolli '''$PATH''' muutujas kirjeldatud kaustades asuvaid nimelinke.  
Programmil on Debiani baasil Linuxi distributsioonides kolm tagastusväärtust:[http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en [1]]
* 0 - argumendile vastav käivitusfail leiti.
* 0 - argumendile vastav käivitusfail leiti.
* 1 - argumendile vastavat käivitusfaili ei leitud.
* 1 - argumendile vastavat käivitusfaili ei leitud.
* 2 - käsk sisestati koos vigase võtmega.
* 2 - käsk sisestati koos vigase võtmega.
[1] (URL: http://linux.about.com/library/cmd/blcmdl1_which.htm) [2] (http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en)
 
Teistel Unixi-laadsetel süsteemidel on tagastusväärtuseid kaks [http://unixhelp.ed.ac.uk/CGI/man-cgi?which [2]]:
*  n  - argumentide arv, millele sobiva vaste leidmine ei õnnestunud.
* -1 - käsklus sisestati ilma argumendita


=Käsu süntaks=
=Käsu süntaks=
Käsk '''which''' süntaks erineb mõningal määral, olenevalt kasutusel olevast Linux või BSD distributsioonist. Vähemate võimalustega on käsklus Debianil põhinevatel Linuxitel [3] (http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en). Keerukam on käsu süntaks teistel Unixil põhinevatel operatsioonisüsteemidel, näiteks Gentoo 2.6.23-gentoo-r8. [4] (http://unixhelp.ed.ac.uk/CGI/man-cgi?which). Käsu kasutamiseks piisab tavakasutaja õigustest.
Käsu <code>which</code> süntaks erineb mõningal määral, olenevalt kasutatavast Linuxi (või mõne muu Unixi-laadse) distributsioonist. Vähemate võimalustega on käsklus Debianil põhinevatel Linuxitel [http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en [1]]. Keerukam on käsu süntaks teistel Unixil põhinevatel operatsioonisüsteemidel, näiteks Linuxi distributsioonil Gentoo [http://unixhelp.ed.ac.uk/CGI/man-cgi?which [2]]. Käsu kasutamiseks piisab tavakasutaja õigustest.


==Süntaks Debianil põhinevatel Linuxitel==  
==Süntaks Debianil põhinevatel Linuxitel==  
[3] http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en


which [optsioonid] argument
<code>
<pre>
which [võtmed] argument
</pre>
</code>
Käsu <code>which</code> argumendiks on programmi, skripti või käsu nimetus. Argumente võib <code> which</code> käsu järele sisestada mitu. [http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en [1]]


Optsioonid:
Võtmed:
<code>
<pre>
-a
</pre>
</code>
Prindib välja kõikide argumentide kõik leitud täispikad teed. Ilma võtmeta "-a" prinditakse ainult esimene leitud vaste.
 
==Süntaks teistel Unixi-laadsetel operatsioonisüsteemidel==


-a prindib välja kõikide argumentide kõik leitud täispikad teed. Ilma võtmeta "-a" prinditakse ainult esimene leitud väärtus
<pre>
which [võtmed] [--] argument
</pre>


argument- programmi, skripti või käsu nimetus. Argumente võib sisestada mitu.
Erinevalt Debianist on kasutatavate võtmete hulk oluliselt suurem. Argumendiks on otsitava käsu, skripti või programminimi. Argumente võib olla mitu. Tulemus tagastatakse iga argumendi kohta eraldi. [http://unixhelp.ed.ac.uk/CGI/man-cgi?which [2]]


==Süntaks teistel Unixi-laadsetel operatsioonisüsteemidel==
<pre>
--all, -a
</pre>  


[4] http://unixhelp.ed.ac.uk/CGI/man-cgi?which
Prindib ekraanile kõik sobivad täispikad teed, mis '''$PATH''' muutujas kirjeldatud kataloogidest leiti.  


which [võtmed] [--] argument
<pre>
--read-alias, -i
</pre>


Erinevalt Debianist on kasutatavate võtmete hulk oluliselt suurem. Argumendiks on otsitava käsu, skripti või programminimi. Argumente võib olla mitu. Tulemus tagastatakse iga argumendi kohta eraldi.
Loeb aliased standardsisendist ('''stdin'''), tagastab sobivad vasted standardväljundile ('''stdout'''). Kasulik võti näiteks siis, kui käsu <code>which</code> enda jaoks on kasutusel alias: <code>alias which=?alias | which -i?</code>


      --all, -a
<pre>
  Prindib ekraanile kõik sobivad käivitusfailid, mis PATH muutujas kirjeldatud kataloogidest leiti, mitte ainult esimese.  
--skip-alias
</pre>
Ignoreerib võtit: <code>--read-alias</code>, kui see peaks olema aktiivne. Kasulik kui otsitakse algseid käivitusfaile ning samal ajal on <code>which</code> käsklus koos võtmega <code>--read-alias</code> kasutusel aliase või funktsiooni osana.


      --read-alias, -i
<pre>
  Loeb aliased standard sisendist (stdin), tagastab sobivad standard väljundile (stdout). See on kasulik kombinatsioon, kuis käsu which      jaoks on kasutusel alias. Näiteks:
--read-functions
  alias which=?alias | which -i?.
</pre>
Kasutab shelli funktsiooni sisendite defineerimiseks standardsisendit ('''stdin'''), väljastab sobivad vasted standardväljundil ('''stdout'''). Kasulik kombinatsioon, kui kasutatakse shelli funktsiooni <code>which</code> käsu enda jaoks. Näiteks:  


      --skip-alias
<code>which() { declare -f | which --read-functions $@ }</code>
  Ignoreerib võtit: `--read-alias?, kui see peaks olema sisestatud. Kasulik kui otsitakse algseid käivitusfaile ja samal ajal on aliases    või funktsioonis kasutusel võti `--read-alias?
      --read-functions
  Loeb shelli funktsiooni definitsiooni standard sisendist (stdin), väljastab sobivad vasted standard väljundil (stdout). See on kasulik kombinatsioon, kui kasutatakse shelli funktsiooni which käsu enda jaoks. Näiteks:
  which() { declare -f | which --read-functions $@ }
  export -f which


      --skip-functions
<code>export -f which </code>
          Ignoreerib valikud '--read-functions?, kui see peaks olemas sisestatud. Kasulik, kui otsitakse konkreetselt normaalseid binaarfaile, samal ajal, kui on aktiivne 'read-functions?' optsioon which funktsiooni või aliase seadistuses.
<pre>
--skip-functions
</pre>
Ignoreerib valikud <code>--read-functions</code>, kui see peaks olemas sisestatud. Kasulik, kui otsitakse konkreetselt binaarfaile ja on aktiivne <code>read-functions</code> võti which funktsiooni või aliase seadistuses.
   
   
<pre>
--skip-dot
</pre>
Käsk ignoreerib '''$PATH''' keskkonnamuutujas kirjeldatud punktiga algavaid kaustu.
<pre>
--skip-tilde
</pre>
Käsk ignoreerib '''$PATH''' keskkonnamuutujas kirjeldatud kaustu, mis algavad tildega ja binaarfaile, mis asuvad HOME kataloogis.
<pre>
--show-dot
</pre>
Kui kaust '''$PATH''' muutujas algab punktiga ja otsitav käivitusfail asub antud kataloogis, siis väljastatakse ekraanile "<code>./programminimi</code>," selle asemel, et kuvada faili täispikka teed.
<pre>
--show-tilde
</pre>
Väljastab tilde, kui otsingutulemus asub "HOME" kataloogis. Antud valikut ignoreeritakse, kui käsk on väljakutsutud juurkasutajana.
<pre>
--tty-only
</pre>
Peatab võtmete protsessimise, kui need ei pärine tty terminalilt.
<pre>
--version,-v,-V
</pre>
Väljastab standardväljundile ('''stdout''') <code>which</code> programmi versiooni informatsiooni.
<pre>
--help
</pre>
Väljastab standardväljundile programmi kasutusjuhendi, mis on analoogne käsu <code>which</code> manualiga.


      --skip-dot
=Näited=
  Käsk ignoreerib PATH keskkonnamuutujas kirjeldatud punktiga algavaid kaustu.
Kuna <code>which</code> käsu süntaks on olenevalt Linuxi distributsioonist erinev, siis on allpool eraldi väljatoodud näited nii Debian (lihtsam) Linuxi, kui ka Gentoo (keerukam) Linuxi kohta.


      --skip-tilde
==Näited Debiani baasil==
  Käsk ignoreerib PATH keskkonnamuutujas kirjeldatud kaustu, mis alavad tildega ja binaarfaile, mis asuvad HOME kataloogis.


      --show-dot
Ühe programmi käivitusfaili otsimiseks:
  Kui kaust PATH muutujas algab punktiga ja otsitav käivitusfail asub antud kataloogis, siis väljastatakse ekraanile "./programminimi," selle asemel, et kuvada faili täispikka teed.
<pre>
which fdisk
</pre>
Ekraanile tagastatakse tulemus:
<pre>
/sbin/fdisk
</pre>


      --show-tilde
Otsingut võib teostada ka mitme programmi kohta üheaegselt:
  Väljastab tilde, kui otsingutulemus asub HOME kataloogis. Antud valikut ignoreeritakse, kui käsk on väljakutsutud juurkasutajana.
<pre>
which fdisk ifconfig make mkdir
</pre>
Tulemus ekraanil:
<pre>
/sbin/fdisk
/sbin/ifconfig
/usr/bin/make
/bin/mkdir
</pre>


      --tty-only
Kõikide asukohtade ekraanile kuvamiseks tuleb kasutada võtit <code>-a</code>:
  Peatab valikute protsessimise, kui need ei pärine tty terminalilt.
<pre>
which -a less
</pre>
Tulemus:
<pre>
/usr/bin/less
/bin/less
</pre>


      --version,-v,-V
==Näited Gentoo baasil==
  Väljastab standardväljundile (stdout) versiooni informatsiooni ja seejärel väljub edukalt programmitööst.
Ühe programmi otsimine:
<pre>
which which
</pre>
Tagastab tulemuse:
<pre>
/usr/bin/which
</pre>


      --help
Mitme programmi otsimine:
  Väljastab standardväljundis kasutusinformatsiooni ja seejärel väljub edukalt programmitööst.
<pre>
which man cp mkdir ifconfig
</pre>


=Näited=
Tulemus:
<pre>
/usr/bin/man
/usr/bin/cp
/usr/bin/mkdir
/sbin/ifconfig
</pre>
 
Sarnaselt Debianile toimib ka võti <code> -a </code> või <code>--all</code>, mis tagastab kõik positiivsed otsingutulemused:
 
<pre>
which --all nano
</pre>
Tagastab tulemuse:
<pre>
/usr/bin/nano
/bin/nano
</pre>
 
Kui otsida programmi, mis ei asu keskkonnamuutujas '''$PATH''' kirjeldatud kaustades, siis tagastab programm, erinevalt Debiani baasil süsteemidest, veateate iga argumendi, mida ei leitud, kohta.
<pre>
which minuprogramm
</pre>
Tulemus veateate näol:
<pre>
which: no minuprogramm in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2)
</pre>
 
<code>which</code> kasutamise näide C shelli aliasena või Bourne shelli funtsioonina [http://unixhelp.ed.ac.uk/CGI/man-cgi?which [2]]:
<pre>
      [ba]sh:
 
    which ()
    {
      (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
    }
    export -f which
</pre>
<pre>
      [t]csh:
 
    alias which ?alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde?
</pre>
Aliase/shelli funktsiooni näite tulemus käsu <code>which</code> käsurealt käivitamisel. Programmi asukoht näidatakse ekraanil vastavalt <code>~/programminimi</code> või <code>./programminimi</code>, kui programmi käivitusfail asub, kas kasutaja kodukataloogis või mõnes peidetud kataloogis:
<pre>
which q2
~/bin/q2
</pre>
Aliase/shelli funktsiooni näite tulemus, kui käsku <code>which</code> kasutatakse mõne skripti koosseisus. Tulemuse väljastatakse täispika teena:
<pre>
echo `which q2`
/home/carlo/bin/q2
</pre>


=Kokkuvõte=
=Kokkuvõte=
<code>which</code> on oluline abivahend erinevate programmide ja skriptide käivitusfailide leidmisel Unixil baseeruvatest süsteemidest. <code>which</code> võimaldab kasutajal aega kokku hoida: puudub vajadus käsitsi erinevatest kaustadest käivitusfaile otsida või failiotsingu tulemusi analüüsida. <code>which</code> kiirendab administraatori ja kasutaja jaoks süsteemi ülesehitusest ettekujutuse saamist.
Debianil baseeruvatel Linuxi distributsioonidel on mindud käsu lihtsutamise teed ning alles on jäetud vaid <code>-a</code> võti. Sellega tagatakse programmi kasutusmugavus tavakasutajale- lakooniline kasutusjuhend ei hirmuta kasutajat ära. Samas on piiratud käsu funktsionaalsust.
Teistel Unixi-laadsetel operatsioonisüsteemidel on käsu põhifunktsionaalsuse kasutusmugavus analoogne Debiani süsteemidega. Samas on võimalik täiendatavate võtmete ja valikute kasutamine aliastes ning shelli funktsioonides.
Koos käskudega <code>whatis</code> ja <code>whereis</code> moodustab <code>which</code> ideaalse "tööriistakomplekti" Linuxi käsurea vahendusel käskude, programmide ja skriptide binaarfailide ning juhendite leidmiseks. [http://www.thegeekstuff.com/2013/04/linux-which-whatis-whereis/ [3]]


=Kasutatud kirjandus=
=Kasutatud kirjandus=
[1] http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en
[2] http://unixhelp.ed.ac.uk/CGI/man-cgi?which
[3] http://www.thegeekstuff.com/2013/04/linux-which-whatis-whereis/
[4] http://www.cyberciti.biz/faq/unix-linux-which-command-examples-syntax-to-locate-programs/


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

Latest revision as of 16:06, 4 January 2015

Autor

Sven Rekkaro AK21
Sügis 2014

Sissejuhatus

which on lihtne käsk, mis võimaldab leida käsu või skripti käivitusfaili täispika tee, kui see asub ühes süsteemi või kasutaja kaustadest, mis on kirjeldatud keskkonnamuutujas $PATH. Kui kasutaja sisestab Linuxi käsureale käsu, siis kontrollib Linuxi shell $PATH keskkonnamuutujas kirjeldatud kaustadest sisestatud käsule vastava käivitusfaili olemasolu. Kui sobivat käivitusfaili ei leita, siis kuvatakse veateade "command not found," käivitusfaili olemasolu korral see käivitatakse. Analoogselt Linuxi shellile toimib ka käsklus which, mis tagastab sisestatud käsu täispika tee, kui käivitusfail leitakse või tagastab veateate kui käsule on lisatud mitte-eksisteeriv võti. Programm ei kontrolli $PATH muutujas kirjeldatud kaustades asuvaid nimelinke. Programmil on Debiani baasil Linuxi distributsioonides kolm tagastusväärtust:[1]

  • 0 - argumendile vastav käivitusfail leiti.
  • 1 - argumendile vastavat käivitusfaili ei leitud.
  • 2 - käsk sisestati koos vigase võtmega.

Teistel Unixi-laadsetel süsteemidel on tagastusväärtuseid kaks [2]:

  • n - argumentide arv, millele sobiva vaste leidmine ei õnnestunud.
  • -1 - käsklus sisestati ilma argumendita

Käsu süntaks

Käsu which süntaks erineb mõningal määral, olenevalt kasutatavast Linuxi (või mõne muu Unixi-laadse) distributsioonist. Vähemate võimalustega on käsklus Debianil põhinevatel Linuxitel [1]. Keerukam on käsu süntaks teistel Unixil põhinevatel operatsioonisüsteemidel, näiteks Linuxi distributsioonil Gentoo [2]. Käsu kasutamiseks piisab tavakasutaja õigustest.

Süntaks Debianil põhinevatel Linuxitel

which [võtmed] argument

Käsu which argumendiks on programmi, skripti või käsu nimetus. Argumente võib which käsu järele sisestada mitu. [1]

Võtmed:

-a

Prindib välja kõikide argumentide kõik leitud täispikad teed. Ilma võtmeta "-a" prinditakse ainult esimene leitud vaste.

Süntaks teistel Unixi-laadsetel operatsioonisüsteemidel

which [võtmed] [--] argument

Erinevalt Debianist on kasutatavate võtmete hulk oluliselt suurem. Argumendiks on otsitava käsu, skripti või programminimi. Argumente võib olla mitu. Tulemus tagastatakse iga argumendi kohta eraldi. [2]

--all, -a

Prindib ekraanile kõik sobivad täispikad teed, mis $PATH muutujas kirjeldatud kataloogidest leiti.

--read-alias, -i

Loeb aliased standardsisendist (stdin), tagastab sobivad vasted standardväljundile (stdout). Kasulik võti näiteks siis, kui käsu which enda jaoks on kasutusel alias: alias which=?alias | which -i?

--skip-alias

Ignoreerib võtit: --read-alias, kui see peaks olema aktiivne. Kasulik kui otsitakse algseid käivitusfaile ning samal ajal on which käsklus koos võtmega --read-alias kasutusel aliase või funktsiooni osana.

--read-functions

Kasutab shelli funktsiooni sisendite defineerimiseks standardsisendit (stdin), väljastab sobivad vasted standardväljundil (stdout). Kasulik kombinatsioon, kui kasutatakse shelli funktsiooni which käsu enda jaoks. Näiteks:

which() { declare -f | which --read-functions $@ }

export -f which

--skip-functions

Ignoreerib valikud --read-functions, kui see peaks olemas sisestatud. Kasulik, kui otsitakse konkreetselt binaarfaile ja on aktiivne read-functions võti which funktsiooni või aliase seadistuses.

--skip-dot

Käsk ignoreerib $PATH keskkonnamuutujas kirjeldatud punktiga algavaid kaustu.

--skip-tilde

Käsk ignoreerib $PATH keskkonnamuutujas kirjeldatud kaustu, mis algavad tildega ja binaarfaile, mis asuvad HOME kataloogis.

--show-dot

Kui kaust $PATH muutujas algab punktiga ja otsitav käivitusfail asub antud kataloogis, siis väljastatakse ekraanile "./programminimi," selle asemel, et kuvada faili täispikka teed.

--show-tilde

Väljastab tilde, kui otsingutulemus asub "HOME" kataloogis. Antud valikut ignoreeritakse, kui käsk on väljakutsutud juurkasutajana.

--tty-only

Peatab võtmete protsessimise, kui need ei pärine tty terminalilt.

--version,-v,-V

Väljastab standardväljundile (stdout) which programmi versiooni informatsiooni.

--help

Väljastab standardväljundile programmi kasutusjuhendi, mis on analoogne käsu which manualiga.

Näited

Kuna which käsu süntaks on olenevalt Linuxi distributsioonist erinev, siis on allpool eraldi väljatoodud näited nii Debian (lihtsam) Linuxi, kui ka Gentoo (keerukam) Linuxi kohta.

Näited Debiani baasil

Ühe programmi käivitusfaili otsimiseks:

which fdisk

Ekraanile tagastatakse tulemus:

/sbin/fdisk

Otsingut võib teostada ka mitme programmi kohta üheaegselt:

which fdisk ifconfig make mkdir

Tulemus ekraanil:

/sbin/fdisk
/sbin/ifconfig
/usr/bin/make
/bin/mkdir

Kõikide asukohtade ekraanile kuvamiseks tuleb kasutada võtit -a:

which -a less

Tulemus:

/usr/bin/less
/bin/less

Näited Gentoo baasil

Ühe programmi otsimine:

which which

Tagastab tulemuse:

/usr/bin/which

Mitme programmi otsimine:

which man cp mkdir ifconfig

Tulemus:

/usr/bin/man
/usr/bin/cp
/usr/bin/mkdir
/sbin/ifconfig

Sarnaselt Debianile toimib ka võti -a või --all, mis tagastab kõik positiivsed otsingutulemused:

which --all nano

Tagastab tulemuse:

/usr/bin/nano
/bin/nano

Kui otsida programmi, mis ei asu keskkonnamuutujas $PATH kirjeldatud kaustades, siis tagastab programm, erinevalt Debiani baasil süsteemidest, veateate iga argumendi, mida ei leitud, kohta.

which minuprogramm

Tulemus veateate näol:

which: no minuprogramm in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2)

which kasutamise näide C shelli aliasena või Bourne shelli funtsioonina [2]:

       [ba]sh:

	    which ()
	    {
	      (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
	    }
	    export -f which
       [t]csh:

	    alias which ?alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde?

Aliase/shelli funktsiooni näite tulemus käsu which käsurealt käivitamisel. Programmi asukoht näidatakse ekraanil vastavalt ~/programminimi või ./programminimi, kui programmi käivitusfail asub, kas kasutaja kodukataloogis või mõnes peidetud kataloogis:

which q2
~/bin/q2

Aliase/shelli funktsiooni näite tulemus, kui käsku which kasutatakse mõne skripti koosseisus. Tulemuse väljastatakse täispika teena:

echo `which q2`
/home/carlo/bin/q2

Kokkuvõte

which on oluline abivahend erinevate programmide ja skriptide käivitusfailide leidmisel Unixil baseeruvatest süsteemidest. which võimaldab kasutajal aega kokku hoida: puudub vajadus käsitsi erinevatest kaustadest käivitusfaile otsida või failiotsingu tulemusi analüüsida. which kiirendab administraatori ja kasutaja jaoks süsteemi ülesehitusest ettekujutuse saamist.

Debianil baseeruvatel Linuxi distributsioonidel on mindud käsu lihtsutamise teed ning alles on jäetud vaid -a võti. Sellega tagatakse programmi kasutusmugavus tavakasutajale- lakooniline kasutusjuhend ei hirmuta kasutajat ära. Samas on piiratud käsu funktsionaalsust.

Teistel Unixi-laadsetel operatsioonisüsteemidel on käsu põhifunktsionaalsuse kasutusmugavus analoogne Debiani süsteemidega. Samas on võimalik täiendatavate võtmete ja valikute kasutamine aliastes ning shelli funktsioonides.

Koos käskudega whatis ja whereis moodustab which ideaalse "tööriistakomplekti" Linuxi käsurea vahendusel käskude, programmide ja skriptide binaarfailide ning juhendite leidmiseks. [3]

Kasutatud kirjandus

[1] http://manpages.debian.org/cgi-bin/man.cgi?query=which&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en

[2] http://unixhelp.ed.ac.uk/CGI/man-cgi?which

[3] http://www.thegeekstuff.com/2013/04/linux-which-whatis-whereis/

[4] http://www.cyberciti.biz/faq/unix-linux-which-command-examples-syntax-to-locate-programs/