Komentorivi

Tehtävien tukena kannattaa pitää auki komentoriviluento ja Unix-käyttöjärjestelmän alkeita. Tehtävät viittaavat suoraan luennon lukuihin, joten avaa luento omaan välilehteensä ennen kuin aloitat.

Tehtävät on uusittu syksyllä 2026. Myös vanha versio tehtävistä on edelleen saatavilla.

Ennen aloitusta
Malliratkaisut

Tehtävien ratkaisut komento kerrallaan löytyvät nauhoitettuina istuntoina. Nauhoitteista voi kopioida komennot suoraan, koska ne ovat tekstiä eivätkä videokuvaa. Kokeile kuitenkin ensin itse.

1. WWW-kotisivutilan ja UNIX-käytön aktivointi

U: ja W: ovat eri asemia

Kotihakemistosi on U:-asemalla ja www-tilasi W:-asemalla. Ne ovat eri levyjärjestelmissä, joten kotihakemistoon luotu tavallinen kansio ei näy verkossa. Tästä syystä tehtävässä 4 tehdään kotihakemistoon symbolinen linkki html, jonka kautta W:-asemalle pääsee käsiksi.

2. Pääteyhteys Unix-palvelimeen

Windowsissa, macOS:ssä ja Linuxissa on nykyään valmiina ssh-ohjelma. Erillisiä yhteysohjelmia ei tarvitse asentaa.

Ohje vastaa luennon lukua 7.
VaiheMitä teet
1Käynnistä VPN-yhteys, jos kone ei ole yliopiston verkossa. Kesästä 2024 alkaen SSH ei toimi ulkoa ilman VPN:ää.
2Käynnistä Windows Terminal (tai PowerShell). Macissa ja Linuxissa Terminal.
3Kirjoita ssh omatunnus@halava.cc.jyu.fi ja paina Enter.
4Hyväksy palvelimen avain kirjoittamalla yes.
5Kirjoita salasanasi. Se ei näy kirjoitettaessa, ei edes tähtinä.
[opiskelija@oma-kone ~]$ ssh omatunnus@halava.cc.jyu.fi
The authenticity of host 'halava.cc.jyu.fi (130.234.10.217)' can't be established.
ED25519 key fingerprint is SHA256:KA7t35STwdE6Enj/wY13P+WnCoz9zM8jy2vR+5BpgaY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
omatunnus@halava.cc.jyu.fi's password:
Last login: Tue Aug 26 20:34:00 2025 from vpn-10-1-2-3.jyu.fi
[omatunnus@halava ~]$
Jos avain on muuttunut

Jos SSH väittää myöhemmin palvelimen avaimen muuttuneen, älä jatka yhteyttä. Avain vaihtuu normaalisti vain suuren päivityksen yhteydessä, ja siitä tiedotetaan erikseen.

Tehtävä 1

Avaa yhteys halavaan. Kokeile komentoja whoami, hostname ja pwd. Mitä kukin niistä kertoo? Kirjaudu lopuksi ulos komennolla exit ja avaa yhteys uudelleen.

Kopiointi ja liittäminen pääteikkunassa

Ctrl+C ja Ctrl+V ovat päätteessä muussa käytössä, joten leikepöytä toimii eri näppäimillä.

OhjelmaKopiointiLiittäminen
Windows Terminal, PowerShellCtrl+Shift+CCtrl+Shift+V tai hiiren oikea painike
macOS TerminalCmd+CCmd+V
Linuxin pääteohjelmat, PuTTYCtrl+InsertShift+Insert tai keskipainike
Varo liittämistä

Monirivinen liitetty teksti suoritetaan heti komentoina. Älä koskaan liitä nettisivulta komentoa, jota et ymmärrä.

Liite: PuTTY ja KiTTY (ei enää tarpeen)

PuTTY ja KiTTY olivat vuosia tavallisin tapa ottaa SSH-yhteys Windowsista, koska Windowsissa ei ollut omaa ssh-komentoa. Nykyään niitä ei tarvita, mutta vanhoissa ohjeissa ja mallivideossa ne esiintyvät.

3. Komentorivin käyttäminen

Kirjautumisen jälkeen näet komentokehotteen. Sen ulkoasu vaihtelee, mutta yleensä siinä on käyttäjätunnus@kone ja oletushakemiston nimi. Viimeisenä merkkinä on $ tai %.

[opiskelija@halava ~]$

