Tiedostoihin ja hakemistoihin viittaaminen
- Työhakemisto
- Kotihakemisto
- Isähakemisto
- Absoluuttinen viittaaminen
- Suhteellinen viittaaminen
- Työhakemiston vaihtaminen
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