Jokaisella käyttäjällä on Unix-koneessa hakemisto, joka on hänen omistuksessaan. Tätä hakemistoa sanotaan käyttäjän kotihakemistoksi (home directory). Kotihakemisto on normaalisti vain omistajan käytössä.
Kotihakemiston nimi sisältää
omistajan käyttäjätunnuksen, mutta muutoin nimi on erilainen eri
järjestelmissä.
Yleensä ei ole syytä viitata kotihakemistoonsa suoraan sen nimellä,
vaan kannattaa käyttää sen symbolista nimeä ~
(tämän merkin virallinen nimi on tilde, arkikielessä puhutaan usein
"matomerkistä"). Tosin kaikissa
shelleissä se ei ole mahdollista.
Toinen, yleispätevämpi ratkaisu on käyttää symbolista
nimeä $HOME
.
Käyttäjä voi myös viitata muiden käyttäjien kotihakemistoihin.
Riippuu hakemistojen suojauksista, onko tästä mitään hyötyä,
mutta joka tapauksessa käyttäjätunnuksen tunnus
kotihakemistoon voivat kaikki käyttäjät viitata symbolisella
nimellä ~
tunnus eli tilde-merkillä,
jota seuraa (ilman välilyöntiä) käyttäjätunnus.
Työhakemistoksi (working directory) eli nykyiseksi hakemistoksi
(current directory) kutsutaan sitä hakemistoa,
"jossa käyttäjä juuri sillä hetkellä on".
Täsmällisemmin sanottuna se tarkoittaa sitä hakemistoa, jonka
tiedostoihin tiedostonnimet oletusarvoisesti viittaavat.
Pääteistunnon alkaessa työhakemistona on kotihakemisto, mutta
työhakemistoa voi vaihtaa cd
-komennolla.
Tiedostonnimet siis viittaavat
oletusarvoisesti työhakemistoon.
Esimerkiksi kun olet hakemistossa mail/
ja tuhoat (komennolla rm foo
)
siellä tiedoston nimeltä foo
, niin tuhoaminen
ei vaikuta mitenkään kotihakemistossasi ehkä olevaan
tiedostoon nimeltä foo
.
Työhakemistollakin on symbolinen nimi, samoin sitä lähinnä ylemmällä hakemistolla:
pwd
kertooKomento
pwd
(print working directory) näyttää, missä hakemistossa ollaan eli mikä on senhetkinen työhakemisto.
Seuraavassa on kaksi esimerkkiä pwd
:n tulostuksesta.
Kummassakin tapauksessa käyttäjä jkorpela
on kotihakemistossaan
mutta eri koneissa; kuten nähdään, kotihakemistojen nimet voivat siis
eri koneissa olla aivan erilaiset:
/m/fs/lai/lai/lk/jkorpela /mnt/mds/univ2/tkk/jkorpela
cd
Komennolla cd
(change directory) siirrytään toiseen hakemistoon eli vaihdetaan työhakemistoa. Komennon muoto on
cd
hakemistonnimi
Argumentin oletusarvona on kotihakemisto.
Esimerkkejä:
cd
vie kotihakemistoon
cd foo
vie nykyisen hakemiston alihakemistoon foo
cd ~/test
vie kotihakemiston
alihakemistoon test
cd ..
vie siihen hakemistoon, jonka alihakemisto
nykyinen hakemisto on
cd ~sasu
vie käyttäjätunnuksen sasu
kotihakemistoon
cd /var/spool
vie järjestelmän (juurihakemiston
alaisen) hakemiston var
alihakemistoon spool
cd
-komennolla ei sinänsä
edellytä
hakemiston suojauksilta muuta kuin että
siihen on "suoritusoikeus" eli x-oikeus. Toisaalta
cd
-komento ei mitenkään lisää käyttäjän oikeuksia
kyseiseen hakemistoon tai sen tiedostoihin.