Merkki ~ tarkoittaa kotihakemistoa, joten olet kirjautumisen jälkeen automaattisesti siellä.

Tehtävä 2
Kaksi asiaa, jotka säästävät eniten aikaa

Sarkain täydentää. Kirjoita nimen alku ja paina Tab. Komentorivi täydentää lopun, jos nimi on yksikäsitteinen. Kaksi painallusta listaa vaihtoehdot.

Nuoli ylös hakee edellisen komennon. Sitä voi muokata nuolinäppäimillä ja ajaa uudelleen. Katso luennon luku 11.

Kooste tässä ohjauksessa tarvittavista komennoista. Laajempi taulukko on luennolla.

Unixin peruskomennot.
MerkintäEsimerkkiToiminta
/cd html/tyovalineHakemistoerotin
-ls -alVivun eli valitsimen etumerkki
.cp ../luennot/index.html .Oletushakemisto
..cd ..Isähakemisto
~cd ~/htmlKotihakemisto
pwdpwdKertoo, missä hakemistossa olet
lsls -al tyovalineHakemistolistaus
cdcd tyovaline/luennot/Vaihtaa oletushakemiston
mkdirmkdir -p a/b/cLuo hakemiston
rmdirrmdir luennotPoistaa tyhjän hakemiston
cpcp testi.txt harkka/Kopioi tiedostoja
mvmv demot demojaSiirtää tai nimeää uudelleen
rmrm testi.txtPoistaa tiedoston pysyvästi
catcat testi.txtTulostaa tiedoston sisällön
lessless testi.txtSelaa sisältöä; poistu q
chmodchmod a+r index.htmlMuuttaa oikeuksia
nanonano testi.txtTekstieditori
manman lsKomennon käyttöohje; poistu q

4. pwd, symbolinen linkki, echo ja mkdir

Selvitä ensin, missä olet halavan tiedostojärjestelmässä:

[opiskelija@halava ~]$ pwd
/nashome3/opiskelija

pwd kertoo aina oletushakemistosi eli työhakemistosi. Heti kirjautumisen jälkeen se on sama kuin kotihakemistosi. Polun alkuosa (nashome3) vaihtelee käyttäjittäin.

Symbolinen linkki www-tilaan

Kotihakemistosi on U:-asemalla, mutta www-sivusi ovat W:-asemalla. Luodaan kotihakemistoon symbolinen linkki, jonka kautta W:-asemalle pääsee. Valmis komento tekee sen puolestasi:

[opiskelija@halava ~]$ /opiskelu/itkp1011/makewww

Tämän jälkeen kotihakemistossasi on html-niminen linkki, joka käyttäytyy kuin tavallinen kansio. Katso, minne se johtaa:

[opiskelija@halava ~]$ ls -ld html
lrwxrwxrwx. 1 opiskelija students 36 Sep  6 12:31 html -> /wwwhome/home/opiskelija/public_html
[opiskelija@halava ~]$ realpath html
/wwwhome/home/opiskelija/public_html

Rivin ensimmäinen kirjain l ja nuoli kertovat, että kyseessä on linkki eikä hakemisto. Symbolisista linkeistä on tarkempi selitys luennon lisätieto-osassa.

Jos tulee virhe html: No such file or directory

Linkitys puuttuu tai kotisivutila ei ole vielä aktivoitunut. Aja /opiskelu/itkp1011/makewww uudelleen. Aktivointi voi kestää 15 minuuttia, joten odota hetki ja yritä sitten uudestaan. Jos virhe jatkuu, tarkista sso.jyu.fi-palvelusta, että Kotisivutila on valittuna.

Lisätietoa: mitä makewww oikeasti tekee

makewww on valmis komento, joka tekee käytännössä saman kuin:

[opiskelija@halava ~]$ ln -s /wwwhome/home/$USER/public_html ~/html

Jos saat virheen File exists, linkki on jo olemassa.

Hakemistojen luominen

Tehtävä 3
  1. Siirry www-tilaasi: cd html
  2. Tee sinne hakemisto tyovaline komennolla mkdir tyovaline. Onnistuneesta komennosta ei tule mitään palautetta; vain virheistä kerrotaan.
  3. Tarkista tulos komennolla ls -al. Näet hakemiston tyovaline sekä merkinnät . (nykyinen hakemisto) ja .. (isähakemisto).
  4. Palaa kotihakemistoon pelkällä komennolla cd ilman parametreja.
  5. Siirry suoraan takaisin: cd html/tyovaline. Kokeile Tab-täydennystä: kirjoita cd ht ja paina sarkainta.
  6. Siirry yksi taso ylös komennolla cd .. ja sitten takaisin tyovaline-kansioon.
  7. Tee tyovaline-kansioon kolme hakemistoa: harkka, demot ja luennot.

