Ero sivun ”PATH” versioiden välillä

Siirry navigaatioon Siirry hakuun
2 133 merkkiä lisätty ,  29. maaliskuuta 2009
p
(tallennus)
 
(10 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
PATH on erityisesti komentorivillä käytettävä [[wikipedia:fi:ympäristömuuttuja|ympäristömuuttuja]], joka määrittelee mistä hakemistoista suoritettavia ohjelmatiedostoja oletuksena haetaan. Oletetaan esimerkiksi, että käyttäjä haluaisi suorittaa ohjelmatiedoston /usr/sbin/[[iwconfig]]. Jos /usr/sbin:iä ei ole PATH-muuttujassa, joutuu käyttäjä ohjelman käynnistääkseen kirjoittamaan sen koko polun /usr/sbin/iwconfig. Jos taas kyseinen hakemisto on PATH:issä, tarvitsee hänen kirjoittaa vain iwconfig. Toisin kuin DOS:issa, Linuxissa ja muissa Unix-tyyppisissä järjestelmissä työhakemisto (eli se hakemisto missä käyttäjä kulloinkin on) ei oletuksena ole PATH:issä. Jos käyttäjä haluaa suorittaa työhakemistossaan olevan ajettavan tiedoston, tulee siihen viitata muodossa
PATH on erityisesti [[komentorivi]]llä käytettävä [[ympäristömuuttuja]], joka määrittelee mistä [[hakemisto]]ista suoritettavia ohjelmatiedostoja oletuksena haetaan. Oletetaan esimerkiksi, että [[käyttäjä]] haluaisi suorittaa ohjelmatiedoston <tt>/usr/sbin/[[iwconfig]]</tt>. Jos <tt>/usr/sbin</tt>:iä ei ole PATH-muuttujassa, joutuu käyttäjä ohjelman käynnistääkseen kirjoittamaan sen koko polun <tt>/usr/sbin/iwconfig</tt>. Jos taas kyseinen hakemisto on PATH:issä, tarvitsee hänen kirjoittaa vain iwconfig.  
 
Toisin kuin DOS:issa, Linuxissa ja muissa Unix-tyyppisissä järjestelmissä [[työhakemisto]] (eli se hakemisto missä käyttäjä kulloinkin on) ei oletuksena ole PATH:issä. Jos käyttäjä haluaa suorittaa työhakemistossaan olevan ajettavan tiedoston, tulee siihen viitata muodossa
  ./ohjelma_nimi
  ./ohjelma_nimi
Tämä johtuu tietoturvasyistä, eli jos jokin ilkeämielinen krakkeri olisi vaikkapa sijoittanut käyttäjän kotihakemistoon haittaohjelman nimeltä ls, niin työhakemiston ollessa PATH:issä tämä ohjelma ajettaisiin joka kerta, kun käyttäjä suorittaa [[ls]]-komennon tässä hakemistossa.
Tämä johtuu [[tietoturva]]syistä, jos jokin ilkeämielinen käyttäjä olisi vaikkapa sijoittanut <tt>/tmp</tt>-hakemistoon [[haittaohjelma]]n nimeltä <tt>[[ls]]</tt>, niin työhakemiston ollessa PATH:issä tämä ohjelma ajettaisiin oikean <tt>ls</tt>-komennon sijaan, kun suorittaa komennon <tt>ls</tt> kyseisessä hakemistossa.


Käyttäjän PATH-muuttujan sisältö saattaisi näyttää vaikkapa seuraavalta (ilman rivinvaihtoja):
Käyttäjän PATH-muuttujan sisältö saattaisi näyttää vaikkapa seuraavalta (ilman rivinvaihtoja):
  /bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/opt/gnome/bin:
  /usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:
/opt/kde/bin:/opt/mozilla/bin:/opt/qgis/bin:/opt/qt/bin:/usr/local/bin:
  /home/[[käyttäjä]]/bin:/usr/games
  /home/bin:/usr/local/bin:/home/gustaf/bin
 
Käyttäjä saa selville oman PATH-muuttujansa sisällön komennolla
Käyttäjä saa selville oman PATH-muuttujansa sisällön komennolla
  echo $PATH
  [[echo]] $PATH
PATHin loppuun voi lisätä uusia hakemistoja komennolla
PATHin loppuun voi lisätä uusia hakemistoja komennolla
  [[export]] PATH="$PATH:/uusi/hakemisto"
  [[export]] PATH="$PATH:/uusi/hakemisto"
Huomaa, että nämä muutokset eivät jää voimaan, ellet lisää niitä [[komentotulkki|komentotulkin]] rc-tiedostoon (esim. [bash]]issa .[[bashrc]]
Huomaa, että nämä muutokset eivät jää voimaan, ellet lisää niitä [[komentotulkki|komentotulkin]] rc-tiedostoon (esim. [[bash]]issa .[[bashrc]]).
 
Jos usein kaipaa tiettyä ohjelmaa, joka ei löydy PATH-muuttujasta, esim. <tt>/usr/sbin/iwconfig</tt> kuten yllä, parempi ratkaisu kuin koko tämän hakemiston lisääminen voi olla [[symbolinen linkki|symbolisen linkin]] tekeminen omasta <tt>[[kotihakemisto|~]]/bin</tt>-hakemistosta (tai vastaava järjestelmänlaajuisesti hakemistosta <tt>/usr/local/bin</tt>) ja tämän oman hakemiston lisääminen PATH-muuttujaan.
 
[[mkdir]] ~/bin
[[ln]] -s /usr/sbin/iwconfig ~/bin
export PATH="$PATH:$HOME/bin"
 
== Ohjelmahakemistot ==
Hakemistoja, jotka usein sisältyvät PATH:iin
* <tt>/usr/bin</tt>: useimmat ohjelmat
* <tt>/bin</tt>: ohjelmat joita saatetaan tarvita myös järjestelmää käynnistettäessä tai korjattaessa
* <tt>/usr/sbin</tt>: [[palvelin|palvelimet]] ja ylläpito-ohjelmat, joita tarvitaan vain normaalissa ajossa
* <tt>/sbin</tt>: ylläpito-ohjelmat, joita tarvitaan myös erikoistilanteissa
* <tt>/usr/local/bin</tt>: paikallisesti pakettihallinnan ohi asennetut ohjelmat
* <tt>/usr/local/sbin</tt>: paikallisesti pakettihallinnan ohi asennetut ylläpito-ohjelmat
* <tt>/home/*/bin</tt>: käyttäjien itsensä ilman ylläpito-oikeuksia asentamat ohjelmat
* <tt>/opt/bin</tt>: ylläpidon asentamat ohjelmat, joita ylläpito jostakin syystä ei halua yllämainittuihin hakemistoihin; usein isoja paketinhallinnan ohi asennettuja ohjelmistoja
* <tt>/usr/games</tt>: [[pelit]] joissakin jakeluissa (mm. [[Debian]] ja [[Fedora]])
* <tt>/usr/X11R6/bi</tt>n: ennen [[X]]:n ohjelmat olivat eri hakemistoissa, nykyään hakemistossa <tt>/usr/bin</tt>
 
Tavalliset käyttäjät eivät pääsääntöisesti tarvitse sbin-hakemistojen ohjelmia, mutta esimerkiksi [[Fedora]]ssa
ne ovat nykyään aina mukana [https://fedoraproject.org/wiki/Features/SbinSanity], jotta [[sudo]] yms. toimisi tavallisilla käyttäjillä (eikä siis tarvitse erottaa ylläpitäjiä ja muita). Yksittäisiä ohjelmia voi lisätä polkuun [[symbolinen linkki|symbolisilla linkeillä]] polussa olevista hakemistoista (katso yllä).
 
Joskus voi olla tarvetta lisätä muitakin hakemistoja polkuun, lähinnä [[Portaali:Ohjelmistokehitys|ohjelmistokehityksen]] yhteydessä.
 
==Katso myös==
==Katso myös==
*[[Komentorivin perusteet]]
*[[Komentorivin perusteet]]
4 316

muokkausta

Navigointivalikko