Konsool ja käsud

Linuxi konsooli käskude tutvustus.

Linux on süsteem paljudele kasutajatele. Igal säärasel süsteemil peab olema keegi, kes selle korrasoleku eest vastutab. Linuxis on selleks juurkasutaja ehk root. Root on inimene, kes arvutivõrku töökorras hoiab. Tema on ka see, kes uusi kasutajaid lisab, ja igasuguste tehniliste probleemidega tegeleb. Kuna root on üldiselt see, kes arvutivõrgu tõttu kogu muu maailma ees pea pakule paneb, tuleks tema korraldusi kuulata. Kui sinule tuleb kiri juurkasutajalt, siis tuleks seal kirjutatut arvestada, sest lõpuks on ikkagi tema see, kes vastu pükse saab.

Linux on turvaline. Igal kasutajal on oma parool ja kasutajanimi. Teise kasutaja faile ja kirju vaadata ega kustutada ei saa. Failide juures on hea, et sarnaselt Windowsiga saab neile panna pikki nimesid. Siiski on ülimalt soovitatav panna failile nii lühike nimi kui vähegi võimalik. Ebamugavusi on ka. Nimelt ei saa tüüpilises Linuxis kustutatud faile taastada. Seega tuleb kustutamisega olla ülimalt ettevaatlik, et midagi olulist kaotsi ei läheks.

Linuxi esimesed käsud

Mõnda aega tagasi tuli arvutile korralduste andmiseks käsud klaviatuurilt sisse trükkida. Meile nii harjumuspärane hiir puudus. Kuigi praegu saab enamik asju hiirekursori ja menüüde abil korda ajada, tuleb vahel ette olukordi, kus klaviatuurilt käskude sisestamine möödapääsmatu on. Alljärgnevad käsud on mõned, mis keerulises olukorras ellu aitavad jääda.

Käskude puhul tasub tähele panna järgmist:

ls

List. Kataloogi sisu kuvamine

Sarnane käsk DOS-i dir-le. ls-i abil saab näha, millised failid ja kataloogid arvutis olemas on.

ranger@snoopy:~$ ls
arhiiv  email  hinnad.txt  key.pgp  kiri.txt
ranger@snoopy:~$

Mõningad võtmed, mille abil saab käsu töötamist täpsustada:

-l:

Näitab lisaks faili nimele, kes seda vaadata ja kes sinna kirjutada saavad, kes on faili omanik, kui suur see fail on ja millal temaga viimati midagi tehtud on.

-a:

Näitab kataloogis ka punktiga algavaid faile. Sääraseid faile ära kustutada ei tasu. Programmid salvestavad nimelt nendesse oma tööks vajalikku infot.

-h (koos -l):

Näitab failide suurusi arusaadavamal kujul. k faili suuruse järel tähendab kilobaiti, M megabaiti ja G gigabaiti.

-X:

Sorteerib failid laiendi järgi. Laiend on kõik see, mis tuleb pärast punkti: nt. mina.txt puhul on mina failinimi ja txt on laiend.

Detailse info kuvamiseks failide kohta tuleb seega trükkida:

ranger@snoopy:~$ ls -lh
total 24k
drwxr-xr-x    2 ranger   ranger       4.0k May 20 18:30 arhiiv
drwxr-xr-x    2 ranger   ranger       4.0k May 20 18:30 email
-rw-r--r--    1 ranger   ranger         54 May 20 18:32 hinnad.txt
-rw-r--r--    1 ranger   ranger        292 May 20 18:32 key.pgp
-rw-r--r--    1 ranger   ranger       4.1k May 20 18:32 kiri.txt
ranger@snoopy:~$

pwd

Print Working Directory

Trükib ekraanile kataloogi nime, milles sa parasjagu asud. Kui vahetult pärast sisselogimist anda käsk pwd, näitab arvuti sinu kodukataloogi asukohta. Tavaliselt on selleks /home/kasutajanimi.

ranger@snoopy:~$ pwd
/home/ranger
ranger@snoopy:~$

cd

Change Directory. Kataloogi vahetamine

Linuxis saab korraga asuda vaid ühes kataloogis. Seda kataloogi nimetatakse aktiivseks kataloogiks. Kataloogide vahel liikumiseks (aktiivse kataloogi vahetamiseks) saab kasutada käsku cd.

Liigume kataloogi /home, kus asuvad kõikide kasutajate kodukaustad:

ranger@snoopy:~$ cd /home
ranger@snoopy:/home$

Vahetame aktiivset kataloogi ja veendume käsuga pwd, et muudatus toimus:

ranger@snoopy:/home$ cd /var
ranger@snoopy:/var$ pwd
/var
ranger@snoopy:/var$

