1. Mikä on Linux?

Linux on avoimen lähdekoodin käyttöjärjestelmän ydin (kernel), jonka Linus Torvalds julkaisi ensimmäisen kerran vuonna 1991. Kun puhutaan "Linux-käyttöjärjestelmästä", tarkoitetaan yleensä Linux-ydintä yhdistettynä joukkoon työkaluja, kirjastoja ja ohjelmia — usein GNU-projektin komponentteja. Tästä syystä käyttöjärjestelmää kutsutaan joskus nimellä GNU/Linux.

Linuxia käytetään lähes kaikkialla:

  • Palvelimet ja pilvi: suurin osa maailman verkkopalvelimista ja pilvi-infrastruktuurista (esim. AWS, Google Cloud) käyttää Linuxia.

  • Sulautetut järjestelmät: reitittimet, älytelevisiot, autojen tietojärjestelmät.

  • Android: pohjautuu Linux-ytimeen.

  • Supertietokoneet: käytännössä kaikki maailman nopeimmat supertietokoneet käyttävät Linuxia.


Linux-kurssi aloittelijoille

Tervetuloa! Tämä materiaali on suunniteltu sinulle, joka et ole aiemmin käyttänyt Linuxia tai käyttänyt sitä vain vähän. Käymme läpi perusteet komentorivin käytöstä tiedostojärjestelmään, oikeuksiin ja pakettien hallintaan asti. Jokaisen luvun lopussa on harjoitustehtäviä, joiden avulla voit testata oppimaasi.

Sisällysluettelo

  1. Mikä on Linux?

  2. Linux-jakelut (distrot)

  3. Pääsy komentoriville (terminaali)

  4. Tiedostojärjestelmän rakenne

  5. Perus liikkumiskomennot

  6. Tiedostojen ja kansioiden käsittely

  7. Tiedostojen sisällön katselu ja muokkaus

  8. Käyttöoikeudet

  9. Käyttäjät ja ryhmät

  10. Prosessien hallinta

  11. Pakettien hallinta

  12. Putket, ohjaus ja hyödylliset komennot

  13. Ympäristömuuttujat ja PATH

  14. Verkkokomennot

  15. Peruskomentojen kertaustaulukko

  16. Jatko-opiskeluvinkit

1. Mikä on Linux?

Linux on avoimen lähdekoodin käyttöjärjestelmän ydin (kernel), jonka Linus Torvalds julkaisi ensimmäisen kerran vuonna 1991. Kun puhutaan "Linux-käyttöjärjestelmästä", tarkoitetaan yleensä Linux-ydintä yhdistettynä joukkoon työkaluja, kirjastoja ja ohjelmia — usein GNU-projektin komponentteja. Tästä syystä käyttöjärjestelmää kutsutaan joskus nimellä GNU/Linux.

Linuxia käytetään lähes kaikkialla:

  • Palvelimet ja pilvi: suurin osa maailman verkkopalvelimista ja pilvi-infrastruktuurista (esim. AWS, Google Cloud) käyttää Linuxia.

  • Sulautetut järjestelmät: reitittimet, älytelevisiot, autojen tietojärjestelmät.

  • Android: pohjautuu Linux-ytimeen.

  • Supertietokoneet: käytännössä kaikki maailman nopeimmat supertietokoneet käyttävät Linuxia.

  • Työpöytäkäyttö: yhä useampi käyttää Linuxia myös kannettavalla tai pöytäkoneella (esim. Ubuntu, Fedora, Linux Mint).

Miksi opetella Linuxia?

  • Se on ilmainen ja avoimen lähdekoodin.

  • Se on erittäin vakaa ja turvallinen.

  • Ohjelmointi, palvelinylläpito, DevOps, kyberturvallisuus ja data-analytiikka nojaavat vahvasti Linux-osaamiseen.

  • Komentorivin hallinta tekee sinusta tehokkaamman käyttäjän missä tahansa käyttöjärjestelmässä.

2. Linux-jakelut (distrot)

Linux-ydin ei sellaisenaan ole käytettävä käyttöjärjestelmä — sen ympärille rakennetaan jakelu (distribuutio, "distro"), joka sisältää ytimen lisäksi paketinhallinnan, työpöytäympäristön ja valmiiksi asennetut ohjelmat.

