1. Johdanto

Osion oppimateriaalit on tehty Windows 10:lle, macOs:lle ja Ubuntulle (20.04). Unix-komentorivin perustoiminnot ovat pitkälti samoja monessa muussakin järjestelmässä. Ongelmatilanteissa muiden kuin edellä esitettyjen järjestelmien käyttäjät ovat itse vastuussa ongelmien ratkaisemisesta. Tämä osio on jaettu neljään alalukuun. Alaluvut 2.1–2.3 ohjaavat käyttöjärjestelmäkohtaisesti Unix-komentorivin käyttöönoton omalla koneella. Tämä on suositeltu suoritustapa Unix-komentoriviosioon. Alaluku 2.2 ohjaa yhdistämään yliopiston Linux-suorakäyttökoneisiin SSH-yhteydellä.

1.1 Komentorivin käyttöönotto Linux-ympäristössä (1 min)

Ubuntussa (ja monessa muussa linuxissa) komentoriviä käytetään Terminaali-ohjelmalla (Terminal).

  1. Klikkaa valikko auki ja kirjoita Terminaali. Klikkaa sitten Terminaalin ikonia.
  2. Näppäinyhdistelmä Ctrl-Alt+T avaa terminaalin.

Unix-komentorivi on nyt edessäsi auki valmiina käytettäväksi.

1.2 Komentorivin käyttöönotto macOS:llä (1 min)

macOS:llä komentoriviä käytetään Pääte-ohjelmalla (Terminal). Avaa spotlight valikkorivin oikean yläkulman suurennuslasi-ikonista tai näppäinyhdistelmällä ⌘-välilyönti. Kirjoita siihen pääte (tai terminal) ja klikkaa Pääte-ohjelman ikonia. Unix-pohjainen komentorivi on nyt edessäsi auki valmiina käytettäväksi.

# wslinstall

2. Unix-komentorivin käyttöönotto Windows 10 -käyttöjärjestelmällä

Windows ei suoraan tue unix-komentoriviä. Tässä osiossa unix-komentorivi otetaan käyttöön hyödyntäen Windows-alijärjestelmää Linuxille (Windows Subsystem for Linux).

# wsl

2.1 Windows-alijärjestelmä Linuxille

Windows-alijärjestelmä Linuxille (WSL) mahdollistaa Unix-komentorivin käytön suoraan Windowsista käsin. Komentorivin käyttöönotto vaatii ensimmäisellä kerralla enemmän työtä kuin muilla käyttöjärjestelmillä, mutta käyttöönoton jälkeen kaikki ovat samalla viivalla. WSL vaatii toimiakseen Windows 10-käyttöjärjestelmän. Käyttöönotto ohjataan seuraavaksi kahdella tavalla, ensin graafisesti Windowsin asetusten kautta. Jos olet suorittanut kurssin PowerShell osion, tai jos sinulla on kokemusta komentorivityöskentelystä, niin voit siirtyä kohtaan "Käyttöönotto PowerShellillä".

Tärkeää: Hakemistot:

C:\Users\username\AppData\Local\Temp
C:\Users\Vesa\AppData\Local\Packages

eivät saa olla pakattuja. Yleensä ne eivät oletuksena olekaan, mutta jos olet levytilan säästämiseksi käynyt sanomassa että pakkaa levy, niin nuokin hakemisto tulee pakattua. Niistä pitää ensin poistaa pakkaus ennen kuin wsl:ää ruvetaan asentamaan tai viimeistään kun ruvetaan käyttämään.

2.1.1 Käyttöönotto asetuksista

  1. Avaa Windowsin asetukset.
  2. Valitse Sovellukset (Apps)
  3. Valitse Lisäasetusten "Ohjelmat ja toiminnot" (Program and Features, makimoi ikkuna, oikea reuna)

Ohjelmat ja toiminnot -linkin sijainti

  1. Valitse "Ota Windowsin ominaisuuksia käyttöön tai poista niitä käytöstä" (Turn Windows features on or off)

"Ota Windowsin ominaisuuksia käyttöön tai poista niitä käytöstä" -valinnan sijainti.

  1. "Ota Windowsin ominaisuuksia käyttöön tai poista niitä käytöstä" -valinnan sijainti. Etsi ja valitse luettelosta "Windows-alijärjestelmä Linuxille" (Windows Subsystem for Linux, wsl)

