Tiedostoihin ja hakemistoihin viittaaminen

Hierarkkinen tiedostojärjestelmä auttaa järjestelemään tiedostoja järkeviin kokonaisuuksiin esimerkiksi käyttötarkoituksen mukaan. Suuri hakemistorakenne tuo mukanaan uuden ongelman: kuinka viitata tiettyyn tiedostoon? Viittaus tapahtuu polkunimien avulla. Viittaus voidaan tehdä täydellisenä (absoluuttisena) tai suhteellisena.

Työhakemisto

Työskennellessäsi UNIX-ympäristössä sinulla on käytössäsi jokin työhakemisto. Työhakemiston absoluuttisen polun saa näkyville komennolla pwd (print working directory).

jane:~>pwd

/home/s/sautakki

jane:~>

Komennon argumentin yhteydessä työhakemistoon voidaan viitata käyttämällä . -argumenttia, joka tarkoittaa työhakemistoa.

Kotihakemisto

Kirjautuessasi sisään tietokoneeseen, työhakemistoksi määräytyy hakemisto, jonka koneen ylläpitäjä on määrännyt tunnusta luodessaan. Tämä hakemisto on kotihakemisto. Kotihakemistoon siirtyminen onnistuu istunnon aikana komennolla cd ilman argumentteja.

Isähakemisto

Kaikilla hakemistoilla, paitsi juurihakemistolla, on isähakemisto. Isähakemisto sijaitsee hierarkiassa aina lähempänä juurta. Siihen viitataan ../ -argumentilla. Alla olevassa esimerkissä isähakemisto näkyy listauksessa alussa olevana ../ tiedostona.

Otettaessa listaus hakemistosta komennolla ls -la saadaan hakemiston kaikki tiedostot listamuodossa. Listauksen alussa nähdään työ- ja isähakemistot seuraavasti.

jane:~/testi>ls -la

total 6

drwxrwxr-x 2 sautakki mopis 96 Oct 12 22:05 ./

drwxr-xr-x 18 sautakki mopis 3072 Oct 12 22:05 ../

Absoluuttinen viittaaminen

Absoluuttinen tarkoittaa täydellistä viittaamista aina juuresta tiettyyn tiedostoon saakka. Juuri merkitään kenoviivalla (/) ja kaikki alihakemistojen nimet erotetaan myös /-merkillä. Hakemistopolkua kirjoittaessa kannattaa käyttää sanojen täydennystä.

Tulostetaan komennolla cat tiedosto kala.txt näytölle käyttäen absoluuttista viittausta.

jane:~>cat /home/s/sautakki/kala.txt

sarki


hauki


ahven


jane:~>

Suhteellinen viittaaminen

Haluttuun tiedostoon voidaan viitata myös suhteellisesti. Suhteellinen polkunimi erottuu absoluuttisesta siten, että siinä ei tarvitse kirjoittaa koko polkua tiedosto tiedostolta. Sen sijaan tiedostojen nimet korvataan .-merkillä tai ..-merkillä. Suhteellinen viittaus ei myöskään ala juurihakemistoon viittaavalla /-merkillä, koska suhteellisessa viittauksessa pyritään mahdollisimman lyhyeen viittauspolkuun. Yksinkertaisimmillaan suhteellinen viittaus koostuu pelkästään tiedostonimestä, mikäli viitattava tiedosto sijaitsee työhakemistossa.

Esimerkissä otetaan aluksi listaus työhakemistosta (sautakki) komennolla ls, jotta tiedetään, mitä tiedostoja kyseisessä työhakemistossa sijaitsee. (Huom: jaoin kaksi seuraavaa esimerkkilaatikkoa kahteen)

jane:~>ls

bar kala

Mail/ lintu.txt

News/ read-messages

core/ samba/

saved-messages smb.conf

dead.letter dynatext/

sorsat/

Seuraavana tulostetaan tekstitiedoston lintu.txt sisältö näytölle käyttäen suhteellista viittausta. Koska tiedosto lintu.txt löytyy työhakemistosta, kuten edellinen listaus osoittaa, ei komennon argumenttina tarvita muuta kuin pelkkä tiedoston nimi.

jane:~>cat lintu.txt

lehtokurppa on lintu


lokki on vesilintu


jane:~>

Vastaavan voi siis tehdä myös viittaamalla suhteellisesti: cat ../lintu.txt. Tämä ei siis kuitenkaan ole välttämätöntä, koska työhakemistoon viittaamiseen ei vaadita muuta tietoa kuin sen hakemiston nimi, joka esimerkissä haluttiin tulostaa.

Muissa kuin työhakemiston tapauksissa suhteellista viittausta käyttäen voidaan hakemistohierarkiassa viitata ylöspäin käyttämällä ../-viittausta.

Tarkistetaan ensin oman työhakemiston absoluuttinen polku komennolla pwd, jotta

jane:~/foo>pwd

/home/s/sautakki/foo

jane:~/foo>

Tiedetään, että yhtä tasoa alempana sijaitsee tekstitiedosto bar, joka halutaan tulostaa näytölle. Viittaus suhteellisesti sinne onnistuu ../ -viittauksella.

jane:~/foo>cat ../bar

foobar

jane:~/foo>

Luodaan hakemisto foobar pykälää alemmaksi käyttäen apuna ../ -viittausta.

jane:~/foo>mkdir ../foobar

jane:~/foo>

Siirrytään edellisessä kohdassa luotuun hakemistoon käyttäen samaista viittausta.

jane:~/foo>cd ../foobar

jane:~/foobar>

Tarkistetaan vielä oma työhakemisto komennolla pwd.

jane:~/foobar>pwd

/home/s/sautakki/foobar

jane:~/foobar>

Työhakemiston vaihtaminen

cd [hakemisto]

Esim.

cd www

Työhakemiston vaihtaminen onnistuu cd-komennolla. Paluu käyttäjän kotihakemistoon onnistuu pelkälläcd-komennolla ilman argumenttia.

Seuraavissa esimerkeissä liikutaan samassa hakemistorakenteessa:

Vaihdetaan työhakemistoksi /usr/bin käyttäen absoluuttista viittausta ja komentoa cd.

jane:~/foobar>cd /usr/bin

jane:/usr/bin>

Tarkistetaan pwd-komennolla työhakemisto. Kuten huomataan, työhakemisto näkyy myös kehotteessa!

jane:/usr/bin>pwd

/usr/bin

jane:/usr/bin>

Vaihdetaan takaisin työhakemistoksi oma kotihakemisto pelkällä cdkomennolla ilman argumentteja.

jane:/usr/bin>cd

jane:~>

Tarkistetaan pwd-komennolla työhakemisto, joka on siis /home/s/sautakki.

jane:~>pwd

/home/s/sautakki


jane:~>

Vaihdetaan työhakemiston alihakemisto foo uudeksi työhakemistoksi.

jane:~>cd foo

Mennään suhteellista viittausta ja cd-komentoa käyttäen hakemistohierarkiassa kaksi hakemistotasoa kohti juurta.

jane:~/foo>cd ../../

Tarkistetaan minne päädyttiin komennolla pwd.

jane:/home/s>pwd

/home/s

jane:/home/s>

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/doc/tyovaline/unix/index4.html
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2003-11-03 14:53:44
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto