ls
kertools
-komentoAiemmin on jo mainittu, että
komento
ls
(list) antaa yksinkertaisen listan senhetkisen työhakemiston tiedostoista.
Jos työhakemistossa on alihakemistoja, ne näkyvät tiedostojen joukossa.
Seuraavassa tutustutaan ls
-komennon muihin muotoihin.
Komennossa voidaan antaa argumenttina
*.c
,
jolloin ls
näyttää sen "lavennuksen", esim.
kaikki ne tiedostonnimet, jotka loppuvat merkkeihin .c
ls
valitsimia saa enemmän ja yksityiskohtaisempaa tietoa tiedostoista ja hakemistoista.
Valitsimilla voi myös muutoin säädellä ls
-komennon tulostusta.
Kaikista valitsimista saa tietenkin listan
man
-komennolla: man ls
.
Monissa Unix-koneissa on valmiiksi määritelty erilaisia
ls
-komennon muunnelmia.
Tyypillisiä sellaisten muunnelmien nimiä ovat
l
, ll
, L
, LL
.
Jos käyttää niitä, kannattaa muistaa, että ne eivät ole käytettävissä
kaikissa Unix-koneissa.
-l
Tavallisimmin käytetty ls
-komennon
valitsin lienee -l
, jolla saa pitkän (long) tulostuksen, jossa on yksi rivillinen tietoa kutakin tiedostoa kohti. Komennolla
ls -l
saatava tulostus voisi olla esimerkiksi seuraava:
total 42 -rw-r--r-- 1 jkorpela users 169 Mar 30 11:09 MAIL drwxr-xr-x 2 jkorpela users 1024 Apr 24 09:08 Kirjeet -rwxr-xr-x 1 jkorpela users 16384 Mar 30 11:07 a.out -rw-r--r-- 1 jkorpela users 26 Mar 30 10:51 iku.c -rw-r--r-- 1 jkorpela users 71 Mar 30 11:00 juttu -rw-r--r-- 1 jkorpela users 31 Mar 30 10:57 juttu~Aluksi tulostuva
total
-luku kertoo tiedostojen
yhteenlasketun koon ns. blokkeina.
Yksi blokki on eri Unix-järjestelmissä erilainen:
1024, 512 tai 256 tavua.
Tavu (engl. byte) puolestaan on tiedostotilan (ja muistinkoon) perusyksikkö, joka tekstitiedostojen osalta vastaa yhtä merkkiä. Yleisesti käytetään tavu-sanan edessä etuliitteitä kilo-, mega- ja giga-, joilla on melkein mutta ei ihan sama merkitys kuin SI-järjestelmän mittayksiköissä: kilotavu tarkoittaa 1024 tavua, megatavu tarkoittaa 1024 kilotavua eli reilut miljoona tavua, gigatavu 1024 megatavua jne. (Jos tämä kuulostaa hämäävältä, älä huolestu; se on hämäävää.)
Muista riveistä kukin kertoo tietoja yhdestä tiedostosta seuraavasti:
-
tai d
sen mukaan, onko kyseessä tavallinen tiedosto vai hakemisto.
Esimerkissämme siis Kirjeet
on työhakemiston alihakemisto.
jkorpela
omistamia ja ryhmässä
users
.
Nämä asiat yhdessä
tiedoston suojausten
kanssa määräävät, kuka saa tehdä tiedostolle mitäkin.
iku.c
on 26 tavun kokoinen,
siis hyvin pieni.
-a
Normaalisti ls
:n tulostuksessa eivät näy sellaiset
tiedostot, joiden nimi alkaa pisteellä,
paitsi jos komennossa erikseen annetaan sellainen tiedostonnimi.
Esimerkiksi tiedosto .cshrc
ei näy komennon ls
tulostuksessa. Sen sijaan komento ls .cshrc
kyllä näyttää
sen, samoin esimerkiksi ls .c*
. (Komento
.*
joka ehkä tulee mieleen ei ole kovin hyvä ajatus,
sillä erinäisistä syistä se näyttää paljon muitakin tiedostoja
kuin luulisi.)
Jos ls
-komennossa on valitsin -a
, siis esim.
ls -a
, niin
se tulostaa myös ne tiedostonnimet, jotka alkavat pisteellä.
Esimerkki:
epsilon ~/test 51 % ls awktest scr testfile tex.tex typescript epsilon ~/test 52 % ls -a . .foo scr tex.tex .. awktest testfile typescript epsilon ~/test 53 %
Esimerkistä ilmenee se
valitsimen -a
hiukan hämäävä
piirre, että tulostuksessa näkyvät myös .
ja ..
jotka ovat työhakemiston ja sitä ylemmän hakemiston symbolisia nimiä.
-t
Jos ls
-komennossa on
valitsin -t
(time), niin se tulostaa tiedostolistan
aikajärjestyksessä
tiedoston viimeisimmän muuttamishetken mukaan,
uusimmasta vanhimpaan.
(Oletusarvona ls
-komennossa on tulostaminen
aakkosjärjestyksessä nimien mukaan.)