"Windows-alijärjestelmä Linuxille" valittuna Windows-ominaisuudet -ikkunassa.

  1. Paina OK. Odota, kun Windows ottaa muutokset käyttöön.
  2. Käynnistä Windows uudelleen.

Uudelleen käynnistyksen jälkeen järjestelmä on valmis Linux-käyttöjärjestelmän asentamiseen Microsoft Storesta.

Video WSL:n käyttöönotosta windowsin asetuksista.

# V2

2.1.2 Käyttöönotto PowerShellillä

Jos PowerShellin käyttö on tuttua, niin käyttöönotto sujuu yhdellä komennolla.

  1. Käynnistä PowerShell järjestelmänvalvojan oikeuksilla.

  2. Kirjoita komento:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
  3. Käynnistä tietokone uudestaan vastaamalla 'Y' kysyttäessä.

PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all

Deployment Image Servicing and Management tool
Version: 10.0.19041.844

Image Version: 10.0.19042.867

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
Restart Windows to complete this operation.
Do you want to restart the computer now? (Y/N) Y

Uudelleen käynnistyksen jälkeen järjestelmä on valmis Linux-käyttöjärjestelmän asentamiseen Microsoft Storesta.

⭐ Microsoftin omista ohjeista voit ottaa käyttöön Windows alijärjestelmä Linuxille version kaksi (wsl 2). Jos BIOS/UEFI eivät ole käsitteinä ennestään tuttuja, niin tässä riittää seikkailtavaa. WSL versioiden vertailua.
HUOM! Tätä käytettäessä hakemistot:
C:\Users\username\AppData\Local\Packages\CanonicalGroup...
C:\Users\username\AppData\Local\Temp
eivät saa olla pakattuja (compressed, jos ovat, poista niistä pakkaus)

2.1.3 Linuxin asentaminen Microsoft Storesta (Ubuntu 20.04)

Kun Windows-alijärjestelmä Linuxille on otettu käyttöön, voidaan koneelle asentaa Linux-käyttöjärjestelmä. Tällaisia käyttöjärjestelmiä on monia, mutta tälle kurssille on valittu Ubuntu 20.04. Käytännössä komentorivin alkeita opetellessa ei käyttöjärjestelmällä liene lainkaan merkitystä, mutta mitään osaa opetusmateriaaleista ei ole testattu muilla Linux-käyttöjärjestelmillä.

⭐ Seikkailunhaluisimmat voivat valita itselleen jakelupaketin esimerkiksi näistä vaihtoehdoista. Jos et tiedä, mikä jakelupaketti on, niin tämän vaiheen voi hyvillä mielin skipata tämän kohdan.

  1. Avaa Microsoft Store
  2. Valitse Ubuntu 20.04 LTS Ubuntu 20.04 LTS valittu usean Ubuntun joukosta.
  3. Ubuntu 20.04 LTS valittu usean Ubuntun joukosta.
  4. Valitse "Hanki" ja odota, kun ohjelma latautuu ja asennetaan.
  5. Käynnistä Ubuntu esimerkiksi etsimällä se käynnistä-valikosta. Ensimmäisellä käynnistyskerralla Ubuntu viimeistelee asennuksena.

Onnistuneen asennuksen jälkeen Ubuntu ohjaa sinut luomaan käyttäjätilin. Siitä lisää seuraavassa.

Huom: Luotavalla käyttäjätilillä ei ole mitään yhteyttä Windowsin käyttäjätiliin, eikä minkään muun systeemin käyttäjätiliin. Sinun ei tarvitse käyttää samaa käyttäjänimeä, eikä toisaalta kannata käyttää samaa salasanaa missään muussa järjestelmässä. Unohtuneen salasanan voi PowerShellillä myöhemmin korvata, mutta kannattaa pitää salasana muistissa - varsinkin jos PowerShellin käyttö ei ole ennestään tuttua.

  1. Valitse ja kirjoita Unix-käyttäjänimi. Käyttäjänimen ensimmäisen merkin on hyvä olla pieni kirjain (a-z) ja loppujen merkkien pieniä kirjaimia tai numeroita. Paina lopuksi enteriä.
  2. Kirjoita haluamasi salasana ja paina enteriä.
  3. Toista sama salasana ja paina enteriä.
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: kayttaja
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.72-microsoft-standard-WSL2 x86_64)