Liigume kataloogi / (juurkataloog, mille all asuvad kõik ülejäänud kataloogid) ja kuvame selle sisu:

ranger@snoopy:/$ ls
adm  boot   dev  floppy  initrd  lost+found  opt   root  sys  usr  vmlinuz
bin  cdrom  etc  home    lib     mnt         proc  sbin  tmp  var
ranger@snoopy:/$

Läheme tagasi kodukataloogi:

ranger@snoopy:/$ cd ~
ranger@snoopy:~$

Muudame aktiivseks kataloogi, kus praegu asume. Kuna antud kataloog on juba aktiivne, ei tee antud käsk tegelikult midagi. (Aktiivne kataloogiks nimetataksegi seda kataloogi, milles kasutaja praegu asub.)

ranger@snoopy:~$ cd .
ranger@snoopy:~$ pwd
/home/ranger
ranger@snoopy:~$

Siirdume ühe kataloogi võrra ülespoole ja trükime ekraanile uue asukoha:

ranger@snoopy:~$ cd ..
ranger@snoopy:/home$ pwd
/home
ranger@snoopy:/home$

mkdir

Make Directory. Uue kataloogi loomine

Kõiki faile ühes kataloogis hoida ei ole otstarbekas. Aja jooksul tekib neid üsna palju ning seetõttu oleks mõistlik failid nende otstarbe järgi kataloogidesse rühmitada. Selleks loome oma kodukausta uue kataloogi nimega failid.

Kindluse mõttes anname igaks juhuks arvutile käsu siirduda kodukataloogi:

ranger@snoopy:~/console$ cd ~
ranger@snoopy:~$

Loome uue kataloogi ning muudame selle aktiivseks (ehk siseneme sellesse):

ranger@snoopy:~$ mkdir failid
ranger@snoopy:~$ cd failid
ranger@snoopy:~/failid$

Igaks juhuks võime trükkida ka ekraanile oma asukoha ning veenduda, et kataloog on tühi:

ranger@snoopy:~/failid$ pwd
/home/ranger/failid
ranger@snoopy:~/failid$ ls
ranger@snoopy:~/failid$

Katalooge võib luua ka mitu tükki korraga. Andes kataloogis failid järgneva käsu, loome sinna uued kataloogid nimega tabelid, dokumendid ja pildid

ranger@snoopy:~/failid$ mkdir tabelid dokumendid pildid
ranger@snoopy:~/failid$

Kuvame uuesti aktiivse kataloogi sisu, et näha muudatusi:

ranger@snoopy:~/failid$ ls
dokumendid  pildid  tabelid
ranger@snoopy:~/failid$

rmdir

Remove Directory. Kataloogi kustutamine

Antud käsk oskab kustutada vaid tühje katalooge. Mittetühja kataloogi kustutamisel kuvatakse veateade. Kustutamiseks tuleb muidugi kataloogist väljuda (liikuda näiteks ühe võrra ülespoole), sest aktiivset kataloogi kustutada ei saa.

Kuvame kõigepealt kataloogi failid sisu:

ranger@snoopy:~/failid$ ls
dokumendid  pildid  tabelid
ranger@snoopy:~/failid$

Kustutame kataloogist failid ära äsjaloodud kataloogi dokumendid:

ranger@snoopy:~/failid$ rmdir dokumendid
ranger@snoopy:~/failid$

Veendume, et kataloogi dokumendid enam ei eksisteeri:

ranger@snoopy:~/failid$ ls
pildid  tabelid
ranger@snoopy:~/failid$

man

Manual. Linuxi abiinfosüsteem

Linuxi dokumentatsiooni hulka kuuluvad failid, kust võib igasugust infot leida. Manuaalis allapoole liikuda aitavad nooleklahvid, kiiremini saab alla tühikuklahvi abiga. Manuaalist pääseb välja, kui vajutada klaviatuuril klahvi q.

Kuvame Linuxis oleva abiinfo käsu ls kohta

ranger@snoopy:~/failid$ man ls
LS(1)                          FSF                           LS(1) 

NAME
        ls - list directory contents 

SYNOPSIS
        ls [OPTION]... [FILE]... 

DESCRIPTION
        List information about the FILEs (the current directory by
        default).  Sort entries alphabetically if none of -cftuSUX nor --sort.
...

w

Who. Sisseloginud kasutajate kuvamine

Trükib ekraanile nimekirja kasutajatest, kes hetkel antud arvutisse sisse loginud on. Tähele tasub panna, et kuvatakse ka need kasutajad, kes võivad arvutiga ühenduses olla ka üle võrgu ning ei pruugi üldse klaviatuuri taga viibida.

ranger@snoopy:~/failid$ w
19:15:54 up 29 days,  2:42,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
root     pts/0    192.168.1.64      16:26    0.00s  0.05s  0.00s  w
ranger@snoopy:~/failid$