Jakelu

Kohderyhmä

Paketinhallinta

Ubuntu

Aloittelijat, yleiskäyttö

APT (.deb)

Linux Mint

Aloittelijat, Windowsista siirtyvät

APT (.deb)

Fedora

Kehittäjät, uusimmat teknologiat

DNF (.rpm)

Debian

Vakaus, palvelimet

APT (.deb)

Arch Linux

Kokeneet käyttäjät, muokattavuus

Pacman

openSUSE

Yritysympäristöt

Zypper (.rpm)

CentOS/Rocky/Alma

Palvelimet, yritysympäristöt

DNF/YUM (.rpm)

Suositus aloittelijalle: Ubuntu tai Linux Mint. Molemmat ovat käyttäjäystävällisiä, niillä on laaja yhteisö ja runsaasti ohjeita netissä.

Voit tilata valmiin asennusmedian (USB) https://www.linuxcomp.net/ Mukana kattavat ohjeet suomeksi.

Vinkki: Voit kokeilla Linuxia turvallisesti ilman asennusta esimerkiksi virtuaalikoneella (VirtualBox), WSL:llä (Windows Subsystem for Linux) tai käynnistettävällä USB-tikulla ("Live-versio").

3. Pääsy komentoriville (terminaali)

Komentorivi eli terminaali (myös "shell" tai "konsoli") on tekstipohjainen tapa antaa käskyjä tietokoneelle. Useimmat Linux-jakelut käyttävät oletuksena Bash-komentotulkkia (Bourne Again SHell).

Terminaalin avaaminen:

  • Ubuntu/Mint: paina Ctrl + Alt + T

  • Tai etsi sovellusvalikosta "Terminal" / "Pääte"

Kun avaat terminaalin, näet komentokehotteen (prompt), joka näyttää tyypillisesti tältä:

