Työhakemisto

Linux.fista
Versio hetkellä 30. syyskuuta 2010 kello 14.15 – tehnyt LP (keskustelu | muokkaukset) (. -> ".")
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Työhakemistolla tarkoitetaan hakemistoa, jossa ohjelma (esimerkiksi komentotulkki) suoritetaan. Kun viitataan tiedostoon antamatta täydellistä polkua, tiedoston sijainti määritellään työhakemistosta alkaen.

Nykyisen työhakemiston saa selville komennolla pwd ja siihen voi tarvittaessa viitata pisteellä (jokainen hakemisto sisältää "alihakemiston" "." joka on linkki hakemistoon itseensä). Työhakemiston alihakemistossa linux-2.6_2.6.26 sijaitsevan hakemiston Documentation voi siis listata jommallakummalla seuraavista komennoista:

ls linux-2.6_2.6.26/Documentation
ls ./linux-2.6_2.6.26/Documentation

Koska tiedostoja oletusarvoisesti haetaan työhakemistosta, työhakemistoon viitataan eksplisiitisti yleensä vain erikoistapauksissa. Tavallisin on ohjelma, joka ei (vielä) ole PATH-muuttujan mukaisessa ohjelmahakemistossa, vaan työhakemistossa (suoritusbitin tulee olla asetettuna). Toinen tällainen erikoistapaus on erikoisenniminen tiedosto (tässä jonkun lähettämä tai asentama ansa).

./uusi_ohjelma
rm -i ./"-rf *"

Windowsista poiketen ohjelmia harvoin käynnistetään niiden oma hakemisto työhakemistona. Ohjelman on syytä hakea käyttäjän tiedostoja myös työhakemistosta, mutta asetustiedostot ja ohjelman omat tiedostot ovat ennalta määrätyissä tai ympäristömuuttujan tai valitsimen parametrin mukaisissa hakemistoissa.

Esimerkki[muokkaa]

Seuraava skripti tulostaa hakemiston jossa komento on suoritettu:

#!/bin/bash
echo Olet hakemistossa `pwd`

Jos tämä skripti nyt on käyttäjän kotihakemistossa ja se ajetaan komennolla ./skripti.sh, niin tulos on

Olet hakemistossa /home/käyttajä

Kuitenkin jos siirrytään esimerkiksi juurihakemistoon tulos on eri:

$ cd /
$ /home/käyttäjä/skprti.sh
Olet hakemistossa /

Katso myös[muokkaa]