Tässä vaiheessa sinulla on edessäsi asennettu ja käyttövalmis Unix-komentorivi ja olet samalla linjalla Linux- ja macOS-käyttäjien kanssa.

2.1.4 Levyt näkyvät hakemistoina

Windowsin levyt näkyvät WSL:ssä hakemistoina tyyliin

/mnt/c
/mnt/e

2.1.5 Kotihakemisto Windowsista käsin

Kotihakemisto ~ eli /home/KAYTTAJATUNNUS näkyy Windowsista hakemistosta:

\\wsl$\Ubuntu-20.04\home\KAYTTAJATUNNUS

Pitää huomata että esim CMD promtista tähän ei pääse käsiksi, mutta PowerShellista ja Explorerista pääsee.

# extensionWSL

2.1.6 Windowsin ohjelmat helpommin käyttöön

Esimerkiksi .bat, .com ja .exe -tiedostoja varten joudut kirjoittamaan myös tarkentimen niiden käynnistämiseksi. Jos haluat Windowsin tapaan niin, että tareknin ei tarvitse kirjoittaa, voit tehdä seuraavasti:

cd ~
nano .bashrc

ja sitten lisää tiedoston alkuun seuraava lohko:

command_not_found_handle() {
    cmd=$1
    shift
        if which "${cmd}.exe" >/dev/null
        then "${cmd}.exe" "$@"
        elif which "${cmd}.bat" >/dev/null
        then "cmd.exe" /C "${cmd}.bat" "$@"
        elif which "${cmd}.cmd" >/dev/null
        then "cmd.exe" /C "${cmd}.cmd" "$@"
        # else echo "Command not found: $cmd" >&2
        else /usr/lib/command-not-found $cmd
        fi
}

tallenna tiedosto ja käynistä uusi shell, niin sillä voit kirjoittaa kommentoja ilman tarkenninta.

# ssh

2.2 SSH-yhteyden käyttöönotto yliopiston suorakäyttökoneille

Unix-komentorivi-osio on suositeltavaa suorittaa paikallisesti omalla koneella. Osio on mahdollista suorittaa myös yliopiston suorakäyttökoneilla. Tässäkin Windowsin käyttäjillä on ensimmäisellä kerralla esityötä, kun taas macOS ja Linux-käyttäjät voivat siirtyä suoraan kohtaan "Yhdistäminen suorakäyttökoneeseen". SSH, eli Secure Shell on turvallinen tapa käyttää toista tietokonetta etäyhteyden välityksellä. Asiasta voit oppia lisää yliopiston Tietoverkot-kurssilla, tai Wikipediasta.

Windows 10 käyttöjärjestelmän ssh-asiakasohjelman asentaminen.

Windows 10 on nykyään sisäänrakennettu ssh-asiakasohjelma. Se on kuitenkin valinnainen ominaisuus, joka pitää ottaa käyttöön. Myöhemmin opinnoissasi saatat kuulla puhuttavan Putty ja Kitty -ohjelmista, joita muinaisina aikoina (elokuuhun 2018 asti) tarvittiin, koska Windows ei suoraan tarjonnut openSSH-tukea.

  1. Avaa Windowsin asetukset.
  2. Valitse sovellukset
  3. Valitse "Valinnaiset ominaisuudet". "Valinnaiset ominaisuudet" -teksti laatikoituna.
  4. Valitse "Lisää ominaisuus"
  5. Etsi listasta OpenSSH-asiakas, klikkaa sitä ja valitse "Asenna" "OpenSSH-asiakas"-ominaisuus ja sen Asenna-painike
  6. Ominaisuuden asennuksen jälkeen käynnistä tietokone uudelleen.

Nyt olet valmis ottamaan ssh-yhteyden yliopiston jalava tai halava koneille.

Video OpenSSH-asiakas ominaisuuden käyttöönotosta

# V3