Tarkista lopputulos tree-komennolla:

[opiskelija@halava tyovaline]$ tree
.
├── demot
├── harkka
└── luennot

3 directories, 0 files
Tehtävä 4

5. Tekstieditori nano

nano on yksinkertainen tekstieditori, karkeasti Windowsin Muistion vastine. Tiedoston nimi annetaan parametrina; jos tiedostoa ei ole, se luodaan tallennettaessa.

[opiskelija@halava tyovaline]$ nano testi.txt

Alareunassa näkyvät yleisimmät komennot. Merkki ^ tarkoittaa Ctrl-näppäintä ja M- tarkoittaa Alt-näppäintä. Sanamuodot vaihtelevat nanon version ja kieliasetuksen mukaan.

  GNU nano 5.6.1                    testi.txt

^G Ohje      ^O Kirjoita  ^W Etsi      ^K Leikkaa   ^T Suorita   ^C Sijainti
^X Lopeta    ^R Lue tied. ^\ Korvaa    ^U Liitä     ^J Tasaa     ^/ Rivinro
Nanon tärkeimmät näppäimet.
NäppäilyToiminto
Ctrl+OTallenna. Kysyy tiedostonimen; hyväksy Enterillä
Ctrl+XPoistu
Ctrl+WEtsi merkkijonoa
Ctrl+K ja Ctrl+ULeikkaa rivi ja liitä se
Alt+UKumoa
Ctrl+/Siirry riville numero

Kursoria liikutetaan nuolinäppäimillä. Hiirtä on turha yrittää: palvelin ei tiedä koneesi hiirestä mitään.

Tehtävä 5
  1. Kirjoita testi.txt-tiedostoon muutama rivi tekstiä.
  2. Tallenna (Ctrl+O) ja poistu (Ctrl+X).
  3. Tarkista sisältö komennolla cat testi.txt.

6. Kopiointi ja siirtäminen

Rakenteen pitäisi nyt näyttää tältä:

[opiskelija@halava tyovaline]$ tree
.
├── demot
├── harkka
├── luennot
└── testi.txt

3 directories, 1 file
Tehtävä 6
  1. Kopioi testi.txt hakemistoon harkka cp-komennolla. Malleja on luennon kopiointiesimerkeissä.
  2. Varmista, että olet edelleen tyovaline-hakemistossa, ja kopioi sama tiedosto myös demot-hakemistoon.
  3. Siirrä demot-hakemiston testi.txt mv-komennolla luennot-hakemistoon.
  4. Tarkista lopputulos tree-komennolla.
[opiskelija@halava tyovaline]$ tree
.
├── demot
├── harkka
│   └── testi.txt
├── luennot
│   └── testi.txt
└── testi.txt

3 directories, 3 files
cp ja mv eivät kysy mitään

Jos kohteessa on jo samanniminen tiedosto, se korvataan varoittamatta. Vipu -i saa komennon kysymään ensin.

Tehtävä 7

Testaa tiedostojen näkyminen selaimessa. Avaa osoite

https://users.jyu.fi/~omatunnus/tyovaline/harkka/testi.txt

Osoitteessa on oltava koko kansiorakenne ja tiedoston nimi, koska palvelimessa on estetty hakemistolistausten näyttäminen. Muista myös, että isoilla ja pienillä kirjaimilla on merkitystä.

7. Tiedostojen ja hakemistojen poistaminen

Lue tämä ennen kuin poistat mitään

Komentorivillä ei ole roskakoria. rm poistaa tiedoston lopullisesti eikä kumoamistoimintoa ole. Jos poistat jokerimerkeillä, tarkista aina ensin ls- tai echo-komennolla, mihin merkit osuvat.

[opiskelija@halava tyovaline]$ ls *.txt        # katso ensin
[opiskelija@halava tyovaline]$ rm *.txt        # poista vasta sitten
Tehtävä 8
  1. Poista rm-komennolla luennot-hakemiston testi.txt.
  2. Poista sitten rmdir-komennolla hakemistot luennot ja demot. Jätä harkka jäljelle harjoitustyötä varten.
  3. Mitä rmdir vastaa, jos hakemisto ei ole tyhjä? Kokeile ja lue virheilmoitus.