Selgitused, mida mõningad veerud tähendavad:

USER:

Kasutajanimi, kes antud arvutisse sisse loginud on.

FROM:

Kustkaudu sisselogimine toimus. IP aadress näitab, millisest Internetti ühendatud arvutist antud kasutaja sisse logis.

LOGIN@:

Millal kasutaja süsteemi sisse logis

IDLE:

Kui kaua on möödunud hetkest, millal kasutaja viimati arvutile mõne käsu andis.

WHAT:

Näitab, millise programmiga antud kasutaja hetkel töötab

more

Failide sisu kuvamine

More üritab näidata kõikide failide sisu, kasutades inglise tähestiku tähti A...Z ja a...z. Seega on antud käsk ideaalne vahend tavalist teksti sisaldavate failide vaatamiseks. Kui fail ei mahu korraga ekraanile, kuvatakse faili lõppu rida

--More--

Sellisel juhul on võimalik tühikuklahvile vajutades teksti ekraanil allapoole "kerida". Teksti lõppedes väljutakse automaatselt more-st ja kuvatakse uuesti käsurida.

Kui fail on suur ja seda lõpuni "kerida" aeganõudev, saab more-st väljuda ka suvalise hetkel, vajutades klaviatuuril tähte q.

Kuvame faili kiri.txt sisu:

ranger@snoopy:~$ more kiri.txt
See on minu kiri, mille ma kirjutasin üleeile.
Kahjuks ei jõudnud ma seda kirja valmis.
Seepärast ei saanud ma seda ka välja trükkida ja ära saata
ning ma salvestasin ta siia ära.
--More--(18%)

More'i abil saab vaadata ka suuri katalooge, milles on palju faile. Sellisel juhul kuvatakse failid ekraanitäite kaupa. Kui ekraan täis, peatatakse failide kuvamine. Vajutus tühiklahvile jätkab kuvamist, q lõpetab taas antud käsu töö.

Kuvame kõik failid, mis asuvad kataloogis /etc (seejuures kasutame -l võtit, mis kuvab failide kohta rohkem infot):

ranger@snoopy:~$  ls -l /etc | more
total 868
-rw-r--r--    1 root     root         4686 Mar 26  2003 Muttrc
-rw-r--r--    1 root     root         2090 Apr  7 02:58 adduser.conf
-rw-r--r--    1 root     root           44 Apr 21 16:35 adjtime
drwxr-xr-x    2 root     root         4096 Apr  9 01:17 alternatives
-rw-r--r--    1 root     root        66067 Apr 19 01:03 amavisd.conf
drwxr-xr-x    3 root     root         4096 Apr  6 20:39 apm
drwxr-xr-x    3 root     root         4096 Apr  6 20:29 apt
--More--

cp

Copy. Failide ja kataloogide kopeerimine

Käsk nõuab alati kindlasti kahte argumenti: lähtefaili või kataloogi nime, mida kopeeritakse ning sihtkohta, kuhu antud info kopeerida tuleb.

Loome kõigepealt oma kodukausta tühja faili, mille nimi on andmed.txt ning kontrollime, kas fail antud kausta tekkis.

ranger@snoopy:~$ touch andmed.txt
ranger@snoopy:~$ ls
andmed.txt  failid
ranger@snoopy:~$

Kopeerime loodud faili kataloogi failid

ranger@snoopy:~$ cp andmed.txt failid
ranger@snoopy:~$

Vaatame kataloogi failid sisu. Seal peaks näha olema kopeeritud fail andmed.txt:

ranger@snoopy:~$ ls failid
andmed.txt  pildid  tabelid
ranger@snoopy:~$

Lisaks asuvad selles kataloogis ka pildid ja tabelid. Meenutagem, et varem loodud kataloogi dokumendid kustutasime ära käsuga rmdir.

Failist võib teha koopia ka samasse kataloogi. Selleks tuleb sihtkohaks märkida mitte uue kataloogi vaid koopia uus nimi.

Liigume kataloogi failid ning kopeerime andmed.txt sisu uude faili nimega koopia.txt:

ranger@snoopy:~$ cd failid
ranger@snoopy:~/failid$ cp andmed.txt koopia.txt
ranger@snoopy:~/failid$

Igaks juhuks võime kontrollida, kas kopeerimise tulemusena uus fail tekkis:

ranger@snoopy:~/failid$ ls
andmed.txt  koopia.txt  pildid  tabelid
ranger@snoopy:~/failid$

Kataloogide kopeerimiseks tuleb kasutada võtit -r. Sel juhul on esimeseks argumendiks lähtekaust, mida kopeerida ning teiseks argumendiks sihtkoht, kuhu koopia paigutada.