Yhdistäminen suorakäyttökoneeseen

  1. Avaa komentokehote tai Windows PowerShell (Windows) tai Terminaali (Linux) tai Pääte (macOS)
  2. Kirjoita komento: ssh käyttäjätunnus@jalava.cc.jyu.fi (tai ...@halava.cc.jyu.fi). Korvaa käyttäjätunnus omalla yliopiston käyttäjätunnuksellasi.
  3. Ensimmäisellä kerralla saat varoituksen, että palvelinta ei voida todentaa. Vastaa tähän yes (haluat jatkaa yhteyttä) ja paina enter.
  4. Kirjoita yliopiston käyttäjätunnuksen salasanasi ja paina enter. Salasanaa kirjoittaessasi näytölle ei tule mitään merkkejä.
C:\Users\WindowsKayttaja>ssh käyttäjätunnus@halava.cc.jyu.fi
The authenticity of host 'halava.cc.jyu.fi (130.234.10.217)' can't be established.
ECDSA key fingerprint is SHA256:KA7t35STwdE6Enj/wY13P+WnL0l9zM8jy2vR+5BpgaY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'halava.cc.jyu.fi,130.234.10.217' (ECDSA) to the list of known hosts.
käyttäjätunnus@halava.cc.jyu.fi's password:
Last login: Thu Apr  1 07:18:55 2021 from 87-95-59-69.bb.dnainternet.fi
[käyttäjätunnus@halava ~]$

Onnistuneen kirjautumisen jälkeen sinulla on yhteys yliopiston suorakäyttökoneella Unix-komentoriville.

# gitbash

2.3 Git Bash

Esimerkiksi Ohj1- ja Ohj2-kursseilla asennetaan versionhallintaohjelma GIT ja tämän mukana tulee Git Bash Shell, jota voidaan myös käyttää. Eli asenna ensin seuraavan linkin ohjeilla:

Git Bash ei ole täydellinen Linux, vaan se on "ohjelma", joka toteuttaa suuren osan Bash Shellin komennoista, mutta koska takana ei ole esimerkiksi aito Linux, niin vahvasti Linuxiin sidotut komennot kuten sudo eivät toimi.

2.3.1 Erilainen hopute

Tätä käytettäessä "hopute", eli merkkijono jonka jälkeen on käyttäjän vuoro kirjoittaa, näyttää hieman erilaiselta, eli:

Hopute Git Bashissa
Hopute Git Bashissa

Eli "oikeasti" bash-shellistä poiketen hopute on aina pelkkä $, mutta nykyinen käyttäjä, kone ja hakemisto näkyy edellisellä rivillä.

2.3.2 Levyt näkyvät hakemistoina

Git Bashissa Windowsin levyjä käsitellään hakemistoina. Esimerkiksi C: -levy näkyy hakmeistona /c ja E:-levy näkyy hakemistona /e.

2.3.3 Missä näkyy Bashin kotihakemisto Windows-ohjelmilla

Bashin kotihakemisto ~ on Windows-ohjelmista katsottuna

C:\Users\KAYTTAJATUNNUS

ja siis Git Bashin kannalta

/c/Users/KAYTTAJATUNNUS

Tämän näkee esimerkiksi seuraavasti

cd ~
pwd
# extension

2.3.4 Windowsin ohjelmat helpommin käyttöön

Git Bashin aluksi kannattaa tehdä asetustiedosto, jonka ansiosta voidaan Windows komentoja käynnistää kuten Windowsissa ilman tarkentimen antamista. Tämän saa kun copy/pasteaa seuraavan tekstin avattuun Git Bash-ikkunaan:

echo '
command_not_found_handle() {
 cmd=$1
 shift
 case "$cmd" in
   *.exe) echo "Command not found $cmd" >&2;;
   *.com) "${cmd%.*}.exe" "$@";;
   *.bat) "${cmd%.*}.com" "$@";;
   *)     "${cmd}.bat" "$@";;
 esac
}
' > ~/.bashrc

2.3.5 Polkuun lisääminen

Jos teet esimerkiksi Ohjelmointi 1 .kursilla ehdotettuja .bat-komentoja c:\bin-hakemistoon ja haluat tämän hakupolkuun, onnistuu se komennolla:

export PATH="/c/bin:$PATH"

2.3.6 Tab-näppäin täydentämään

Jos annat komennon

 bind "TAB":menu-complete
 

niin sen jälkeen TAB-näppäimen painaminen pyörittää vaihtoehtoisia "sanoja". Toimii silloin enemmän kuten Windowsin CMD tältä osin. Liitettävä näppäin voi olla muukin.

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.