kayttaja@kone:~$
  • kayttaja = käyttäjänimesi

  • kone = tietokoneen nimi

  • ~ = nykyinen sijainti (kotihakemisto)

  • $ = tavallinen käyttäjä (pääkäyttäjällä merkki on #)

Komennon perusrakenne

komento [valitsimet] [argumentit]

Esimerkki:

ls -l /home
  • ls = komento (listaa tiedostot)

  • -l = valitsin (pitkä listaus)

  • /home = argumentti (kohde)

Harjoitus 3.1: Avaa terminaali ja kirjoita whoami. Mitä komento tulostaa?

4. Tiedostojärjestelmän rakenne

Toisin kuin Windowsissa, Linuxissa ei ole erillisiä asemakirjaimia (C:, D:). Kaikki lähtee yhdestä juurihakemistosta, jota merkitään kauttaviivalla /.

/ ├── bin → peruskomentojen ohjelmatiedostot ├── boot → käynnistystiedostot (kernel, bootloader) ├── dev → laitetiedostot (esim. kovalevyt) ├── etc → järjestelmän asetustiedostot ├── home → käyttäjien kotihakemistot (esim. /home/matti) ├── lib → jaetut kirjastot ├── media → automaattisesti liitetyt siirrettävät laitteet ├── mnt → väliaikaiset liitospisteet ├── opt → valinnaiset/kolmannen osapuolen ohjelmat ├── proc → virtuaalinen hakemisto, prosessitiedot ├── root → pääkäyttäjän (root) kotihakemisto ├── tmp → väliaikaistiedostot ├── usr → käyttäjän ohjelmat ja resurssit └── var → muuttuva data, esim. lokit

Oma kotihakemistosi sijaitsee polussa /home/kayttajanimesi, ja siihen viitataan lyhenteellä ~ (tilde).

Harjoitus 4.1: Kirjoita cd / ja sen jälkeen ls. Mitä hakemistoja näet?

5. Perus liikkumiskomennot

Komento

Selitys

pwd

Näyttää nykyisen hakemiston (Print Working Directory)

ls

Listaa hakemiston sisällön

ls -l

Listaa yksityiskohtaisemmin (oikeudet, koko, päiväys)

ls -a

Näyttää myös piilotiedostot (alkavat pisteellä .)

cd kansio

Siirtyy kansioon

cd ..

Siirtyy yksi taso ylös

cd ~ tai pelkkä cd

Siirtyy kotihakemistoon

cd -

Siirtyy edelliseen sijaintiin

clear

Tyhjentää terminaalin näytön

Esimerkki

pwd # /home/matti cd Asiakirjat pwd # /home/matti/Asiakirjat cd .. pwd # /home/matti

Harjoitus 5.1: Siirry kotihakemistoosi, listaa piilotiedostot mukaan lukien, ja selvitä missä hakemistossa olet komennolla pwd.

6. Tiedostojen ja kansioiden käsittely

Komento

Selitys

mkdir nimi

Luo uuden kansion

mkdir -p a/b/c

Luo sisäkkäisiä kansioita kerralla

touch tiedosto.txt

Luo tyhjän tiedoston (tai päivittää aikaleiman)

cp lähde kohde

Kopioi tiedoston

cp -r kansio1 kansio2

Kopioi kansion sisältöineen

mv lähde kohde

Siirtää tai nimeää uudelleen

rm tiedosto

Poistaa tiedoston

rm -r kansio

Poistaa kansion sisältöineen

rm -rf kansio

Poistaa pakottaen kysymättä (käytä varoen!)

find polku -name "*.txt"

Etsii tiedostoja nimen perusteella

locate nimi

Etsii tiedostoja nopeasti (vaatii mlocate-paketin)

⚠️ Varoitus: Linuxissa ei ole roskakoria komentorivillä — rm poistaa tiedostot pysyvästi. Ole erityisen varovainen rm -rf -komennon kanssa, äläkä koskaan aja sitä juurihakemistossa (/) ilman että tiedät täsmälleen mitä teet.

Esimerkki

mkdir projekti cd projekti touch muistiinpanot.txt cp muistiinpanot.txt varmuuskopio.txt mv varmuuskopio.txt vanha_versio.txt ls

Harjoitus 6.1: Luo kansio nimeltä harjoitus, luo sen sisään tiedosto testi.txt, kopioi se nimellä testi_kopio.txt ja lopuksi poista alkuperäinen testi.txt.

7. Tiedostojen sisällön katselu ja muokkaus

Komento

Selitys

cat tiedosto

Tulostaa koko tiedoston sisällön

less tiedosto

Näyttää sisällön sivu kerrallaan (poistu: q)

head tiedosto

Näyttää tiedoston 10 ensimmäistä riviä

tail tiedosto

Näyttää tiedoston 10 viimeistä riviä

tail -f loki.log

Seuraa tiedostoa reaaliajassa (hyödyllinen lokeille)

nano tiedosto

Avaa yksinkertaisen tekstieditorin

grep "sana" tiedosto

Etsii rivejä, joilla esiintyy hakusana

Nano-editorin käyttö (helpoin aloittelijalle)

nano tiedosto.txt

Näytön alalaidassa näkyvät komennot ^-merkillä tarkoittavat Ctrl-näppäintä:

  • Ctrl + O = tallenna (Write Out)

  • Ctrl + X = poistu

  • Ctrl + K = leikkaa rivi

  • Ctrl + W = etsi

Vinkki: Kokeneemmat käyttäjät käyttävät usein vim- tai emacs-editoreita, mutta niiden opettelu vaatii enemmän aikaa. Nano riittää mainiosti alkuun.

Harjoitus 7.1: Avaa nano muistio.txt, kirjoita muutama rivi tekstiä, tallenna ja poistu. Tarkista sisältö komennolla cat muistio.txt.

8. Käyttöoikeudet

Linuxissa jokaisella tiedostolla ja kansiolla on omistaja, ryhmä ja käyttöoikeudet. Näet nämä komennolla ls -l:

-rwxr-xr-- 1 matti kayttajat 1024 elo 12 10:00 skripti.sh

Oikeudet jakautuvat kolmeen ryhmään: omistaja (u), ryhmä (g), muut (o):

- rwx r-x r-- omistaja ryhmä muut
  • r (read) = luku, arvo 4

  • w (write) = kirjoitus, arvo 2

  • x (execute) = suoritus, arvo 1

Oikeuksien muuttaminen: chmod

chmod u+x skripti.sh # lisää suoritusoikeus omistajalle chmod 755 skripti.sh # omistaja: rwx, ryhmä: r-x, muut: r-x chmod 644 tiedosto.txt # omistaja: rw-, ryhmä: r--, muut: r--

Numerointi lasketaan yhteen: rwx = 4+2+1 = 7, r-x = 4+0+1 = 5, r-- = 4+0+0 = 4.

Omistajan vaihtaminen: chown

sudo chown matti:kayttajat tiedosto.txt

sudo — pääkäyttäjän oikeudet

sudo (superuser do) suorittaa yksittäisen komennon pääkäyttäjän oikeuksin. Sitä tarvitaan järjestelmätason muutoksiin.

sudo apt update
⚠️ Käytä sudo-komentoa harkiten — pääkäyttäjän oikeuksilla voi vahingossa rikkoa järjestelmän.

Harjoitus 8.1: Luo tiedosto skripti.sh, tarkista sen oikeudet ls -l-komennolla, ja lisää sille suoritusoikeus omistajalle.

9. Käyttäjät ja ryhmät

Komento

Selitys

whoami

Näyttää nykyisen käyttäjän

id

Näyttää käyttäjä- ja ryhmätunnisteet

sudo adduser nimi

Lisää uuden käyttäjän

sudo passwd nimi

Asettaa käyttäjälle salasanan

sudo deluser nimi

Poistaa käyttäjän

groups

Näyttää käyttäjän ryhmät

su nimi

Vaihtaa toiseksi käyttäjäksi

Harjoitus 9.1: Selvitä komennolla id, mihin ryhmiin kuulut.

10. Prosessien hallinta

Komento

Selitys

ps

Näyttää käynnissä olevat prosessit nykyisessä terminaalissa

ps aux

Näyttää kaikki järjestelmän prosessit

top

Reaaliaikainen prosessien ja resurssien seuranta

htop

Parempi versio top-komennosta (asennettava erikseen)

kill PID

Lopettaa prosessin tunnisteen (PID) perusteella

kill -9 PID

Pakottaa prosessin sulkeutumaan

killall nimi

Lopettaa kaikki nimen mukaiset prosessit

& komennon lopussa

Suorittaa komennon taustalla

jobs

Listaa taustalla käynnissä olevat tehtävät

Ctrl + C

Keskeyttää käynnissä olevan komennon

Ctrl + Z

Pysäyttää komennon taustalle

Esimerkki

ps aux | grep firefox kill 4821

Harjoitus 10.1: Avaa top, tarkkaile hetki prosessilistaa ja poistu painamalla q.

11. Pakettien hallinta

Ohjelmien asennus Linuxissa tapahtuu yleensä paketinhallintaohjelman kautta, joka lataa ohjelmat luotettavista arkistoista.

Debian/Ubuntu-pohjaiset jakelut (APT)

sudo apt update # päivittää pakettilistat sudo apt upgrade # päivittää asennetut ohjelmat sudo apt install nimi # asentaa ohjelman sudo apt remove nimi # poistaa ohjelman sudo apt search hakusana # etsii paketteja

Fedora/RHEL-pohjaiset jakelut (DNF)

sudo dnf update sudo dnf install nimi sudo dnf remove nimi

Arch Linux (Pacman)

sudo pacman -Syu sudo pacman -S nimi sudo pacman -R nimi

Harjoitus 11.1: Päivitä pakettilistat (sudo apt update, jos käytät Ubuntu/Mint) ja asenna testiksi paketti htop komennolla sudo apt install htop.

12. Putket, ohjaus ja hyödylliset komennot

Linuxin komentorivin voima tulee siitä, että komentoja voi yhdistellä.

Putki |

Ohjaa edellisen komennon tulosteen seuraavan komennon syötteeksi.

ls -l | grep ".txt" history | grep cd ps aux | sort -rk 3 | head -5

Uudelleenohjaus > ja >>

echo "Hei maailma" > tiedosto.txt # kirjoittaa (ylikirjoittaa) tiedostoon echo "Lisärivi" >> tiedosto.txt # lisää tiedoston loppuun komento < syote.txt # lukee syötteen tiedostosta

Muita hyödyllisiä komentoja

Komento

Selitys

man komento

Näyttää komennon käyttöohjeen (manuaalin)

komento --help

Näyttää lyhyen ohjeen

history

Näyttää aiemmin annetut komennot

alias lyhenne='komento'

Luo oman lyhenteen komennolle

wget URL

Lataa tiedoston internetistä

tar -xzvf tiedosto.tar.gz

Purkaa pakatun tiedoston

df -h

Näyttää levytilan käytön

du -sh kansio

Näyttää kansion koon

echo $VARIABLE

Tulostaa muuttujan arvon

Harjoitus 12.1: Kokeile komentoa ls -l /etc | grep "conf" | head -5. Mitä se tekee vaihe vaiheelta?

13. Ympäristömuuttujat ja PATH

Ympäristömuuttujat tallentavat tietoa, jota ohjelmat voivat käyttää. Yksi tärkeimmistä on PATH, joka määrittää, mistä kansioista komentoja etsitään.

echo $PATH # /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin export MUUTTUJA="arvo" # asettaa muuttujan nykyiseen istuntoon echo $MUUTTUJA

Pysyvät muuttujat kannattaa lisätä tiedostoon ~/.bashrc, jotta ne latautuvat joka kerta terminaalia avatessa.

Harjoitus 13.1: Tulosta oma $PATH-muuttujasi ja etsi, mistä kansiosta löytyy ls-komennon ohjelmatiedosto komennolla which ls.

14. Verkkokomennot

Komento

Selitys

ping osoite

Testaa yhteyttä toiseen koneeseen

ip a

Näyttää verkkosovittimien tiedot

curl URL

Hakee sisältöä verkko-osoitteesta

wget URL

Lataa tiedoston verkosta

ssh kayttaja@osoite

Muodostaa etäyhteyden toiseen koneeseen

scp tiedosto kayttaja@osoite:polku

Kopioi tiedoston etäkoneelle turvallisesti

Harjoitus 14.1: Testaa yhteyttä komennolla ping -c 4 google.com (-c 4 lopettaa neljän paketin jälkeen).

15. Peruskomentojen kertaustaulukko

Kategoria

Komennot

Liikkuminen

pwd, cd, ls

Tiedostot

touch, cp, mv, rm, mkdir, find

Sisällön katselu

cat, less, head, tail, grep

Muokkaus

nano, vim

Oikeudet

chmod, chown, sudo

Käyttäjät

whoami, id, adduser, passwd

Prosessit

ps, top, kill

Paketit

apt, dnf, pacman

Verkko

ping, curl, ssh, scp

Muut

man, history, alias, df, du

16. Jatko-opiskeluvinkit

  1. Harjoittele säännöllisesti – asenna Linux virtuaalikoneelle tai vanhalle tietokoneelle ja käytä sitä oikeisiin tehtäviin.

  2. Opettele man-sivujen lukeminen – jokaisen komennon oma ohje löytyy aina komentoriviltä.

  3. Kokeile skriptien kirjoittamista – Bash-skriptaus (.sh-tiedostot) automatisoi toistuvia tehtäviä.

  4. Tutustu vim-editoriin, kun perusteet ovat hallussa – se on tehokas mutta vaatii totuttelua.

  5. Lue lokitiedostoja kansiosta /var/log, jotta ymmärrät miten järjestelmä toimii.

  6. Käytä yhteisöjä ja dokumentaatiota: esim. Arch Wikin ohjeet ovat erinomaisia lähes kaikille jakeluille, vaikket käyttäisikään Arch Linuxia.

  7. Kokeile pilvipalvelinta (esim. edullinen VPS) päästäksesi harjoittelemaan etäyhteyksiä ja palvelinylläpitoa.

Loppusanat

Linuxin oppiminen on kuin uuden kielen opettelua — aluksi komennot voivat tuntua vierailta, mutta harjoittelun myötä niistä tulee luonnollinen osa työskentelyä. Tärkeintä on kokeilla itse: avaa terminaali, tee virheitä turvallisessa ympäristössä (esim. virtuaalikoneella) ja opi niistä.

Onnea matkaan Linux-maailmaan! 🐧