Liigume oma kodukataloogi ning kopeerime kataloogi failid sisu uueks kataloogiks failid2:

ranger@snoopy:~/failid$ cd ~
ranger@snoopy:~$ cp -r failid failid2
ranger@snoopy:~$

Veendume, et koopia ikkagi tekkis:

ranger@snoopy:~$ ls
failid  failid2
ranger@snoopy:~$

Igaks juhuks võime vaadata ka mõlema kataloogi sisu, et näha, kas kopeerimine õnnestus:

ranger@snoopy:~$ ls failid
andmed.txt  koopia.txt  pildid  tabelid
ranger@snoopy:~$ ls failid2
andmed.txt  koopia.txt  pildid  tabelid
ranger@snoopy:~$

mv

Move. Failide ja kataloogide teisaldamine

Sarnaneb paljuski kopeerimiskäsule, kuid erinevalt viimasest kustutatakse esialgne fail arvuti kõvakettalt.

Teisaldame faili andmed.txt kataloogist failid alamkataloogi tabelid:

ranger@snoopy:~$ cd failid
ranger@snoopy:~/failid$ mv andmed.txt tabelid
ranger@snoopy:~/failid$

Kontrollime kas teisaldamine õnnestus:

ranger@snoopy:~/failid$ ls
koopia.txt  pildid  tabelid
ranger@snoopy:~/failid$ ls tabelid
andmed.txt
ranger@snoopy:~/failid$

Nagu näha, puudub kataloogis failid selline fail nagu andmed.txt, küll aga on ta olemas kataloogis nimega tabelid.

Teisaldame kataloogis failid oleva faili koopia.txt samasse kataloogi aga uueks failiks nimega isikud.txt:

ranger@snoopy:~/failid$ ls
koopia.txt  pildid  tabelid
ranger@snoopy:~/failid$ mv koopia.txt isikud.txt
ranger@snoopy:~/failid$ ls
isikud.txt  pildid  tabelid
ranger@snoopy:~/failid$

Kuna vana fail koopia.txt kaotati ära, ning selle asemele tekkis uus fail isikud.txt, võib öelda, et fail koopia.txt nimetati ümber failiks isikud.txt.

rm

Remove. Failide ja kataloogide kustutamine

Käsu järele tuleb kirjutada, millist faili või kataloogi kustutada soovitakse. Ei tasu unustada, et Linuxi puhul ei ole võimalik kustutatud andmeid enam taastada!

Kustutame ära kaustast failid faili isikud.txt ning kontrollime, kas kustutamine õnnestus:

ranger@snoopy:~/failid$ rm isikud.txt
ranger@snoopy:~/failid$ ls
pildid  tabelid
ranger@snoopy:~/failid$

Kuvame kataloogi tabelid sisu kustutame ära selles oleva faili andmed.txt:

ranger@snoopy:~/failid$ ls tabelid
andmed.txt
ranger@snoopy:~/failid$ rm tabelid/andmed.txt
ranger@snoopy:~/failid$

Kataloog tabelid peaks nüüd tühi olema. Kontrollime seda:

ranger@snoopy:~/failid$ ls tabelid
ranger@snoopy:~/failid$

Kataloogi kustutamiseks on mõistlik kasutada kahte võtit:

-r:

Näitab, et kustutatakse kataloog koos selle sisuga. Kui rmdir võimaldas kustutada vaid tühje katalooge, siis selle võtme abil saab eemaldada ka neid, mis sisaldavad omakorda faile või kaustu.

-f:

Kustutab kataloogid ning ei küsi iga kord eraldi kinnitust nendes olevate failide ja alamkataloogide kustutamise kohta.

Kustutame ära kataloogist failid alamkataloogi tabelid:

ranger@snoopy:~/failid$ rm -rf tabelid
ranger@snoopy:~/failid$ ls
pildid
ranger@snoopy:~/failid$

Kui ühe käsu järel tuleb kirjutada mitu võtit, võib selle asemel, et nad eraldi välja kirjutada (rm -r -f) nad kokku ühendada, nagu eelmises näites tehtud.

Liigume kodukausta ja kustutame korraga ära nii kausta failid kui failid2:

ranger@snoopy:~/failid$ cd ..
ranger@snoopy:~$ rm -rf failid failid2
ranger@snoopy:~$

Kodukausta liikumine oli vajalik, kuna asusime enne kaustas failid, mida soovisime kustutada. Aktiivse kausta kustutamine aga ei ole lubatud.

Seonduv sisu
  • GNU/Linux IV

    Süsteemi kasutajate tüübid. BASH. Esmased BASH-i käsud. Abiinfo leidmine Linuxis. Failisüsteemi ülesehitus. Kataloog, fail, seadmefail, link. Failiõigused.