8. Tiedostojen oikeuksien muuttaminen

Tiedosto-oikeuksien muuttaminen on osattava, jos haluat harjoitustyön komentoriviosuudesta arvosanaksi kolme (3) tai enemmän. Perusteet ovat luennon luvussa 29; tässä kerrataan olennainen.

[opiskelija@halava tyovaline]$ ls -al
total 8
drwxr-xr-x. 3 opiskelija students   61 Nov  5 12:41 .
drwxr-xr-x. 4 opiskelija students 4096 Nov  5 12:39 ..
drwxr-xr-x. 2 opiskelija students    6 Nov  5 12:39 harkka
-rw-r--r--. 1 opiskelija students  216 Jan 23 13:37 testi.txt

Ensimmäisen sarakkeen ensimmäinen kirjain kertoo tyypin: - tiedosto, d hakemisto, l symbolinen linkki. Yhdeksän seuraavaa merkkiä ovat oikeudet kolmen ryhmissä: omistaja (owner), ryhmä (group) ja kaikki muut (others). Jos oikeutta ei ole, paikalla on -.

Oikeudet tarkoittavat eri asiaa tiedostolle ja hakemistolle
OikeusTiedostollaHakemistolla
rSaa lukea sisällönSaa listata nimet, esimerkiksi ls
wSaa muuttaa sisältöäSaa luoda ja poistaa hakemiston sisällä olevia tiedostoja
xSaa suorittaa ohjelmanaSaa kulkea läpi: siirtyä siihen cd-komennolla ja käyttää sen sisällä olevia tiedostoja

Hakemiston x-oikeus ei siis ole listaamisoikeus vaan läpikulkuoikeus. Tämä on www-julkaisemisessa ratkaisevaa: palvelin tarvitsee x-oikeuden jokaiseen hakemistoon polulla sivullesi, vaikka se ei saisi listata niiden sisältöä.

Halavassa ja jalavassa opiskelijoiden ryhmä ja muut ovat käytännössä sama asia.

chmod

chmod [vivut] [muutos] [tiedosto tai hakemisto]

Vipu -R muuttaa oikeudet rekursiivisesti koko hakemistorakenteeseen. Muutos annetaan symbolisesti kolmessa osassa: kenelle, miten, mitä.

KenelleMitenMitä
u omistaja+ lisäär luku
g ryhmä- poistaw kirjoitus
o muut= aseta täsmälleenx suoritus tai läpikulku
a kaikkiX läpikulku vain hakemistoille
chmod a+x skripti.sh            # kaikille suoritusoikeus tiedostoon
chmod ug+w raportti.txt         # omistajalle ja ryhmälle kirjoitusoikeus
chmod a+rx kotisivu             # kaikille luku JA läpikulku kansioon
chmod go-rwx omat/oma.txt       # ryhmältä ja muilta kaikki oikeudet pois
chmod a=r yhteinen.txt          # kaikille pelkkä lukuoikeus, muut pois
Kansiolle ei riitä pelkkä a+r

Yleinen virhe on antaa kansiolle pelkkä lukuoikeus. Silloin sen nimet näkyvät, mutta sisään ei pääse eikä tiedostoja saa auki. Kansioille käytetään a+rx ja tiedostoille a+r. Koko puun saa kerralla oikein komennolla chmod -R a+rX, jossa iso X lisää läpikulun vain hakemistoihin.

Viimeinen esimerkki chmod a=r yhteinen.txt poistaa kirjoitusoikeuden myös omistajalta. Tiedostoa ei voi muokata ennen kuin annat itsellesi kirjoitusoikeuden takaisin.

Tehtävä 9
  1. Anna harkka-kansioon kaikille luku- ja läpikulkuoikeus. Tarkista tulos komennolla ls -ld harkka.
  2. Käy katsomassa selaimella, että https://users.jyu.fi/~omatunnus/tyovaline/harkka/testi.txt aukeaa.
  3. Poista nyt tyovaline-kansiosta muilta sekä luku- että läpikulkuoikeus (chmod go-rx tyovaline). Päivitä sivu selaimessa. Minkä virheen saat?
  4. Kokeile sitten poistaa vain lukuoikeus (chmod go-r) ja jättää x voimaan. Näkyykö tiedosto nyt? Mieti, miksi.
  5. Palauta lopuksi toimivat oikeudet: chmod -R a+rX ~/html/
