Vaikka Unixissa hakemistot ovat tiedostoja ja näkyvät esim.
ls
-komennolla saatavissa tiedostolistoissa,
niitä ei luoda, käsitellä ja poisteta samalla tavalla kuin
normaaleja tiedostoja. Sen sijaan käytetään erityisiä komentoja,
jotka on tarkoitettu nimenomaan hakemistojen käsittelyyn.
mkdir
Hakemisto luodaan komennolla mkdir
(make directory).
Argumenttina annetaan se nimi, joka luotavalle hakemistolle halutaan.
Esimerkiksi
mkdir Harjoitustyot
perustaa hakemiston nimeltä Harjoitustyot
työhakemistoon.
Nimi siis tulkitaan suhteellisena suhteessa senhetkiseen työhakemistoon.
Hakemiston voi perustaa myös muualle kun työhakemistoon. Esimerkiksi
mkdir Harjoitustyot/C-kurssi
perustaa äsken luodulle Harjoitustyot
-hakemistolle
alihakemiston nimeltä C-kurssi
.
Saman olisi voinut tehdä siten, että ensin siirtyy
Harjoitustyot
-hakemistoon komennolla
cd Harjoitustyot
ja antaa sitten komennon
mkdir C-kurssi
.
mv
Edellä mv
-komennon kuvauksessa jo
kerrottiin, että sillä voi myös siirtää tiedoston hakemistosta toiseen.
Tässä annetaan vain muutama lisäesimerkki.
Jos haluat siirtää tiedoston nimeltä docu
edellisessä luvussa luotuun
Harjoitustyot
-hakemistoon, niin kirjoita
mv docu Harjoitustyot/
Jos taas haluaisitkin muuttaa
docu
-tiedoston nimeksi c-docu
ja samalla siirtää
sen
Harjoitustyot
-hakemiston
C-kurssi
-alihakemistoon, kirjoittaisit
mv docu Harjoitustyot/C-kurssi/c-docu
mv
Myös hakemiston nimeä voi muuttaa mv
-komennolla,
sillä kyseiset komennot voivat olla paitsi tavallisia tiedostonnimiä
myös hakemistonnimiä.
Esimerkiksi jos halutaan muuttaa hakemiston nimi Harjoitustyot
lyhyemmäksi nimeksi Harjtyot
, voidaan - kun työhakemistona
on se hakemisto, jonka alihakemisto uudelleennimettävä hakemisto on -
kirjoittaa vain
mv Harjoitustyot Harjtyot
Tämän jälkeen uudelleennimetyn hakemiston tiedostot ja mahdolliset alihakemistot löytyvät uuden nimen kautta.
Toinen esimerkki:
halutaan siirtää
hakemiston Harjoitustyöt
alihakemisto C-kurssi
suoraan työhakemiston
alihakemistoksi. Tällöin kirjoitetaan
mv Harjoitustyot/C-kurssi C-kurssi
On kuitenkin huomattava, että jos mv
-komennon
ensimmäinen argumentti on hakemistonnimi, niin sen toiminta riippuu
siitä, onko toinen argumentti olemassaolevan hakemiston nimi.
Jos on, niin
mv
a b
siirtää a:n hakemiston b alihakemistoksi (nimellä b). Mutta jos b-nimistä hakemistoa ei ole, niin kyseinen komento vain muuttaa a:n nimen b:ksi säilyttäen sen samalla hakemistotasolla, jolla se ennestään on.
rmdir
Hakemistoja voi myös poistaa, mutta normaalisti vasta kun ne ovat tyhjiä,
ts. niistä on poistettu kaikki tiedostot ja alihakemistot.
Komento on rmdir
(remove directory).
Argumenttina annetaan hakemiston nimi.
Jos sinulla on hakemisto Pascal
ja sen tiedostot samoin kuin itse hakemisto ovat tarpeettomia,
tuhoa ensin tiedostot hakemistosta rm
-komennolla
ja sitten itse hakemisto rmdir
-komennolla:
rm Pascal/* rmdir PascalTämä edellyttää, että hakemisto
Pascal
ei sisällä alihakemistoja, sillä niiden poistaminen ei onnistu
rm
:llä.
Jos siis poistettava hakemisto X
sisältää alihakemistoja, pitää ensin
poistaa X:n
kustakin alihakemistosta kaikki tiedostot (rm
:llä),
sitten nämä hakemistot (rmdir
:llä),
sitten X:n itsensä sisältämät tiedostot (rm
:llä)
ja vasta lopuksi itse X (rmdir
:llä).
On kyllä olemassa rm
-komennon valitsin -r
, joka
mahdollistaa komennon kohdistamisen hakemistoihinkin, vieläpä
rekursiivisesti, jolloin se poistaa myös sen hakemistot alihakemistoineen jne.
ja niiden kaikki hakemistot.
Sellainen komento voi tehdä
paljon tuhoa, jos käyttäjä on vähänkään huolimaton!