Konsool ja käsud
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:
- Linux eristab suur- ja väiketähti. Seega käsk ls ei ole sama, mis LS. Enamik Linuxi käske tuleb sisestada väiketähtedega.
- Käsule võivad järgneda võtmed, mis muudavad antud käsu käitumist. Näiteks käsul ls on olemas võti l, mis kirjutatakse nii:
bash$ ls -l
- Käsu ning võtmete järele kirjutatakse argumendid. Need annavad edasi info, mis on käsu täitmiseks hädavajalik. Näiteks
bash$ more kirjand.txt
näitab aknas faili kirjand.txt sisu. kirjand.txt on antud juhul käsu more argumendiks.
- Linuxis on olemas tuhandeid käske, milledest enamik on sinu jaoks tundmatud. Säärased käske niisama proovimiseks sisse trükkida ei ole mõistlik. Kuigi Linux on loodud selliselt, et tavakasutaja ei saa arvutisüsteemile üldjuhul midagi kurja teha, võib tundmatu käsu trükkimine sinu enda kasutajakeskkonna ära rikkuda või failid ära kustutada.
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.