Kauttaviiva lopussa

~/html on symbolinen linkki. Kirjoittamalla polun muodossa ~/html/ kohdistat komennon linkin takana olevaan hakemistoon etkä linkkiin itseensä.

9. Vaativampia tehtäviä

Nämä kannattaa tehdä, jos tavoittelet harjoitustyön komentoriviosuudesta enemmän kuin kolmosta.

9.1 Tulostuksen edelleenohjaus

Komentorivikäytölle on tyypillistä työkaluajattelu, jossa monimutkaisemmat tehtävät ratkaistaan yhdistelemällä yksinkertaisia työkaluja. Tulostuksen voi ohjata näytön sijasta tiedostoon merkinnöillä > ja >>.

Tehtävä 10
  1. Ohjaa ls-komennon tuloste tiedostoon: ls > tiedostot.txt
  2. Tutki tulosta komennolla less tiedostot.txt. Poistu q-näppäimellä.
  3. Ohjaa nyt tree-komennon tuloste samaan tiedostoon. Mitä tiedostossa lukee? Mihin edellinen sisältö katosi?
  4. Lisää perään ls >> tiedostot.txt. Mitä tapahtui tällä kertaa?
> tyhjentää kohteen heti

Merkintä > tyhjentää kohdetiedoston ennen kuin komento edes ajetaan. Vahingossa kirjoitettu yksi kulmasulje kahden sijasta hävittää tiedoston sisällön.

Virhevirta on eri asia kuin tuloste

Jokaisella ohjelmalla on kaksi erillistä tulostusvirtaa: vakiotuloste (stdout) ja virhevirta (stderr). Merkintä > ohjaa vain ensimmäisen, minkä vuoksi virheilmoitukset jäävät näkyviin ruudulle.

MerkintäToiminto
komento 2> virheet.txtOhjaa vain virhevirran tiedostoon
komento > ulos.txt 2>&1Ohjaa molemmat samaan tiedostoon
komento 2> /dev/nullHeittää virheilmoitukset pois
Tehtävä 11

Aja komento ls /etc/ /ei-ole-olemassa > ulos.txt. Mitä jää ruudulle ja mitä menee tiedostoon? Kokeile sitten samaa muodossa ls /etc/ /ei-ole-olemassa > ulos.txt 2> virheet.txt.

9.2 Putkitus

Komennon tulosteen voi ohjata suoraan toiselle komennolle putkimerkillä |.

Tehtävä 12
  1. Vertaa komentoja ls /etc/ ja ls /etc/ | less. Mitä eroa niillä on? Muista q.
  2. Tulosta /etc/-kansion sisällöstä vain kymmenen ensimmäistä riviä: ls /etc/ | head
  3. Laske, montako kohdetta /etc/-kansiossa on: ls /etc/ | wc -l

9.3 Korvausmerkit

Korvausmerkeillä eli jokerimerkeillä sama toimenpide kohdistetaan moneen tiedostoon kerralla. Komentotulkki laajentaa merkit tiedostonimiksi ennen kuin komento suoritetaan.

MerkkiVastaaEsimerkki
*Nollaa tai useampaa mitä tahansa merkkiäls *.txt
?Yhtä mitä tahansa merkkiäls ???.txt
Tarkista aina echolla

Kirjoittamalla echo suunnittelemasi komennon eteen näet täsmälleen sen rivin, jonka komentotulkki olisi suorittanut. Tämä on erityisen tärkeää ennen rm-komentoa.

[opiskelija@halava tyovaline]$ echo rm *.txt
rm testi.txt tiedostot.txt
Tehtävä 13

Ratkaise ls-komennolla ja korvausmerkeillä:

  1. Kaikki .conf-päätteiset kohteet /etc/-kansiosta.
  2. Kaikki kohteet, joiden nimessä esiintyy jossain kohtaa conf.
  3. Kaikki kohteet, joiden nimi päättyy pisteeseen ja kahteen merkkiin.
  4. Kaikki kohteet, joiden nimi alkaa p-kirjaimella ja päättyy .conf.
Globi ei ole säännöllinen lauseke

Tiedostonimien korvausmerkkejä kutsutaan usein virheellisesti säännöllisiksi lausekkeiksi. Ne ovat eri järjestelmiä, ja sama merkki tarkoittaa niissä eri asiaa: tiedostonimissä * on ”mikä tahansa merkkijono”, mutta grep-komennossa se tarkoittaa ”edellinen merkki nolla tai useampi kerta”. Ero selitetään luennon luvussa 25.

10. man

man-komento näyttää komennon manuaalisivun. Manuaali avautuu less-ohjelmaan, joten siitä poistutaan q-näppäimellä. Haku onnistuu /-näppäimellä ja hyödyllisin osa, EXAMPLES, on yleensä aivan lopussa (G hyppää sinne).

Tehtävä 14

Selvitä manuaalisivujen avulla, mitä seuraavat ohjelmat tekevät. Kokeile kutakin myös käytännössä.

11. grep

grep poimii rivit, joilla esiintyy haluttu merkkijono. Se on hyödyllisimpiä komentorivin työkaluja.

[opiskelija@halava tyovaline]$ grep testi tiedostot.txt   # tiedoston riveistä
[opiskelija@halava tyovaline]$ ls /etc/ | grep conf       # putkesta, nimistä
[opiskelija@halava tyovaline]$ grep -i todo muistiot.txt  # kirjainkoko ei väliä
[opiskelija@halava tyovaline]$ grep -n img index.html     # näytä rivinumerot
[opiskelija@halava tyovaline]$ grep -l www /etc/*         # vain tiedostojen nimet
[opiskelija@halava tyovaline]$ grep -c error loki.txt     # laske osumat

Komento grep www /etc/* antaa runsaasti virheilmoituksia hakemistoista ja tiedostoista, joihin sinulla ei ole lukuoikeutta. Ne voi vaientaa kahdella tavalla, ja ero kannattaa ymmärtää:

Tehtävä 15
  1. Tulosta tiedostosta /etc/nsswitch.conf kaikki rivit, joilla on #-merkki. Huomaa, että # on komentotulkille erikoismerkki ja se on kirjoitettava heittomerkkien sisään: grep '#' /etc/nsswitch.conf
  2. Tulosta samasta tiedostosta rivit, joilla #-merkkiä ei ole. Vinkki: -v.
  3. Etsi /etc/-kansiosta niiden tiedostojen nimet, joiden sisällössä esiintyy #. Selvitä manuaalista, mikä vipu tulostaa pelkän tiedostonimen.

12. Komentojen vivut

Lähes kaikkien komentojen toimintaa voi muokata vivuilla. Vipu selviää aina ohjelman manuaalisivulta, ja manuaalien lukeminen vaatii pientä harjoittelua.

Tehtävä 16
  1. Vertaa komentoja ls /etc/ ja ls -l /etc/.
  2. Komento ls /etc/*.d tulostaa myös .d-loppuisten kansioiden sisällöt. Etsi vipu, jolla saat näkyviin vain kansioiden nimet.
  3. Luo yhdellä komennolla kansiorakenne foo/bar/foobar/barfoo. Vinkki: mkdir-komennon manuaali.
  4. Etsi man -k -haulla, mitä pdf-tiedostoihin liittyviä ohjelmia koneessa on: man -k pdf
  5. Poista lopuksi luomasi foo-puu. Mieti ensin, mikä komento siihen tarvitaan ja miksi rmdir ei riitä.

13. Tiedostojen siirto

Jos et saa W:-asemaa käyttöön verkkolevynä, tiedostot voi siirtää SFTP-yhteydellä. Windowsissa käytetään WinSCP:tä ja macOS:ssä FileZillaa. Käynnistä ensin VPN-yhteys.

  1. Valitse File protocol -kohtaan SFTP.
  2. Kirjoita Host name -kohtaan halava.cc.jyu.fi.
  3. Täytä käyttäjätunnus ja salasana ja valitse Login. WinSCP:n kirjautumisikkuna, jossa protokollaksi on valittu SFTP
  4. Hyväksy palvelimen avain ensimmäisellä kerralla. WinSCP:n varoitus tuntemattomasta palvelinavaimesta
  5. Näkymä jakautuu kahtia: vasemmalla oma koneesi, oikealla palvelin. Oikealla näkyy oletuksena kotihakemistosi. Valmis SFTP-yhteys WinSCP:ssä, näkymä jaettuna paikalliseen ja etäpuoleen
  6. Listaus päivittyynäppäinyhdistelmällä Ctrl+R.
Sama komentoriviltä

Saman voi tehdä ilman erillistä ohjelmaa. scp toimii nykyään myös Windowsissa, ja rsync siirtää vain muuttuneet tiedostot. Katso luennon luku 34.

$ scp index.html omatunnus@halava.cc.jyu.fi:html/
$ rsync -avz sivusto/ omatunnus@halava.cc.jyu.fi:html/

14. Lisätehtäviä

Näissä tehtävissä joudut yhdistelemään useita komentoja, putkitusta, korvausmerkkejä ja vipuja. Jos tavoittelet kurssista arvosanaa viisi, harjoittele näitä.

Tehtävä 17
  1. Selvitä, miten who-komento toimii. Kuinka monta käyttäjää on parhaillaan kirjautuneena halavaan? Vinkki: wc -l.
  2. Listaa kirjautuneet käyttäjät käänteisessä aakkosjärjestyksessä käyttäjätunnuksen mukaan.
  3. Selvitä, montako eri käyttäjää koneessa on, vaikka yhdellä käyttäjällä olisi useita istuntoja. Vinkki: cut, sort ja uniq.
  4. Tulosta kaikista /etc/-kansion .conf-päätteisistä tiedostoista #-merkin sisältävät rivit aakkosjärjestyksessä.
  5. Selvitä quota -s -komennolla, paljonko levytilaa sinulla on käytössä. Etsi sitten du -sh ~/* | sort -h -komennolla eniten tilaa vievä kansio.

Ketjuttaminen

Komentoja voi yhdistää samalle riville. Merkintä && suorittaa jälkimmäisen komennon vain, jos ensimmäinen onnistui. Tämä on hyödyllistä silloin, kun toinen komento olisi vaarallinen väärässä hakemistossa.

[opiskelija@halava ~]$ cd ~/html/tyovaline && ls
[opiskelija@halava ~]$ cd ~/ei-ole && rm *.txt
Tehtävä 18

Aja jälkimmäinen esimerkki ja selitä, miksi mitään ei poistettu. Mitä olisi tapahtunut, jos komennot olisi erotettu puolipisteellä (;)?

Lisätehtävä: SSH-yhteys toiseen Unix-koneeseen

Avoimen SSH-yhteyden kautta voi ottaa yhteyden toiseen koneeseen:

[opiskelija@halava ~]$ ssh omatunnus@jalava.cc.jyu.fi
[opiskelija@jalava ~]$ hostname
jalava.cc.jyu.fi
[opiskelija@jalava ~]$ exit
[opiskelija@halava ~]$ exit

Huomaa, että jokainen exit sulkee yhden yhteyden kerrallaan. Tarkista hostname-komennolla, missä koneessa kulloinkin olet.

Lisätehtävä: tiedostojen oikeudet WinSCP:llä

Oikeuksia voi muuttaa myös graafisesti. Huomaa, että U:-asemalla eli kotihakemistossa tämä ei toimi normaalilla tavalla; tee harjoitus html-kansion puolella.

  1. Etsi WinSCP:llä html-kansio ja sen alta tyovaline.
  2. Napsauta testi.txt-tiedostoa hiiren oikealla painikkeella ja valitse Properties. WinSCP:n ponnahdusvalikko, josta valitaan Properties
  3. Poista lukuoikeus (read) ryhmältä (group) ja muilta (others). WinSCP:n Properties-dialogi, jossa oikeudet esitetään ruutuina ja oktaalilukuna
  4. Päivitä tiedosto selaimessa. Jos se vieläkin näkyy, jokin meni pieleen.
  5. Palauta lukuoikeus ryhmälle ja muille ja tarkista, että tiedosto näkyy taas.

Dialogissa näkyy myös oikeuksien oktaalimuoto, esimerkiksi 0644. Se on sama asia kuin rw-r--r--: r = 4, w = 2, x = 1.

Hyödyllisiä komentoriviohjelmia

Jos komentorivi kiinnostaa enemmän, tutustu näihin. Tarkista ensin which ohjelma -komennolla, onko ohjelma asennettu halavaan.

Kokeile myös näitä: awk, bc, df, diff, du, env, file, find, id, kill, ln, ps, sed, touch, tree, xargs.

Putkitusta voi harjoitella myös korttipelin parissa.

15. Lisämateriaalia

Käyttäjien kommentit

Kommentoi Lisää kommentti