# Katsaus tärkeimpiin Linux-komentoihin

Kuten useimmat nykyaikaiset käyttöjärjestelmät, myös Linux tarjoaa **komentotulkin**, jonka avulla voit hallita järjestelmääsi **komentorivikomennoilla**. Kaikki asetukset, jotka määrität graafisen käyttöliittymän (GUI) kautta, voidaan tehdä myös komentotulkin avulla. Esittelemme sinulle tärkeimmät Linux-komennot ja selitämme niiden toiminnan ja käyttötarkoituksen.

## Luettelo 50 tärkeimmästä Linux-komennosta

<table>
  <thead>
    <tr>
      <th>Komento</th>
      <th>Kuvaus</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>sudo</td>
      <td>Suorita ohjelmia toisen käyttäjän oikeuksilla</td>
    </tr>
    <tr>
      <td>ls</td>
      <td>Luettele hakemiston sisältö</td>
    </tr>
    <tr>
      <td>cd</td>
      <td>Liikkuminen hakemistopuussa</td>
    </tr>
    <tr>
      <td>touch</td>
      <td>Luo uusi tiedosto</td>
    </tr>
    <tr>
      <td>mkdir</td>
      <td>Luo uusi hakemisto</td>
    </tr>
    <tr>
      <td>rm</td>
      <td>Poista tiedosto</td>
    </tr>
    <tr>
      <td>rmdir</td>
      <td>Poista kansio</td>
    </tr>
    <tr>
      <td>mv</td>
      <td>Siirrä tiedosto tai hakemisto</td>
    </tr>
    <tr>
      <td>cp</td>
      <td>Kopioi tiedosto tai hakemisto</td>
    </tr>
    <tr>
      <td>pwd</td>
      <td>Tulosta nykyinen sijainti hakemistopuussa</td>
    </tr>
    <tr>
      <td>zip</td>
      <td>Kirjoita tiedostot zip-arkistoihin</td>
    </tr>
    <tr>
      <td>unzip</td>
      <td>Pura tiedostot zip-arkistoista</td>
    </tr>
    <tr>
      <td>ln</td>
      <td>Luo symbolinen linkki</td>
    </tr>
    <tr>
      <td>cat</td>
      <td>Yhdistä tiedostojen sisältö</td>
    </tr>
    <tr>
      <td>grep</td>
      <td>Hae tekstitiedostoista</td>
    </tr>
    <tr>
      <td>diff</td>
      <td>Etsi eroja tekstitiedostojen välillä</td>
    </tr>
    <tr>
      <td>cmp</td>
      <td>Tiedostojen kohdistaminen tavutasolla</td>
    </tr>
    <tr>
      <td>tar</td>
      <td>Kirjoita ja pura tiedostoja tar-arkistoihin</td>
    </tr>
    <tr>
      <td>echo</td>
      <td>Tulosta merkkijono standardimääritykseen</td>
    </tr>
    <tr>
      <td>clear</td>
      <td>Tyhjennä pääte</td>
    </tr>
    <tr>
      <td>ssh</td>
      <td>Yhdistä toiseen tietokoneeseen *Secure Shellin*kautta</td>
    </tr>
    <tr>
      <td>wget</td>
      <td>Lataa tiedosto suoraan internetistä</td>
    </tr>
    <tr>
      <td>ping</td>
      <td>Pyydä palvelinta ja mittaa viivettä</td>
    </tr>
    <tr>
      <td>ftp, sftp</td>
      <td>Siirrä tiedostoja (S)FTP:n kautta</td>
    </tr>
    <tr>
      <td>ip</td>
      <td>kysele ja määritä verkkoliitännät</td>
    </tr>
    <tr>
      <td>apt/pacman/yum</td>
      <td>Ohjelmistopakettien lataaminen ja hallinta</td>
    </tr>
    <tr>
      <td>netstat</td>
      <td>Näytä verkkoliitännän tila</td>
    </tr>
    <tr>
      <td>traceroute</td>
      <td>Seuraa datapaketteja</td>
    </tr>
    <tr>
      <td>route</td>
      <td>Näytä ja muokkaa IP-reititystaulukoita</td>
    </tr>
    <tr>
      <td>dig</td>
      <td>Pyydä DNS-tietoja</td>
    </tr>
    <tr>
      <td>kiinnitä/irrota</td>
      <td>Tiedostojärjestelmien integrointi (asennus/kiinnitys)</td>
    </tr>
    <tr>
      <td>dd</td>
      <td>Kopioi tiedostoja, osioita tai tietovälineitä tarkasti</td>
    </tr>
    <tr>
      <td>chmod</td>
      <td>Hallitse käyttöoikeuksia</td>
    </tr>
    <tr>
      <td>chown</td>
      <td>Hallitse omistusoikeuksia</td>
    </tr>
    <tr>
      <td>adduser</td>
      <td>Lisää/muokkaa käyttäjätiliä</td>
    </tr>
    <tr>
      <td>passwd</td>
      <td>Luo/muokkaa käyttäjätilien salasanoja</td>
    </tr>
    <tr>
      <td>groupadd</td>
      <td>Luo käyttäjäryhmiä</td>
    </tr>
    <tr>
      <td>chattr</td>
      <td>Hallitse tiedostojen attribuutteja</td>
    </tr>
    <tr>
      <td>lsattr</td>
      <td>Näytä tiedostojen ominaisuudet</td>
    </tr>
    <tr>
      <td>chgrp</td>
      <td>Hallitse tiedostojen ja hakemistojen ryhmäkuuluvuuksia</td>
    </tr>
    <tr>
      <td>man</td>
      <td>Käyttöohjeen avaaminen</td>
    </tr>
    <tr>
      <td>shutdown, reboot</td>
      <td>Sammuta/käynnistä järjestelmä uudelleen</td>
    </tr>
    <tr>
      <td>top</td>
      <td>Dynaaminen prosessien yleiskatsaus</td>
    </tr>
    <tr>
      <td>lscpu</td>
      <td>Näytä prosessoritiedot</td>
    </tr>
    <tr>
      <td>lshw</td>
      <td>Tulosta laitteistotiedot</td>
    </tr>
    <tr>
      <td>kill</td>
      <td>Pysäytä ja lopeta prosessi PID:n avulla</td>
    </tr>
    <tr>
      <td>killall</td>
      <td>Pysäytä ja lopeta prosessit nimen perusteella</td>
    </tr>
    <tr>
      <td>nice</td>
      <td>Määritä prosessien prioriteetit</td>
    </tr>
    <tr>
      <td>pgrep</td>
      <td>Tunnista PID hakutermillä</td>
    </tr>
    <tr>
      <td>ps</td>
      <td>Näytä luettelo kaikista käynnissä olevista prosesseista</td>
    </tr>
  </tbody>
</table>

### sudo-komento Linuxissa

[Linux-komennolla `sudo`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-sudo-komento/)(*korvaa käyttäjä*) voidaan määrittää,*että* ohjelma suoritetaan toisen käyttäjän oikeuksilla. Yleensä tämä edellyttää salasanan syöttämistä. Komento `sudo` pyytää aina sen käyttäjätilin salasanaa, jonka nimissä ohjelma suoritetaan.

Jos komento annetaan ilman käyttäjänimeä, pääkäyttäjä root asetetaan kohdekäyttäjäksi.

```bash
sudo -u USERNAME PROGRAM CALL
```

### ls-komento Linuxissa

Linux ls komentorivikomento ls tarkoittaa sanaa *list* (luettelo) ja sitä käytetään hakemiston sisällön näyttämiseen (kaikkien kyseisessä hakemistossa olevien tiedostojen ja kansioiden nimet).

Komennon syntaksi on seuraava:

```bash
ls [OPTIONS] DIRECTORY
```

Jos `ls` käytetään ilman hakemistomääritystä, se listaa nykyisen hakemiston sisällön. Lisävalintojen avulla voit määrittää, mitkä tiedot näytetään ja miten ne esitetään.

### cd-komento Linuxissa

[Linux-komento `cd`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-cd-komento/) tarkoittaa *hakemiston vaihtamista*, ja sitä käytetään hakemistopuussa liikkumiseen.

Komennon syntaksi on seuraava:

```bash
cd [OPTION] DIRECTORY
```

Jos kohdekansiota ei ole määritetty, `cd` siirtyy automaattisesti käyttäjän kotikansioon. Jos `cd` käytetään miinusmerkin (-) kanssa, se palaa edelliseen kansioon.

### kosketuskomento Linuxissa

[Linuxin `touch`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-touch-komento/) voidaan käyttää tiedostojen käyttö- ja muokkausaikaleimojen muuttamiseen. Jos `touch` käytetään tiedostoon, jota ei vielä ole olemassa, se luodaan automaattisesti, mikä tarkoittaa, että komentoa voidaan käyttää myös tyhjien tiedostojen luomiseen. Käytä `touch` seuraavan mallin mukaisesti:

```bash
touch [OPTIONS] FILE
```

Jos haluat asettaa tiedoston aikaleiman haluttuun päivämäärään, käytä OPTION `-t` -komentoa yhdessä lomakkeessa `[YY]MMDDhhmm[.ss]` olevien aikatietojen kanssa.

Esimerkki:

```bash
touch -t 1703231037 file.txt
```

Pääsy- ja muokkausaikaleimat on nyt asetettu päivämäärään 23. maaliskuuta 2017, kello 10.37. Muokkaus voidaan rajoittaa koskemaan joko pääsy- tai aikaleimoja vaihtoehdoilla `-a` ja `-m`. Jos komentoa `touch` käytetään ilman vaihtoehtoa `-t`, se käyttää nykyistä aikaleimaa.

### mkdir-komento Linuxissa

[Linux-komento `mkdir`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-mkdir-komento/) tarkoittaa *hakemiston luomista*, ja sen avulla Linux-käyttäjät voivat luoda uusia hakemistoja. Luo uusi hakemisto nykyiseen hakemistoon seuraavalla syntaksilla:

```bash
mkdir [OPTION] DIRECTORY NAME
```

Jos hakemisto on tarkoitus luoda tiettyyn kohdehakemistoon, määritä hakemiston absoluuttinen tai suhteellinen polku.

### rm-komento Linuxissa

Linux-komento rm (*remove*) poistaa tiedostot tai kokonaiset hakemistot pysyvästi. Komennon käyttö perustuu seuraavaan syntaksiin:

```bash
rm [OPTIONS] FILE/DIRECTORY
```

Jos haluat poistaa kansion ja kaikki sen alikansiot, käytä komentoa `rm` ja lisää siihen vaihtoehto `-R` (*–recursive*).

### rmdir-komento Linuxissa

Jos haluat poistaa tietyn kansion, käytä komentorivikomentoa `rmdir` (*poista kansio*) seuraavan syntaksin mukaisesti:

```bash
rmdir [OPTION] DIRECTORY
```

Käskyllä `rmdir` voit poistaa vain tyhjiä kansioita. Jos haluat poistaa kansion sekä kaikki sen sisältämät tiedostot ja alikansiot, käytä komentoa `rm` (*poista*) yhdessä vaihtoehdon `–r` kanssa.

Muista artikkeleista löydät muita tapoja poistaa tiedosto tai kansio Linuxissa.

### mv-komento Linuxissa

[Linux-komento `mv`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-mv-komento/) (*move*) kopioi tiedoston tai kansion ja poistaa alkuperäisen kohteen. Jos komentoa käytetään samassa kansiossa, komentoa `mv` voidaan käyttää tiedostojen uudelleennimeämiseen.

Ohjelman kutsu perustuu seuraavaan syntaksiin:

```bash
mv [OPTIONS] SOURCE TARGET
```

### cp-komento Linuxissa

Linux-komentoa cp (*copy*) käytetään tiedostojen ja hakemistojen kopioimiseen. Komennon perusmuoto on seuraava:

```bash
cp [OPTIONS] SOURCE TARGET
```

LÄHDE on se kohde, joka on tarkoitus kopioida. Kopiointiprosessin KOHTEEKSI määritellään joko tiedosto tai hakemisto. Jos määrität kohteeksi olemassa olevan tiedoston, sen sisältö korvataan lähdetiedoston sisällöllä. Voit myös luoda uuden tiedoston, jonka nimen voit valita vapaasti.

### pwd-komento Linuxissa

Käytä [Linux-komentoa `pwd`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-pwd-komento/) (lyhenne sanoista *print working directory*) nykyisen työkansion nimen näyttämiseen.

Komennon syntaksi on seuraava:

```bash
pwd [OPTIONS]
```

### zip-komento Linuxissa

Käytä komentoa `zip` pakataksesi useita tiedostoja zip-arkistoksi. Komennon syntaksi on:

```bash
zip DESTINATION FILES
```

KOHDE on tuloksena olevan zip-tiedoston nimi tai polku. TIEDOSTOT viittaa pakattavien tiedostojen nimiin tai polkuihin (erotettuina välilyönneillä).

### unzip-komento Linuxissa

Voit käyttää `unzip` tiedostojen purkamiseen zip-arkistoista. Komennon syntaksi on seuraava:

```bash
unzip FILE.zip -d DESTINATION
```

Tässä FILE viittaa zip-arkistoihin, joista tiedostot puretaan. Halutessasi voit käyttää -d TARGET -vaihtoehtoa määrittääksesi kohdekansion, johon tuloksena olevat tiedostot tallennetaan. Muussa tapauksessa tiedostot tallennetaan nykyiseen kansioon.

### ln-komento Linuxissa

Linux-komento ln (lyhenne sanasta *link*) luo pikakuvakkeen tiedostoon tai hakemistoon. Tämä luo kyseiselle tiedostolle uuden hakemistomerkinnän, jonka avulla tiedostoon pääsee toisen tiedostopolun kautta. Komennon `ln` kutsussa on aina oltava vähintään lähdetiedoston polku.

```bash
ln [OPTIONS] path/to/sourcefile
```

Tällöin nykyiseen työkansioon luodaan samanniminen pikakuvake. Voit myös kirjoittaa kohdepolun ja nimetä pikakuvakkeen haluamallasi nimellä:

```bash
ln [OPTIONS] path/to/sourcefile path/to/shortcut
```

### cat-komento Linuxissa

Linux-komento cat (lyhenne sanasta *concatenate*) kehitettiin työkaluksi tiedostojen sisältöjen yhdistämiseen, ja sitä voidaan käyttää sivunäyttöohjelmana tiedostojen sisällön näyttämiseen terminaalissa.

Käytä `cat` seuraavalla syntaksilla terminaalissa lukeaksesi tiedoston ja tulostaaksesi sen `stdout`:ään (vakiotulostus):

```bash
cat OPTIONS FILE
```

Useita tiedostoja voi erottaa toisistaan välilyönneillä:

```bash
cat OPTIONS FILE1 FILE2
```

### grep-komento Linuxissa

grep voit tehdä hakuja tekstitiedostoista. Hakukuviona voidaan käyttää mitä tahansa merkkijonoja tai säännöllisiä lausekkeita. Käytä `grep` seuraavan syntaksin mukaisesti:

```bash
grep [OPTIONS] SEARCH PATTERN [FILE(S)]
```

Jos `grep` löytää merkkijonon, joka vastaa hakukuviointia, rivinumero ja tiedostonimi tulostetaan pääteikkunaan. Yleensä `grep` käytetään nykyisen hakemiston kaikkiin tiedostoihin. Optio `-r` mahdollistaa rekursiivisen haun alihakemistoista.

### diff-komento Linuxissa

Komentoriviohjelma `diff` on tarkoitettu kahden tiedoston vertailuun. Ohjelmaa `diff` voi käyttää myös sen selvittämiseen, sisältävätkö kaksi hakemistoa samat tiedostot.

Käynnistä ohjelma terminaalissa seuraavalla komennolla:

```bash
diff [OPTIONS] FILE1 FILE2
```

### cmp-komento Linuxissa

`cmp` kuuluu `diff` ja sitä käytetään tiedostojen sisältöjen vertailuun. Toisin kuin `diff`, kohdistus tapahtuu tavutasolla, minkä vuoksi se sopii erityisen hyvin binääritiedostoille. Käytä `cmp` seuraavan syntaksin mukaisesti:

```bash
cmp [OPTIONS] FILE1 FILE2
```

Jos `cmp` havaitsee eroja, komentoriviohjelma tulostaa terminaaliin ensimmäisen poikkeaman tavun ja rivinumeron.

### tar-komento Linuxissa

Komennolla `tar` voit tallentaa erilaisia tiedostoja ja kansioita peräkkäin `tar` tiedostoon ja käyttää sitä tarvittaessa palautuksen varmuuskopiona. Toisin kuin Windowsissa yleisesti käytetyssä zip-muodossa, arkistoidun tiedoston kaikki käyttöoikeudet säilyvät myös purkamisen jälkeen. Käytä seuraavaa syntaksia:

```bash
tar [OPTIONS] FILES
```

Jos haluat luoda uuden arkiston, käytä `tar` yhdessä vaihtoehtojen `-c` (luo uusi arkisto) ja `-f` (kirjoita arkisto tiettyyn tiedostoon tai lue siitä) kanssa. Lisätietoja löytyy artikkelistamme, jossa käsitellään tar-varmuuskopioita ja arkistojen luomista Linuxissa.

### echo-komento Linuxissa

Käytä echo entoa tulostaaksesi merkkijonoja rivi riviltä vakiotulostukseen (yleensä terminaaliin).

Käskyn yleinen syntaksi on seuraava:

```bash
echo [OPTIONS] STRING
```

### clear-komento Linuxissa

Tyhjennä näytön sisältö komentorivikomennolla `clear`.

```bash
clear
```

Näytölle avautuu tyhjä pääte, jossa näkyy kehote. Vanhemmat merkinnät jäävät näkyviin vierityspuskuriin. Tämän komennon sijaan voit tyhjentää pääteen myös näppäinyhdistelmällä \[Ctrl\] + \[L\].

### ssh-komento Linuxissa

Voit käyttää `ssh` yhdistääksesi tietokoneesi toiseen tietokoneeseen SSH-protokollan kautta, jolloin pääset toisen tietokoneen komentotulkin käyttöliittymään. Komennon syntaksi on seuraava:

```bash
ssh USERNAME@HOSTNAME
```

Tässä USERNAME ja HOSTNAME tarkoittavat käyttäjätunnusta, jolla haluat kirjautua sisään, sekä ulkoisen tietokoneen osoitetta.

### wget-komento Linuxissa

Voit ladata tiedostoja internetistä [Linux `wget` -komennolla](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-wget-komento/). Käytä tätä varten seuraavaa syntaksia:

```bash
wget [OPTION] LINK
```

Tässä LINK tarkoittaa URL-osoitetta, josta tiedosto löytyy. Voit halutessasi käyttää valinnaista argumenttia `-c` keskeytyneen latauksen jatkamiseksi.

### ping-komento Linuxissa

Käytä [Linux-komentoa `ping`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-ping-komento/) tarkistaaksesi, ovatko muut verkossa olevat tietokoneet tavoitettavissa. Komennon syntaksi on seuraava:

```bash
ping [OPTIONS] TARGET
```

Sen lisäksi, että `ping` näyttää terminaalissa edestakaisen viiveen (*RTT*) – eli ajan, joka kuluu datapaketin lähettämisestä vastauksen vastaanottamiseen –, `ping` näyttää myös kohdejärjestelmän IP-osoitteen. Voit käyttää valinnaisia argumentteja määrittääksesi pakettien lukumäärän tai sekuntimäärän, jonka kuluttua `ping` lopettaa toimintansa.

### ftp- tai sftp-komento Linuxissa

Tämä mahdollistaa tiedostojen siirtämisen paikallisen järjestelmän ja verkon toisen tietokoneen välillä. Muodosta yhteys kohdetietokoneen FTP-palvelimeen käyttämällä FTP-protokollaa (File Transfer Protocol) seuraavan syntaksin mukaisesti:

```bash
ftp [OPTIONS] [HOST[PORT]]
```

Osoitteiden määrittäminen tapahtuu isäntänimen tai IP-osoitteen avulla. Portin numeron määrittäminen on vapaaehtoista. Käytä FTP:tä vain verkkoissa, joihin luotat, sillä tämä protokolla ei ole suojattu. Turvallisuussyistä on lähes aina suositeltavaa käyttää SFTP:tä (SSH File Transfer Protocol). Komentoriviohjelma `sftp` toimii kuten `ftp` tiedonsiirrossa verkossa, mutta tässä tapauksessa siirto on salattu. SFTP käyttää vakiona Secure Shelliä (SSH), eli myös sen todennusmenetelmiä. Selitämme toisessa artikkelissa, kuinka SSH-avaimia käytetään verkkoyhteydessäsi.

### ip-komento Linuxissa

Komentoriviohjelma `ip` kuuluu ohjelmakokoelmaan `iproute2`, jonka avulla verkkoliitäntöjä pyydetään ja määritetään päätelaitteen kautta. Komennon yleinen syntaksi on seuraava:

```bash
ip [OPTIONS] OBJECT [COMMAND [ARGUMENT]]
```

Se, mitä toimintoa `ip` suorittaa, määritellään objektien, alikomentojen ja niiden argumenttien avulla.

Ohjelma tukee erilaisia kohteita, kuten `address` (IP-osoite), `link` (verkkoliitäntä), `route` (reititystaulukon merkintä) tai `tunnel`, joihin voidaan liittää alikomentoja, kuten `add`, `change`, `del`, `list` tai `show`.

Jos esimerkiksi haluat selvittää tietyn verkkoliitännän IP-osoitteen (esim. `eth0`), käytä komentoa `ip` yhdessä objektin `address`, komennon `show` ja argumentin `dev eth0` kanssa:

```bash
ip address show dev eth0
```

Kerromme tarkemmin toisessa artikkelissa, miten IP-osoite näytetään Linuxissa.

### apt-, pacman- ja yum-komennot Linuxissa

Jokaisessa Linux-jakelussa on **pakettienhallintaohjelma**, jonka avulla voit ladata ja hallita ohjelmistopaketteja. Sovellusten asennuksen komento on seuraava:

```bash
apt install [PACKET] # Debian-based distributions such as Ubuntu
pacman -S [PACKET] # Arch-based distributions
yum install [PACKET] # Red Hat-based distributions
```

`[PACKET]` on sen paketin tai ohjelman nimi, jonka haluat asentaa. Useimmissa tapauksissa nämä komennot on suoritettava `sudo` kautta pääkäyttäjänä. Muissa jakeluissa, joissa käytetään muita pakettienhallintaohjelmia, komennot voivat poiketa näistä. Jokaisella hallintaohjelmalla on myös komentoja muun muassa pakettien poistamiseen, pakettiluettelon päivittämiseen ja kaikkien asennettujen pakettien päivittämiseen. Ubuntussa nämä komennot ovat seuraavat.

```bash
apt remove [PACKET] # remove package
apt update # update package list
apt upgrade # upgrade packages
```

### netstat-komento Linuxissa

Komentoriviohjelmaa `netstat` käytetään verkkoliitäntöjen tilan tarkistamiseen. Komennon yleinen syntaksi on seuraava:

```bash
netstat [OPTIONS]
```

Käytä `netstat` ilman lisäparametreja, jos haluat näyttää kaikki avoimet yhteydet terminaalissa. Voit myös käyttää seuraavia lisäparametreja reititystaulukon (`-r`), rajapintatilastojen (`-i`), peitettyjen yhteyksien (`-M`) tai verkkoyhteysviestien (`-N`) tarkastelemiseen. Lisätietoja löytyy netstat-komennon esittelystä.

### traceroute-komento Linuxissa

Voit seurata IP-datapaketin kulkureittiä järjestelmäsi ja kohdetietokoneen välillä seuraavalla komennolla traceroute. Käytä seuraavaa mallia.

```bash
traceroute [OPTIONS] HOSTNAME
```

Käyttämällä `traceroute` voit selvittää, minkä reitittimien ja internet-solmujen kautta IP-paketti kulkee matkallaan kohdetietokoneeseen – esimerkiksi viiveen syyn selvittämiseksi.

### route-komento Linuxissa

Komentoriviohjelman `route` avulla ytimen IP-reititystaulukkoa voidaan hakea ja muokata. Komento noudattaa seuraavaa syntaksia:

```bash
route [OPTIONS] [add|del] [-net|-host] TARGET
```

Käytä komentoa ilman lisäparametreja, jos haluat näyttää ytimen koko reititystaulukon:

```bash
route
```

Jos haluat määrittää reitin verkkoon, käytä alikomentoa `add`.

```bash
route add -net 10.0.0.0
```

### dig-komento Linuxissa

`dig` on hakutyökalu, jolla voi pyytää tietoja DNS-palvelimelta ja tulostaa ne terminaaliin. Tätä komentoriviohjelmaa käytetään yleensä seuraavan syntaksin mukaisesti tietyn verkkotunnuksen IP-osoitteen ja muiden DNS-tietojen hakemiseen:

```bash
dig [@SERVER] [DOMAIN] [TYPE]
```

SERVER on DNS-palvelin, josta haluttua tietoa tulisi etsiä. Jos palvelinta ei ole määritetty, `dig` tunnistaa vakio-DNS-palvelimen tiedostosta `/etc/resolv.conf`. DOMAIN tarkoittaa verkkotunnusta, josta DNS-tiedot tulisi tunnistaa. TYPE:llä määritetään kyselyn tyyppi, eli ANY (kaikki merkinnät), A (isännän IPv4-tietue) tai AAAA (isännän IPv6-tietue). Vakiopyyntötyyppi on määritelty A:ksi.

### mount- ja unmount-komennot Linuxissa

Jos tiedostojärjestelmä on tarkoitus integroida käyttöjärjestelmän hakemistorakenteeseen hakemistorakenteen kautta, Linux-ympäristössä käytetään komentoriviohjelmaa `mount`. Komennon yleinen syntaksi on seuraava:

```bash
mount [OPTIONS] DEVICE MOUNTPOINT
```

DEVICE = Polku sen tallennuslaitteen laitetiedostoon, jonka haluat liittää osiona.

KIINNITYSPISTE = Paikka käyttöjärjestelmän hakemistorakenteessa, johon osio halutaan kiinnittää. Kiinnityspiste määritetään yleensä absoluuttisena polkuna.

Esimerkki:

```bash
mount /dev/sdd /media/usb
```

Laite `sdd` on asennettu kotihakemistoon `/media/usb`.

### dd-komento Linuxissa

Komentoriviohjelma `dd` mahdollistaa kopiointiprosessin, jossa tiedot luetaan bitti kerrallaan syöttötiedostosta (`if`) ja kirjoitetaan tulostustiedostoon (`of`). Ohjelman kutsuminen perustuu seuraavaan syntaksiin:

```bash
dd if=Source of=Target [OPTIONS]
```

Lähteeksi ja kohteeksi voit määrittää sekä yksittäisiä tiedostoja että kokonaisia osioita (esim. /dev/sda1) tai kokonaisen tallennuslaitteen (esim. /dev/sda).

```bash
dd if=/dev/sda5 of=/dev/sdb1
```

### chmod-komento Linuxissa

Komentoriviohjelmaa `chmod` (lyhenne sanoista *change mode*) käytetään käyttöoikeuksien määrittämiseen Unix-tyyppisissä tiedostojärjestelmissä (kuten ext2, ext3, ext4, reiser ja xfs). Komennon yleinen syntaksi on seuraava:

```bash
chmod [OPTIONS] MODE FILE
```

tai

```bash
chmod [OPTIONS] MODE DIRECTORY
```

MODE-paikkamerkki tarkoittaa sovellettavaa käyttöoikeusmaskia. Lisätietoja tällaisen järjestelmän luomisesta ja huomioitavista seikoista löydät chmod-komennon käyttöoikeuksia käsittelevästä oppaastamme. `-R` avulla käyttöoikeudet voidaan määrittää rekursiivisesti hakemistossa oleville alihakemistoille ja tiedostoille.

### chown-komento Linuxissa

[Linux-komento `chown`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-chown-komento/) tarkoittaa *omistajan vaihtamista*, ja sen avulla voit muokata omistajan käyttöoikeuksia.

```bash
chown [OPTIONS] [USER][:[GROUP]] FILE
```

tai

```bash
chown [OPTIONS] [USER][:[GROUP]] DIRECTORY
```

Käyttäjän tai ryhmän omistusoikeuksien määrittämiseen on neljä mahdollista yhdistelmää. Omistaja ja ryhmä nollataan syötettyjen tietojen mukaisesti:

```bash
chown [OPTIONS] owner_name:group_name file.txt
```

```bash
# The group is reset according to the input, the user remains unchanged:
chown [OPTIONS] :group_name file.txt
# The owner is reset according to the input, the group remains unchanged:
chown [OPTIONS] owner_name file.txt
# The user is reset according to the input. The group is set to the default group for the logged-in user:
chown [OPTIONS] owner_name: file.txt
# The changes are recursively extended to subdirectories with the help of OPTION `-R`.
```

### adduser-komento Linuxissa

Yksinkertaisin tapa luoda käyttäjätili on käyttää komentoriviohjelmaa `adduser`. Kyseessä on [Linuxin `useradd`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-useradd-komento/) perustuva Perl-skripti, joka tarjoaa samat toiminnot käyttäjäystävällisellä tavalla. `adduser` vaatii pääkäyttäjän oikeudet, ja sitä käytetään seuraavan syntaksin mukaisesti:

```bash
adduser [OPTIONS] USERNAME
```

Käytä `adduser` ilman lisäparametreja, jolloin järjestelmä luo uuden käyttäjätilin lisäksi automaattisesti samannimisen käyttäjätunnuksen, kotihakemiston ja käyttäjäryhmän.

```bash
adduser test
```

Tämän jälkeen avautuu vuorovaikutteinen valintaikkuna, jossa voit määrittää salasanan ja muut käyttäjätiedot (oikea nimi, toimiston numero, puhelinnumero jne.).

### passwd-komento Linuxissa

Käytä [Linux-komentoa `passwd`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-passwd-komento/) käyttäjän salasanan vaihtamiseen tai aikavälien määrittämiseen, tarkistamiseen ja muuttamiseen. Komennon syntaksi on seuraava:

```bash
passwd [OPTIONS] USERNAME
```

Jos haluat vaihtaa toisen käyttäjän salasanan, tarvitset pääkäyttäjän oikeudet. Vaihda oma salasanasi komennolla `passwd` ilman käyttäjänimeä. Jos salasana on tarkoitus lukita, käytä komentoa `passwd` yhdessä vaihtoehdon `-l` (*–lock*) kanssa. Muiden vaihtoehtojen avulla voit määrittää salasanan voimassaoloajan `(-x)` sekä varoitus- `(-w)` ja tarkistusvälejä `(-i)`.

### groupadd-komento Linuxissa

Komentoriviohjelmaa `groupadd` käytetään käyttäjäryhmien luomiseen. Käytä ohjel `groupadd` pääkäyttäjän oikeuksilla seuraavan syntaksin mukaisesti:

```bash
sudo groupadd [OPTIONS] GROUPS
```

Jokaisella uudella ryhmällä on oma ryhmätunnuksensa (GID). Ryhmätunnukset 0–99 on varattu järjestelmäryhmille. Jos haluat määrittää itse uuden käyttäjäryhmän GID-tunnuksen, käytä komentorivikomentoa `groupadd` yhdessä vaihtoehdon `-g` (GID) kanssa. Jos haluat luoda järjestelmäryhmän, käytä vaihtoehtoa `-r` (root).

### chattr-komento Linuxissa

Komentoriviohjelman `chattr` (lyhenne sanoista *change attribute*) avulla voit tarkastella tiedostoja tai hakemistoja, joihin on määritetty attribuutteja. Aseta attribuutti käyttämällä `chattr` seuraavan syntaksin mukaisesti:

```bash
chattr [OPTIONS] +ATTRIBUTE FILE
```

Korvaa plusmerkki miinusmerkillä, jos haluat poistaa attribuutteja. Aseta esimerkiksi attribuutti `-i`, jos haluat estää tiedoston tai hakemiston muutokset (poistot tai muokkaukset). Lisätietoja muista attribuuteista ja mahdollisista asetuksista löytyy ohjelman `chattr` käyttöoppaasta.

### lsattr-komento Linuxissa

Jos haluat tarkastella, mitkä attribuuttien asetukset tiedostolle tai hakemistolle on määritetty, käytä komentorivikomentoa `lsattr` (lyhenne sanoista *list attributes*) seuraavan syntaksin mukaisesti:

```bash
lsattr [OPTIONS] FILE/DIRECTORY
```

### chgrp-komento Linuxissa

Komento `chgrp` tarkoittaa *ryhmän vaihtoa*, ja sitä käytetään tiedostojen ja hakemistojen ryhmäkuuluvuuksien hallintaan. Jotta `chgrp` voi käyttää valitun tiedoston tai hakemiston kohdalla, sinulla on oltava omistajan tai pääkäyttäjän oikeudet. Nämä ovat ainoat ryhmät, joihin voit kuulua. `chgrp` käytetään seuraavan syntaksin mukaisesti:

```bash
chgrp [OPTIONS] GROUP FILE
```

tai

```bash
chgrp [OPTIONS] GROUP DIRECTORY
```

Vaihtoehto `-R` viittaa hakemistossa oleviin alihakemistoihin ja tiedostoihin.

### man-komento Linuxissa

Komento `man` avaa Linux-jakelusi ohjesivut (*man-sivut*) suoraan terminaalissa. Käytä seuraavaa kaavaa ohjesivujen avaamiseen:

```bash
man [OPTION] TOPIC
```

Linuxin man-sivut on jaoteltu 10 aihealueeseen: käyttäjäkomennot, järjestelmäkutsut, C-ohjelmointikielen funktiot, tiedostomuodot, asetustiedostot, pelit, sekalaiset, järjestelmänvalvontakomennot, ydintoiminnot ja uudet komennot.

### shutdown-komento Linuxissa

Pääkäyttäjä voi käyttää Linux-komentoa shutdown järjestelmän sammuttamiseen. Komennon syntaksi on seuraava:

```bash
shutdown [OPTIONS] [TIME] [MESSAGE]
```

Jos haluat käynnistää sammutuksen, voit määrittää ajan, jolloin järjestelmä sammutetaan. Tätä varten voit käyttää joko tarkkaa kellonaikaa (hh:mm) tai ajastinta (+m). Järjestelmän muut käyttäjät saavat sammutusilmoituksen. Ilmoitukseen voi tarvittaessa liittää henkilökohtaisen viestin. Jos komentoa `shutdown` käytetään yhdessä vaihtoehdon `-r` kanssa, järjestelmän sammutuksen jälkeen suoritetaan uudelleenkäynnistys.

### top-komento Linuxissa

Komento `top` hakee dynaamisen yleiskatsauksen kaikista käynnissä olevista prosesseista. Komento noudattaa seuraavaa kaavaa:

```bash
top [OPTIONS]
```

Prosessitietojen tulostusta voidaan säätää useilla eri asetuksilla. Prosessikatsaus `top` (muun muassa) tukee seuraavia pikanäppäimiä tulostusten lajitteluun:

- \[P\] = Lajittelee tulokset prosessorin kuormituksen mukaan
- \[M\] = Lajittelee tulokset tallennustilan tarpeen mukaan
- \[N\] = Lajittelee tulokset numeerisesti PID:n mukaan
- \[A\] = Lajittelee tulokset iän mukaan
- \[T\] = Lajittelee tulokset ajan mukaan
- \[U KÄYTTÄJÄNIMI tai UID\] = Suodattaa tulokset kyseisen käyttäjän mukaan

Käytä pikanäppäintä \[H\] avataksesi ohjesivun tai \[Q\] sulkeaksesi prosessikatsauksen.

### lscpu-komento Linuxissa

Käytä `lscpu` (lyhenne sanasta *list cpu*) seuraavan mallin mukaisesti, jotta saat terminaaliin tietoja prosessorin arkkitehtuurista.

```bash
lscpu [OPTIONS]
```

Katso käytettävissä olevat vaihtoehdot käyttöjärjestelmän käyttöoppaasta.

### lshw-komento Linuxissa

Komento `lshw` tarkoittaa *laitteiston luettelointia* ja tulostaa tietokoneen laitteistokomponentteja koskevat tiedot. Käytä `lshw` seuraavan syntaksin mukaisesti:

```bash
lshw [OPTIONS]
```

Komento tukee erilaisia asetuksia tulostusmuodon mukauttamiseksi (`-html`, `-xml`, `-short`, `-businfo`) sekä tietojen laajuuden määrittämiseksi (esim. `–sanitize` arkaluontoisten tietojen piilottamiseksi).

### kill-komento Linuxissa

`kill` on komentoriviohjelma, jolla prosesseja voidaan pysäyttää ja lopettaa. Komento annetaan seuraavan kaavan mukaisesti, ja siinä määritetään haluttu signaali sekä valitun prosessin tunnus.

```bash
kill [OPTIONS] [-SIGNAL] PID
```

Yleisiä merkkejä ovat:

1. `TERM`: Pakottaa prosessin lopettamaan toimintansa (vakio)
2. `KILL`: Pakottaa prosessin päättymään (järjestelmän kautta)
3. `STOP`: Pysäyttää prosessin
4. `CONT`: Sallii pysäytetyn prosessin jatkumisen

### killall-komento Linuxissa

Käytä [Linux `killall` -komentoa](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-killall-komento/) yhdessä tietyn hakusanan kanssa, jotta lopetat vain ne prosessit, joiden nimet ovat samat (hakua varten käytetään ensimmäisiä 15 merkkiä).

```bash
killall [OPTIONS] [-SIGNAL] [PROCESS NAME]
```

Vaihtoehdolla `-e` (*–exact*) voit laajentaa haun koskemaan prosessin nimen kaikkia merkkejä.

### kätevä komento Linuxissa

Komentorivikomento `nice` määrittää prosessin käynnistyksen yhteydessä prosessin prioriteettiarvon välillä -20 ja +19 kokonaislukuvälein, minkä jälkeen järjestelmän käytettävissä oleva laskentateho jaetaan. Alue -20 – +19 vastaa Linuxin prioriteettitasoja 100 – 139. Prosessilla, jonka `nice` on -20, on korkeampi prioriteetti kuin prosessilla, jonka `nice` on 19. Solo-syntaksi on seuraava:

```bash
nice [OPTION] [COMMAND]
```

Ellei toisin määritetä, jokaisen prosessin arvo `nice` on oletusarvoisesti 0. Määritä prosessin prioriteetti asetuksella `-n`. On syytä huomata, että negatiivisia prioriteetteja voi määrittää vain pääkäyttäjän oikeuksilla.

### pgrep-komento Linuxissa

Komentoriviohjelma `pgrep` vertaa käynnissä olevien prosessien luetteloa hakutermiin ja tulostaa vastaavat PID-tunnukset, jos hakutuloksia löytyy. Yleinen syntaksi on seuraava:

```bash
pgrep [OPTIONS] Search term
```

Oletusarvoisesti `pgrep` tulostaa kaikkien prosessien PID-tunnukset, joiden nimessä esiintyy hakutermi. Jos haku halutaan rajoittaa koskemaan vain tarkkoja osumia, käytä komentoa yhdessä vaihtoehdon `-x` kanssa. Jos haluat saada prosessin nimen lisäksi myös sen PID-tunnuksen, käytä `pgrep` yhdessä vaihtoehdon `-l` kanssa. Samoin kuin `grep`, myös `pgrep` tukee säännöllisiin lausekkeisiin perustuvia hakutermejä.

### ps-komento Linuxissa

[Linux-komento `ps`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-ps-komento/) tulostaa terminaaliin luettelon kaikista käynnissä olevista prosesseista.

```bash
ps [OPTIONS]
```

Jos tarvitset yksityiskohtaisen tulosteen, käytä `ps` yhdessä vaihtoehtojen `-f` (yksityiskohtainen) tai `-F` (erittäin yksityiskohtainen) kanssa. Lisätietoja vaihtoehdoista löydät käyttöjärjestelmän käyttöoppaasta.

## Muita Linux-komentoja yhdellä silmäyksellä

### Peruskomennot

Peruskomennot-osiosta löydät Linuxin peruskomennot, joilla **hallitaan terminaalia**. Opi tyhjentämään terminaalin näyttö, hakemaan aiempia komentoja historiasta tai poistumaan terminaalisessiosta.

**1. poistu**

Komentorivikomento `exit` lopettaa nykyisen istunnon ja sulkee terminaalin.

```bash
exit
```

Sen sijaan voit käyttää näppäinyhdistelmää \[Ctrl\] + \[D\].

**2. apua**

Käytä komentoa `help`, jos haluat nähdä luettelon kaikista integroiduista komentorivikomennoista (sisäänrakennetuista komennoista). Käytä komentoa `help` yhdessä komentorivikomennon kanssa, jos haluat saada kyseisen komennon lyhyen kuvauksen.

```bash
help COMMAND
```

**3. historia**

Bashissa komentoriville syötetyt 500 viimeistä komentoa tallennetaan historiaan. Tämä toiminto helpottaa komentojen syöttöä ja antaa mahdollisuuden selata aiempien komentojen luetteloa nuolinäppäimillä sekä suorittaa ne uudelleen.

Historiaa voi hakea avainsanoilla näppäinyhdistelmällä \[Ctrl\] + \[R\]. Voit myös tarkastella terminaalissa numeroitua täydellistä luetteloa. Käytä komentoa `history` ilman lisävalintoja tai argumentteja.

```bash
history
```

Jos haluat suodattaa tuloksia, yhdistä `history` Linux-putkikomenon avulla komentoriviohjelmaan `grep` (katso hakuvaihtoehdot) ja hakusanaan.

```bash
history | grep SEARCH TERM
```

### Ohjesivut

Oletko pulassa ja et tiedä, mitä tehdä? Ei hätää. Linuxissa on useita **ohje- ja dokumentaatiosivuja**, jotka ovat käytettävissä suoraan terminaalin kautta, kuten *Unixin man-sivut* ja *GNU info-sivut*. Nämä sisältävät yksityiskohtaisen kuvauksen kaikista komentoriviohjelmista, järjestelmäkutsuista, konfiguraatiotiedostoista, tiedostomuodoista ja ydintoiminnoista. [Komentojen Linux `whatis`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-whatis-komento/) ja `apropos` avulla voit etsiä komentoriviohjelmia ohjesivujen kategoriasta, mikä mahdollistaa avainsanojen haun käyttöjärjestelmän man-sivuilta.

**1. muuten**

Käytä `apropos`, kun haluat etsiä käyttöjärjestelmän käyttöohjeen sivujen otsikoista ja kuvauksista avainsanojen perusteella. Noudata seuraavaa ohjetta:

```bash
apropos [OPTIONS] SEARCH TERM
```

Komento tukee erilaisia vaihtoehtoja. Käytä vaihtoehtoa `-e`, jos haluat rajoittaa haun täsmällisiin osumiin, tai käytä yleismerkkejä (`-w '*SEARCH TERM'`) ja säännöllisiä lausekkeita (`-r`).

**2. tiedot**

`info` voit hakea GNU info -sivut tietystä aiheesta. Useimmissa tapauksissa nämä sivut vastaavat `man` avattavia man-sivuja, mutta toisin kuin nämä, niissä on linkkejä, jotka helpottavat man-sivujen lukemista. Käytä seuraavaa syntaksia:

```bash
info [OPTION] TOPIC
```

Jos komentoa ei anneta tai aihetta ei määritetä, ohjelma siirtyy GNU info -sivun päävalikkoon.

**3. pinfo**

Ohjelmalla `pinfo` saat käyttöösi komentoriviohjelman `info` muunnelman, joka perustuu komentoriviselaimeen Lynxiin ja tulostaa tietosivuja, joissa linkit on korostettu. Käytä `pinfo` samalla tavalla kuin komentoa `info`:

```bash
pinfo [OPTIONS] TOPIC
```

**4. mikä on**

Komentoriviohjelma `whatis` toimii avainsanahakuna man-sivuilla. Käynnistä tämä ohjelma syöttämällä yleinen avainsana, jolloin se etsii käyttöjärjestelmän man-sivuilta tarkkoja osumia. Jos osumia löytyy, `whatis` näyttää lyhyen kuvauksen pääteikkunassa.

```bash
whatis [OPTIONS] SEARCH TERM
```

`whatis` (`-w '\*SEARCH TERM'`) tukee myös paikkamerkkejä ja säännöllisiä lausekkeita (`-r`).

### Hakemistotoiminnot

Käytät Linux-komentoja hakemistotoimintoihin, jotta voit luoda, poistaa ja hallita järjestelmän hakemistoja komentoriviltä sekä liikkua hakemistopuussa. Tärkeimmät komentorivikomennot tässä kategoriassa ovat `cd`, `ls`, `mkdir` ja `rmdir`.

**1. chroot**

Komentoa `chroot` (lyhenne sanoista *change root*) käytetään komennon suorittamiseen eri juurihakemistossa. Esimerkiksi `chroot` käytetään eristämään kriittiset ohjelmat muusta tiedostojärjestelmästä. Ohjelman kutsuminen edellyttää pääkäyttäjän oikeuksia, ja se perustuu seuraavaan kaavaan:

```bash
chroot DIRECTORY COMMAND
```

**2. mkdir tässä**

`mkdirhier` avulla voit luoda kokonaisia hakemistohierarkioita yhdellä ainoalla komentorivikomennolla:

```bash
mkdirhier [OPTION] /home/user/directory1/directory2/directory3
```

Jos `directory1` ja `directory2` ovat jo olemassa, `mkdirhier` luo vain `directory3`. Muussa tapauksessa kaikki kolme hakemistoa luodaan.

**3. puu**

Kun `ls` näyttää vain hakemiston sisällön, komentorivikomentoa `tree` voidaan käyttää koko hakemistohierarkian tulostamiseen rekursiivisesti puurakenteena. Komennon syntaksi on seuraava:

```bash
tree [OPTIONS] [DIRECTORY]
```

### Tiedostotoiminnot

Tämän taulukon Linux-komentojen avulla voit suorittaa erilaisia tiedostotoimintoja komentoriviltä. Käytä Linuxin peruskomentoja, kuten `cp`, `mv` ja `rm`, kopioidaksesi, siirtääksesi, nimeäksesi uudelleen tai poistaaksesi tiedostoja järjestelmästäsi.

**1. tiedoston nimi**

Tiedostopolku välitetään komentorivikomentoon `basename`, joka palauttaa pelkän tiedostonimen ilman oletuspolkua. Komennon syntaksi on seuraava:

```bash
basename [OPTIONS] path/to/files [SUFFIX]
```

Komentoa voidaan laajentaa koskemaan useita tiedostoja lisävalintojen avulla.

**2. viesti**

Käytä komentoriviohjelmaa `comm` lajiteltujen tiedostojen (eli `sort` avulla lajiteltujen) vertailuun rivi riviltä. Ohjelman kutsuminen perustuu seuraavaan syntaksiin:

```bash
comm [OPTIONS] FILE1 FILE2
```

Ohjelma tukee kolmea vaihtoehtoa:

- -1: poista yksilölliset rivit riviltä `FILE1`
- -2: poista ainutlaatuiset rivit tiedostosta `FILE2`
- -3: poista kaikki rivit, jotka sisältyvät molempiin tiedostoihin

**3. leikkaa**

`cut` voit poimia tiedoston sisällön tiedoston tekstiriviltä (esim. loki- tai CSV-tiedostoista). Komennon syntaksi on seuraava:

```bash
cut [OPTIONS] FILE
```

Poimitetun osan tarkka sijainti määritetään asetuksilla `-b` (tavusijainti), `-c` (merkkisijainti), `-d` (erotin) ja `-f` (kenttä).

**4. dirname**

`dirname` on `basename`:n vastine. Tämän komentorivikomennon avulla voit poimia tiedostopolun polkuosan ja tulostaa sen terminaaliin ilman tiedostonimiä. Komennon syntaksi on seuraava:

```bash
dirname [OPTIONS] path/to/file
```

**5. tiedosto**

Komentorivikomennolla `file` voit tulostaa tietoja tiedoston tiedostotyypistä. Komentoa käytetään seuraavan syntaksin mukaisesti:

```bash
file [OPTIONS] FILE
```

**6. lsof**

[Linux-komento `lsof`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linux-lsof/) tarkoittaa *list open files*, eli työkalua, joka näyttää terminaalissa tiedot avoimista tiedostoista PID:n (prosessitunnuksen) mukaan lajiteltuna. Käynnistä ohjelma terminaalissa seuraavalla komennolla:

```bash
lsof [OPTIONS]
```

Koska Linuxin kaltaiset Unix-tyyppiset järjestelmät noudattavat yleensä periaatetta, jonka mukaan ”kaikki on tiedostoa”, `lsof` tulostama luettelo on vastaavasti pitkä. Yleensä tätä tulostetta rajoitetaan käyttämällä komennon vaihtoehtoja.

**7. md5sum**

Komentorivikomento `md5sum` auttaa laskemaan ja tarkistamaan tiedostojen MD5-tarkistussummat.

**8. liitä**

Kuten komento `cat`, myös komentoriviohjelma `paste` mahdollistaa tiedoston sisällön tulostamisen vakiotulostukseen. Mutta kun `cat` vain yhdistää sisällön, `paste` yhdistää sarakkeittain. Komennon perusmuoto on seuraava:

```bash
paste [OPTIONS] FILE1 FILE2 …
```

Voit määrittää asetuksella `-d`, mitä erottinta `paste` käyttää. Oletusarvoisesti erottimena käytetään sarkaimia. Toinen tila voidaan ottaa käyttöön asetuksella `-s` (sarja). Tällöin ensimmäisen syöttötiedoston kaikki rivit siirretään tulosteen ensimmäiselle riville. Kaikkien muiden syöttötiedostojen tiedot seuraavat erillisillä tulosteilla, joten jokainen tulosteen rivi sisältää vain yhden syöttötiedoston sisällön.

**9. nimeä uudelleen**

Komentoriviohjelma `rename` mahdollistaa tiedostojen ja kansioiden uudelleennimeämisen säännöllisten lausekkeiden (regex) avulla. Toisin kuin `mv`, `rename` sopii tiedostotoimintoihin, joissa useiden tiedostojen nimiä on tarkoitus muokata joko osittain tai kokonaan. Käytä `rename` seuraavan syntaksin mukaisesti:

```bash
rename [OPTIONS] 'REGULAR_EXPRESSION' FILE
```

Säännölliset lausekkeet noudattavat seuraavaa korvausten syntaksia:

```bash
s/SEARCHPATTERN/REPLACEMENT/MODIFIER
```

**10. silppuaa**

`shred` on komentoriviohjelma, jonka avulla tiedostoja voidaan poistaa turvallisesti. Valitut tiedostot korvataan poistoprosessin aikana, joten niitä ei voida palauttaa rikosteknisten menetelmien avulla. Komennon yleinen syntaksi on seuraava:

```bash
shred [OPTIONS] FILE
```

**11. lajitella**

Käytä komentorivikomentoa `sort` tiedostoluetteloiden ja ohjelman tulosteiden lajittelemiseen numeerisesti, aakkosjärjestyksessä ja riveittäin. Komennon yleinen syntaksi on seuraava:

```bash
sort [OPTIONS] FILE
```

Lajittelutapaa voi muokata asetusten avulla. Esimerkiksi numerojärjestyksessä (`-n`), satunnaisesti (`-R`) tai käänteisessä järjestyksessä (`-r`).

**12. jakaa**

Komentorivikomentoa `split` käytetään tiedostojen jakamiseen. Sen syntaksi on seuraava:

```bash
split [OPTIONS] [INPUT [PREFIX]]
```

Paikkamerkki INPUT vastaa jaettavaa tiedostoa. *PREFIX* määrittää mukana olevien tiedostojen nimet. Niiden nimet noudattavat seuraavaa mallia:

```bash
PREFIXaa, PREFIXab, PREFIXac …
```

Jos etuliitettä ei ole määritelty, `split` käyttää oletusetuliitettä `x`. `-b` (tavua) -vaihtoehdolla voidaan määrittää osittaisten tiedostojen koko. Koko voidaan ilmaista tavuina (b), kilotavuina (k) tai megatavuina (m).

Esimerkki:

```bash
split -b 95m archive.tgz split-archive.tgz.
```

**13. tilasto**

Komentorivikomento `stat` (*status*) tulostaa valittujen tiedostojen ja hakemistojen avaus- ja muokkausaikaleimat. Komennon yleinen syntaksi on seuraava:

```bash
stat [OPTIONS] FILE
```

Tulostusmuotoa voidaan muokata asetusten avulla.

**14. uniq**

Komentorivikomentoa `uniq` käytetään yleensä yhdessä `sort` kanssa lajiteltujen tiedostojen päällekkäisten rivien poistamiseen. Seuraavassa esimerkissä komento `sort` on yhdistetty putkikomennolla (`|`) komentoon `uniq`, jotta tiedosto lajitellaan ensin ja tulostetaan sitten ilman päällekkäisiä rivejä.

```bash
sort file.txt | uniq
```

### Hakuvaihtoehdot

Linux tarjoaa useita komentorivikomentoja, joilla voi tehdä hakuja järjestelmässä suoraan pääteikkunasta.

**1. etsiä**

Komennon `find` avulla voit tehdä hakuja Linux-tiedostosta. Komento noudattaa seuraavaa syntaksia:

```bash
find [OPTIONS] [DIRECTORY] [SEARCHCONDITION] [ACTIONS]
```

Määritetty hakemisto on haun lähtöhakemisto. Komento etsii tämän jälkeen lähtöhakemistosta ja sen alihakemistoista. Jos hakemistoa ei ole määritetty, `find` aloittaa haun nykyisestä työkansiosta.

Asetusten avulla voit määrittää hakuehtoja ja toimintoja. Oletustoimintona on asetettu `-print`: kaikkien hakutulosten täydellisten tiedostonimien tulostaminen vakiotulostukseen (yleensä terminaaliin). Muiden asetusten avulla on mahdollista suodattaa tuloksia tiedostonimen, tiedostokoon, käyttöajan jne. perusteella. Nämä on lueteltu vastaavalla man-sivulla.

**2. etsi**

Komentoriviohjelman `locate` avulla voit myös etsiä tiedostoja terminaalin kautta. Toisin kuin `find`, se ei kuitenkaan etsi tiedostohakemistosta, vaan erityisesti tätä tarkoitusta varten luodusta ja säännöllisesti päivitettävästä tietokannasta. Tämän ansiosta `locate` tuottaa tuloksia huomattavasti nopeammin kuin `find`. Kun haluat etsiä tietokannasta tiettyä tiedostoa, käytä komento `locate` seuraavan syntaksin mukaisesti:

```bash
locate SEARCHPATTERN
```

Hakukuvio voi sisältää metamerkkejä paikanpitäjinä (`*`). Laita ne lainausmerkkien sisään, jotta komentotulkki ei tulkitse niitä.

**3. tre-agrep**

`tre-agrep` käytetään myös merkkijonojen etsimiseen tekstitiedostoista hakukuvioiden perusteella. Toisin kuin `grep`, tässä tulostetaan paitsi tarkat osumat myös epätarkat tulokset, kuten sellaiset, joissa kirjaimet ovat väärässä järjestyksessä tai joista puuttuu merkkejä. Ohjelma perustuu TRE-kirjastoon ja tuo sen käytettäväksi komentoriviltä. `tre-agrep` syntaksi vastaa `grep` syntaksia:

```bash
tre-agrep [OPTIONS] SEARCHPATTERN FILE(S)
```

Asetusten avulla voit määrittää suurimman sallitun virhemarginaalin. Seuraavassa esimerkissä sallitaan enintään yksi poikkeama.

```bash
tre-agrep -1 'Linux' test .txt
```

**4. updatedb**

`locate` toimii oikein vain, jos `/var/lib/locatedb` pidetään jatkuvasti ajan tasalla. `updatedb` voit päivittää tietokannan manuaalisesti. Huomaa, että tähän tarvitaan pääkäyttäjän oikeudet:

```bash
updatedb
```

**5. missä**

Komennolla `whereis` voit etsiä valitun ohjelman binääritiedoston, lähdekoodin tai ohjekirjatiedostot. Komennon yleinen syntaksi on seuraava:

```bash
whereis [OPTIONS] PROGRAM
```

Asetusten avulla hakua voidaan rajata tiettyihin tiedostotyyppeihin tai hakemistoihin.

**6. joka**

Jos haluat selvittää ohjelman binääritiedostot, käytä komentoa `which` seuraavalla syntaksilla, jolloin polku tulostetaan terminaaliin.

```bash
which [OPTIONS] PROGRAM
```

Oletusasetuksilla `which` tulostaa ensimmäisen löytämänsä tiedoston. Käytä komentoa `-a`, jos haluat näyttää kaikki tiedostot, jotka täyttävät hakuehdot.

### Käyttäjätiedot

Käytä seuraavien luokkien komentoriviohjelmia, kun haluat tarkastella **yksityiskohtaisia tietoja järjestelmään rekisteröidyistä käyttäjistä** sekä heidän ryhmistään ja prosesseistaan.

**1. sormi**

Komentoriviohjelma `finger` on tarkoitettu käyttäjätietojen hakemiseen. Käytä komentoa yhdessä halutun käyttäjätunnuksen kanssa:

```bash
finger [options] [USERNAME]
```

Käytä `finger` ilman käyttäjätunnusta, jos haluat saada tietoja omasta tilistäsi.

**2. ryhmät**

Komento `groups` näyttää valitun käyttäjätilin ryhmäjäsenyydet. Käytä `groups` ilman käyttäjänimeä, jos haluat nähdä kaikki ryhmät, joihin käyttäjätilisi kuuluu.

Käytä komentorivikomentoa seuraavan mallin mukaisesti:

```bash
groups [OPTIONS] [USERNAME]
```

**3. id**

Komentorivikomento `id` tulostaa valittujen käyttäjätilien käyttäjä- ja ryhmätunnukset. Jos haluat selvittää omat tunnuksesi, käytä komentoa ilman käyttäjänimeä.

```bash
id [OPTIONS] [USERNAME]
```

Lähtösignaalin alue voidaan rajoittaa asetusten avulla.

**4. viimeinen**

Käytä komentoa `last` seuraavan mallin mukaisesti, jos haluat tarkastella luetteloa äskettäin kirjautuneista käyttäjistä sekä heidän kirjautumis- ja uloskirjautumisaikoistaan.

```bash
last [OPTIONS] [USERNAME]
```

Vastaavat tiedot haetaan tiedostosta `wtmp` kohdasta `/var/log/wtmp`. Jos haluat pyytää tietoja vain tietystä tilistä, kirjoita komentorivikomentoon haluamasi käyttäjätunnus.

**5. w**

Komento `w` tulostaa luettelon kaikista rekisteröityneistä käyttäjistä sekä kaikista heidän suorittamistaan prosesseista. Käytä `w` yhdessä käyttäjänimen kanssa, jos haluat rajoittaa komennon koskemaan vain tätä käyttäjätiliä:

```bash
w [OPTIONS] [USERNAME]
```

Tulostuksen laajuutta ja muotoa voidaan mukauttaa asetusten avulla.

**6. kuka**

Komento `who` antaa yksityiskohtaista tietoa järjestelmään rekisteröityneistä käyttäjistä. Komennon yleinen syntaksi on seuraava:

```bash
who [OPTION] [SOURCEFILE]
```

Oletusarvoisesti `who` viittaa tiedostoon `/var/run/utmp` sisältyviin tietoihin tällä hetkellä rekisteröityneistä käyttäjistä. Voit määrittää tietolähteeksi jonkin seuraavista tiedostoista.

**7. whoami**

Käytä komentoa `whoami` saadaksesi oman käyttäjätunnuksesi.

```bash
whoami [OPTIONS]
```

### Käyttäjätilien hallinta

Linux tarjoaa joukon ohjelmia, joiden avulla voit luoda, poistaa ja hallita käyttäjätilejä ja ryhmiä suoraan komentoriviltä. Tähän on koottu yhteenveto tärkeimmistä **Linux-komennoista käyttäjätilien hallintaan**. Tästä kategoriasta löydät myös Linux-komentorivikomentoja, joiden avulla voit käyttää koodia muilla käyttöoikeuksilla, mukaan lukien pääkäyttäjän root-oikeudet.

**1. chfn**

Komentorivikomento `chfn` (lyhenne sanoista *“change finger*”) mahdollistaa käyttäjätilin lisätietojen muokkaamisen, kuten oikean nimen, toimiston numeron sekä yksityis- tai työpuhelinnumeroiden. Yleinen syntaksi on seuraava:

```bash
chfn [OPTION "NEW VALUE"] [USERNAME]
```

Mille käyttäjätiedoille annetaan uusi arvo, määritetään asetusten `-f` (oikea nimi), `-r` (toimistonumero), `-w` (työpuhelin) ja `-h` (kotipuhelinnumero) avulla.

**2. chsh**

Komentorivikomento `chsh` (lyhenne sanoista *change shell*) vaihtaa valitun käyttäjän kirjautumiskäyttöympäristön. Käytä seuraavaa mallia ohjeena tietoja syöttäessäsi:

```bash
chsh [OPTIONS] USERNAME
```

Voit käyttää komentoa `-s` käyttäjätilin kirjautumiskomentotulkin muuttamiseen.

**3. harhaanjohtaja**

Komentoriviohjelma `deluser` poistaa valitun käyttäjätilin kaikki merkinnät järjestelmän käyttäjätiedostoista. Kom `deluser` suorittaminen edellyttää pääkäyttäjän oikeuksia, ja siinä käytetään seuraavaa syntaksia:

```bash
deluser [OPTIONS] USERNAME
```

Jos haluat poistaa myös kaikki tiedostot käyttäjän kotihakemistosta, käytä komentoa vaihtoehdoilla `--remove-home`. Jos haluat poistaa kaikki käyttäjätiedostot järjestelmästä, käytä vaihtoehtoja `--remove-all-files`.

**4. delgroup**

Komentorivikomento `delgroup` (lyhenne sanoista *delete group*) poistaa olemassa olevan käyttäjäryhmän. Komennon suorittamiseen tarvitaan pääkäyttäjän oikeudet. Komennon `delgroup` yleinen syntaksi on:

```bash
delgroup [OPTIONS] GROUP
```

**5. groupmod**

Olemassa olevien käyttäjäryhmien nimiä ja ryhmätunnuksia (GID) voidaan muokata komennolla `groupmod`. Komentorivikomentoa käytetään pääkäyttäjän oikeuksilla seuraavan syntaksin mukaisesti:

```bash
groupmod OPTIONS GROUP
```

Käytä `groupmod` yhdessä vaihtoehdon `-g` kanssa GID:n mukauttamiseen. Käynnistä komento vaihtoehdolla `-n` ryhmän nimen korvaamiseksi.

**6. newgrp**

Komento `newgrp` (lyhenne sanoista *“new group*”) antaa rekisteröityneille käyttäjille mahdollisuuden muuttaa nykyistä ryhmätunnustaan ilman, että heidän tarvitsee kirjautua ulos ja takaisin sisään. Komennon yleinen syntaksi on seuraava:

```bash
newgrp [-] [GROUP]
```

Jos komentoa `newgrp` käytetään valinnaisella parametrilla \[-\], ryhmän vaihto aiheuttaa käyttäjäympäristön uudelleenkäynnistyksen – aivan kuin käyttäjä olisi kirjautunut sisään uudelleen. Ne, jotka käyttävät `newgrp` ilman ryhmämäärittelyä, siirtyvät komennolla `/etc/passwd` määriteltyyn oletusryhmään.

**7. su**

Komento `su` mahdollistaa myös väliaikaisen käyttäjänvaihdon, jotta ohjelmakutsu voidaan suorittaa kohdekäyttäjän oikeuksilla. Toisin kuin `sudo`, tätä komentoa ei suoriteta suoraan. Sen sijaan tapahtuu identiteetin vaihto. Sen sijaan, että kysyttäisiin kutsuvan käyttäjän salasanaa, pyydetään kohdekäyttäjän salasanaa. Komennon yleinen syntaksi on seuraava:

```bash
su [OPTIONS] [USERNAME]
```

Jos käyttäjätunnusta ei anneta, järjestelmä valitsee käyttäjäksi `root`.

**8. usermod**

Komentorivikomento `usermod` antaa sinulle mahdollisuuden muokata aiemmin luotuja käyttäjätilejä. Käytä `usermod` pääkäyttäjän oikeuksilla seuraavan syntaksin mukaisesti:

```bash
usermod [OPTIONS] USERNAME
```

Asetusten avulla voidaan määrittää, mitä muutoksia halutaan tehdä. Esimerkiksi käyttäjänimen voi muuttaa asetuksella `-l NEW_NAME`. Lisää asetuksia löytyy ohjelman man-sivulta.

### Järjestelmäkomennot

Järjestelmäkomennot-kategoriasta löydät Linuxin peruskomennot järjestelmän hallintaan. Käytä seuraavia komentoja järjestelmän uudelleenkäynnistämiseen ja sammuttamiseen terminaalista – ja hallitse niitä tarvittaessa ajastimella.

**1. lokitiedosto**

Käytä `logger` seuraavan mallin mukaisesti:

```bash
logger "YOUR MESSAGE"
```

Etsi järjestelmäloki kohdasta `/var/log/syslog`.

**2. Käynnistä tietokone uudelleen**

Komentorivikomento `reboot` käynnistää järjestelmän uudelleen. Uudelleenkäynnistyksen käynnistämiseksi komento on suoritettava pääkäyttäjän oikeuksilla.

```bash
reboot [OPTIONS]
```

**3. rtcwake**

Komentorivikomento `rtcwake` mahdollistaa järjestelmän käynnistämisen ja sammuttamisen ajastimen avulla. Komennon syntaksi on seuraava:

```bash
rtcwake [OPTIONS] [MODE] [Time]
```

Valitse tietty tila (`-m MODE`), johon järjestelmä siirtyy tietyn ajan kuluttua sekunteina (`-s TIME IN SECONDS`). Voit myös herättää järjestelmän tarkasti määriteltynä ajankohtana (`-t UNIXTIME`).

### Järjestelmätiedot

Järjestelmätiedot-osiossa olemme koonneet komentoriviohjelmia, joiden avulla voit **hakea tietoja ja tilanneraportteja** ja saada kattavan yleiskuvan järjestelmän tilasta.

**1. päivämäärä**

Komento `date` näyttää järjestelmän kellonajan päivämäärän kera.

```bash
date [OPTIONS] [OUTPUTFORMAT]
```

Jos haluat käsitellä tiettyä kellonaikaa ohjelmakutsun yhteydessä (katso `rtcwake`), määritä se vaihtoehdon `-d 'DATE'` avulla. Lisäksi tuetaan erilaisia vaihtoehtoja, joilla päivämäärä- ja aikatiedot voidaan muuntaa haluttuun muotoon.

**2. df**

Käytä komentoa `df` (*levytila*) seuraavan mallin mukaisesti.

```bash
df [OPTIONS] [FILE]
```

Jos komentoa käytetään yhdessä tietyn tiedoston kanssa, järjestelmä ilmoittaa vain sen osion vapaan tilan, jossa tiedosto sijaitsee. Muussa tapauksessa näytetään liitettyjen osioiden vapaa kiintolevytila. Vaihtoehto `-l` (*local*) rajoittaa `df` paikalliseen tiedostojärjestelmään. Se tukee myös vaihtoehtoja, joiden avulla voit mukauttaa tulostusmuotoa.

**3. dmesg**

Ohjelma `dmesg` (lyhenne sanoista *display message*) tulostaa ytimen pyöreän puskurin viestit pääteikkunaan ja auttaa paikantamaan laitteisto- ja ohjainvirheitä. Käytä `dmesg` seuraavan mallin mukaisesti:

```bash
dmesg [OPTIONS]
```

Tulostus `dmesg` sisältää kaikki käynnistysrutiinin viestit, joten se on vastaavasti pitkä. Komentoriviohjelmaa käytetään usein yhdessä sivunvaihtimen, kuten `more`, `less` tai `tail`, kanssa.

**4. ilmainen**

Komento `free` näyttää muistin käytön. Yleinen syntaksi on seuraava:

```bash
free [OPTIONS]
```

Tuloksena saat kaksi erittelyä: `Mem` (*Muisti*) ja `Swap`. `Free` tukee myös vaihtoehtoa `-h`, jolla muistin käyttö voidaan tulostaa ihmisen luettavassa muodossa.

**5. isäntänimi**

Käytä komentoa `hostname` seuraavan mallin mukaisesti järjestelmän DNS-nimien näyttämiseksi.

```bash
hostname [OPTIONS]
```

**6. uname**

Komentorivikomento `uname` korvaa komennon `unix name`, ja sitä käytetään järjestelmätietojen hakemiseen ytimestä. Komento tukee useita vaihtoehtoja, joiden avulla tuloste voidaan suodattaa haluttujen tietojen mukaan. Nämä löytyvät vastaavasta man-sivulta.

```bash
uname [OPTIONS]
```

**7. käytettävyys**

Jos haluat selvittää, kuinka kauan järjestelmä on ollut käynnissä edellisen uudelleenkäynnistyksen jälkeen, käytä komentorivikomentoa `uptime` seuraavan mallin mukaisesti:

```bash
uptime
```

**8. vmstat**

Seurantatyökalun `vmstat` avulla voit tarkastella tietoja virtuaalimuistista, levyn luku- ja kirjoitusoperaatioista sekä prosessorin toiminnasta. Käynnistä `vmstat` seuraavan syntaksin mukaisesti, jotta saat näkyviin järjestelmän viimeisen käynnistyksen jälkeiset keskiarvot.

```bash
vmstat [OPTIONS]
```

`vmstat` tarjoaa myös jatkuvan valvontatilan, joka lukee järjestelmän arvot halutun sekuntimäärän välein.

```bash
vmstat [Options] [INTERVAL [REPETITIONS]]
```

### Laitteistotiedot

Tämän luokan Linux-komennot antavat **yksityiskohtaista tietoa laitteistokomponenteista**, jotka muodostavat järjestelmän perustan.

**1. lspci**

Käytä komento `lspci` (lyhenne sanasta *list pci*) seuraavan mallin mukaisesti, jotta saat näkyviin yksityiskohtaisia tietoja PCI-laitteista.

```bash
lspci [OPTIONS]
```

Katso käytettävissä olevat vaihtoehdot käyttöjärjestelmän käyttöoppaasta.

**2. lsusb**

Käytä `lsusb` (lyhenne sanoista *list usb*) tulostaaksesi terminaaliin yksityiskohtaisia tietoja USB-laitteista.

```bash
lsusb [OPTIONS]
```

Katso käytettävissä olevat vaihtoehdot käyttöjärjestelmän käyttöoppaasta.

### Prosessinhallinta

Linuxissa käynnissä olevan ohjelman ilmentymää kutsutaan prosessiksi. Seuraavat terminaalikomennot kuuluvat prosessien hallinnan vakiovarustukseen, ja niiden avulla voit **helposti seurata järjestelmän kaikkia prosesseja terminaalista käsin** ja hallita niitä tarpeen mukaan.

**1. chrt**

Komentoriviohjelma `chrt` käsittelee jatkuvia prosessien hallintaa ja mahdollistaa käynnissä olevien prosessien reaaliaikaisten ominaisuuksien (ajoitussäännöt ja prioriteetti) tunnistamisen ja mukauttamisen tai komentojen ja niiden argumenttien suorittamisen määritellyillä reaaliaikaisilla ominaisuuksilla. Komennon yleinen syntaksi on seuraava:

```bash
chrt [OPTIONS] [PRIOTITY] PID/COMMAND [ARGUMENT]
```

Käytä `chrt` ilman prioriteettia ja yhdessä komennon `-p` kanssa valittujen prosessien reaaliaikaisten ominaisuuksien tunnistamiseen.

`chrt` tarjoaa myös mahdollisuuden määrittää käynnissä olevien tai juuri käynnistettyjen prosessien ajoitussäännöt asetusten avulla. Lisätietoja tästä löytyy vastaavasta man-sivulta.

**2. ionice**

Komentorivikomentoa `ionice` käytetään vaikuttamaan prosessin prioriteettiin, joka käyttää ytimen I/O-rajapintaa. Komennon yleinen syntaksi on seuraava:

```bash
ionice [OPTIONS] COMMAND
```

ionice-komennon suorittamiseen tarvitaan pääkäyttäjän oikeudet. Komento erottaa kolme ajoitusluokkaa, jotka määritetään `-c class`. Mahdollisia arvoja ovat 1, 2 ja 3.

- 1 = Reaaliaikainen: I/O-toiminto suoritetaan välittömästi.
- 2 = Paras mahdollinen: I/O-toiminto suoritetaan mahdollisimman nopeasti.
- 3 = Jono: I/O-toiminto suoritetaan vasta, kun mikään muu prosessi ei vie I/O-aikaa.

**3. nohup**

Yleensä kaikki käyttäjän aliprosessit lopetetaan automaattisesti heti, kun pääteistunto suljetaan (eli komennolla `exit`). [Linux-komento `nohup`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-nohup-komento/) (lyhenne sanoista *no hangup*) poistaa komennon nykyisestä istunnosta ja mahdollistaa sen jatkamisen, vaikka kirjautuisit ulos järjestelmästä.

```bash
nohup COMMAND
```

**4. pidof**

Komentoriviohjelma `pidof` tulostaa ohjelman kaikkien prosessien prosessitunnukset (PID:t). Tunnista PID:t ohjelman `pidof` avulla seuraavan mallin mukaisesti:

```bash
pidof [OPTIONS] PROGRAM
```

Jos haluat tulostaa vain ensimmäisen prosessin tunnuksen, käytä `pidof` yhdessä vaihtoehdon `-s` kanssa (lyhenne sanasta *single shot*).

**5. pidkill**

Kuten `kill`, myös komento `pkill` lähettää signaalin valitulle prosessille. Osoitteistusta ei kuitenkaan suoriteta PID-tunnuksen perusteella. Sen sijaan annetaan hakutermi, joka vastaa käynnissä olevan prosessin nimeä. Tämä voidaan muotoilla myös säännöllisenä lausekkeena. `pkill` välittää vakiomuotoisen TERM-signaalin, ellei muita signaaleja ole määritelty. Komennon yleinen syntaksi on seuraava:

```bash
pkill [OPTIONS] [-SIGNAL] [SEARCHTERM]
```

Lisäasetusten avulla komento voidaan rajata koskemaan tietyn käyttäjän prosesseja (`-U UID`), tietyn pääprosessin aliprosesseja (`-P PID`) tai uusimpia (`-n`) tai vanhimpia (`-o`) prosesseja.

**6. pstree**

Käytä `pstree`, jos haluat näyttää kaikki käynnissä olevat prosessit puurakenteena. Komennon yleinen syntaksi on seuraava:

```bash
pstree [OPTIONS]
```

Tulostuksen muotoa ja laajuutta voidaan mukauttaa erilaisilla asetuksilla.

**7. renice**

Komentorivikomento `renice` mahdollistaa käynnissä olevan prosessin prioriteetin muokkaamisen. Yleinen syntaksi on seuraava:

```bash
renice PRIORITY [OPTIONS]
```

**8. uni**

[Linuxin `sleep` komennolla](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-sleep-komento/) voit keskeyttää nykyisen terminaalisession tietyn ajaksi. Komennon yleinen syntaksi on seuraava:

```bash
sleep NUMBER[SUFFIX]
```

Jos käytät `sleep` ilman pääteosaa, annettu luku tulkitaan sekunteina (s). Voit myös keskeyttää päätelaitteen istunnon minuuteiksi (m), tunneiksi (h) tai päiviksi (d).

**9. tehtäväjoukko**

Komentorivikomentoa `taskset` käytetään edistyneeseen prosessinhallintaan, jota hyödynnetään moniprosessorijärjestelmissä prosessien tai komentojen osoittamiseen tietyille prosessoreille. Komento vaatii pääkäyttäjän oikeudet ja käyttää jotakin seuraavista malleista:

```bash
taskset [OPTIONS] MASK COMMAND
taskset [OPTIONS] -p PID
```

Prosessin tai komennon osoittaminen prosessorille tapahtuu heksadesimaalisella bittimaskilla. Koska tällainen osoittaminen bittimaskin avulla ei ole kovin intuitiivista, `taskset` käytetään yleensä yhdessä vaihtoehdon `-c` (–cpu-list) kanssa, jotta prosessorit voidaan osoittaa numeroilla (esim. 0, 5, 7, 9–11).

### Hälytin

Haluatko käyttää näkymääsi monisivuisen tiedoston sisällön seuraamiseen? Pager-luokan komentoriviohjelman avulla voit valita, mitkä osat näytetään terminaalissa, ja tarvittaessa selata tiedostoa interaktiivisessa tilassa.

**1. pää**

Linux-komentoa head käytetään tiedoston ensimmäisen osan tulostamiseen. Komennon yleinen syntaksi on seuraava:

```bash
head [OPTIONS] File
```

Määritä asetuksella `-n NUMBER_LINES`, kuinka monta riviä tulostetaan alkaen alusta.

**2. vähemmän**

Komentoriviohjelma `less` mahdollistaa tekstitiedoston sisällön näyttämisen pääteikkunassa. Yleinen syntaksi on seuraava:

```bash
less [OPTIONS] FILE
```

Tulostus tapahtuu automaattisesti interaktiivisessa tilassa. Tällöin voit selata valittua asiakirjaa tai tehdä hakuja avainsanoilla. \[Q\]-näppäin lopettaa interaktiivisen lukutilan. Muut ohjausnäppäimet ja käytettävissä olevat vaihtoehdot löytyvät ohjelman käyttöoppaasta.

**3. häntä**

Vaikka `head` näyttää oletuksena valitun tiedoston ensimmäiset 10 riviä, Linux-komento tail tulostaa viimeiset 10 riviä. Molempia sivunäkymäohjelmia käytetään samalla tavalla (katso `head`).

### Toimittajat

Linuxissa et tarvitse graafista tekstieditoria asetustiedostojen muokkaamiseen, koodinpätkien kirjoittamiseen tai lyhyiden muistiinpanojen laatimiseen. **Yksinkertaiset tekstieditorit** voidaan avata helposti terminaalissa ilman viivettä. Esittelemme tässä kolme ohjelmaa, jotka sinun kannattaa tuntea.

**1. emacs**

*Emacs* on monialustainen tekstieditori, jota voidaan laajentaa halutulla tavalla ohjelmointirajapinnan avulla. Oletusarvoisesti Emacs käynnistyy graafisella käyttöliittymällä, mutta sen voi avata myös terminaalissa käyttämällä komentoa `--no-window-system`.

```bash
emacs --no-window-system
```

Emacsissa on valmiina integroitu opas, jonka voi avata näppäinyhdistelmällä \[CTRL\] + \[H\], \[T\].

**2. nano**

Nano on komentorivipohjainen tekstieditori. Nano tarjoaa vähemmän toimintoja kuin vastaavat editorit (kuten *Vim*), mutta se erottuu erityisen käyttäjäystävällisestä käytöstä. Ohjelman kutsun yleinen syntaksi on seuraava:

```bash
nano [OPTIONS] FILE
```

Ohjelma avaa annetun tiedoston muokkausikkunaan terminaalissa. Jos käynnistät Nano-ohjelman ilman tiedostonimeä, se luo uuden tekstitiedoston, joka tallennetaan valittuna olevaan hakemistoon.

**3. vim**

Vim (lyhenne sanoista *Vi Improved*) on *Vi-tekstieditorin* jatkokehitys, joka erottuu edukseen lukuisilla lisäominaisuuksilla, kuten syntaksin korostuksella, kattavalla ohjejärjestelmällä, sisäänrakennetulla skriptitoiminnolla, automaattisella koodin täydennyksellä ja visuaalisella tekstin valinnalla.

Tämä avoimen lähdekoodin ohjelma tarjoaa erilaisia toimintatiloja pelkkien tekstitiedostojen muokkaamiseen, ja sitä voidaan käyttää joko komentoriviltä tai itsenäisenä sovelluksena, jossa on graafinen käyttöliittymä (*GVim*). Ohjelman keskeinen käyttöalue on ohjelmakoodin muokkaaminen.

Jos käynnistät Vimin komentoriviltä, ohjelmaa käytetään näppäimistöllä. Yleensä ohjelma käynnistetään yhdessä tekstitiedoston kanssa seuraavan kaavan mukaisesti:

```bash
vim [OPTIONS] FILE
```

Vim tarjoaa ohjelman `vimtutor` kattavana johdantona, joka käynnistetään myös komentoriviltä. Perustietoa käsittelevä artikkelimme Linux-editori Vimistä tarjoaa myös lisätietoja ohjelman asennuksesta ja erilaisista käyttötiloista.

### Verkonhallinta

**Verkon hallinta** onnistuu helposti myös Linuxin komentoriviltä. Halusitpa sitten testata yhteyttä, hakea DNS-tietoja, määrittää verkkoliitäntää tai siirtää tiedostoja toiselle verkon tietokoneelle, seuraavien ohjelmien avulla riittää yksi ainoa komento projektisi käynnistämiseen.

**1. arp**

Komentoriviohjelman `arp` avulla voit tarkastella ja muokata käyttöjärjestelmän ARP-välimuistia. Käytä `arp` ilman lisäparametreja, jos haluat tulostaa ARP-taulukon sisällön terminaaliin.

```bash
arp [OPTION]
```

Vaihtoehtoisesti voit rajoittaa tulostetta asetuksilla tai luoda tai poistaa merkintöjä:

- `-a HOSTNAME` = Rajoita tulosteet tiettyjen isäntänimien merkintöihin (vaihtoehto IP-osoitteelle)
- `-s HOSTNAME MAC_ADDRESS` = Luo ARP-merkintä määritetyllä isäntänimellä ja MAC-osoitteella
- `-d HOSTNAME` = Poista APR-merkintä

**2. iw**

Komentoriviohjelmaa `iw` käytetään WLAN-liitäntöjen konfigurointiin, ja se on vakiintunut nykyiseksi vaihtoehdoksi komennolle `iwconfig`. Komennon syntaksi on samanlainen kuin komennolla `ip`:

```bash
iw [OPTIONS] OBJECT [COMMAND]
```

Mahdollisia kohteita ovat:

- dev NIMETÄ\_RAJAPINTA = Verkkoliitäntä
- phy LAITTEEN\_NIMI = WLAN-laite (nimen mukaan)
- phy#LAITTEEN\_INDEKSI = WLAN-laite (indeksin mukaan)
- reg = Sääntelyagentti alueellisten ja maakohtaisten asetusten määrittämiseen

Yleiskatsaus käytettävissä olevista komennoista ja vaihtoehdoista löytyy kyseisestä man-sivusta.

**3. nslookup**

Kuten `dig`, myös nslookup on nimien selvityspalvelu. Tämä komentoriviohjelma toimii kahdessa tilassa: vuorovaikutteisessa ja ei-vuorovaikutteisessa. Jos haluat käyttää `nslookup` ei-vuorovaikutteisessa tilassa, kutsu ohjelmaa yhdessä isäntänimen tai IP-osoitteen kanssa.

```bash
nslookup [OPTIONS] [HOST/IP]
```

Käynnistä interaktiivinen tila kirjoittamalla terminaaliin komento `nslookup` ilman lisätietoja ja syöttämällä sitten isäntänimiä tai IP-osoitteita, jolloin niihin liittyvät IP-osoitteet tai isäntänimet tulevat näkyviin.

Koska ohjelma on **virallisesti vanhentunut**, käyttäjiä kehotetaan käyttämään sen sijaan `dig`.

**4. rsync**

Komentoriviohjelman `rsync` avulla voit synkronoida tiedostoja paikallisesti tai verkon kautta. Tätä varten verrataan kyseisten tiedostojen kokoa ja muokkausajankohtaa. Komennon syntaksi on seuraava:

```bash
rsync [OPTIONS] SOURCE(S) TARGET
```

rsync-komentoa käytetään yleensä vaihtoehdolla `-a`, joka varmistaa, että kaikki alihakemistot ja symboliset linkit kopioidaan ja että kaikki käyttöoikeudet säilyvät.

**5. scp**

Linux-komennolla scp (lyhenne sanoista *secure copy*) on saatavilla toinen ohjelma turvalliseen tiedonsiirtoon verkossa suoraan pääteikkunasta. `scp` kopioi tietoja tietokoneelta toiselle ja käyttää SSH-verkkoprotokollaa. Asiakasohjelma toimii samalla tavalla kuin tiedostokomento `cp`, mutta sitä käytetään koko järjestelmän laajuisesti seuraavan syntaksin mukaisesti:

```bash
scp [OPTIONS] FILE [[user@]remote_host:]PATH
```

Kun määritetään etätietokoneen polku, käyttäjänimi ja vastaava isäntänimi lisätään polun alkuun. Paikallisiin tiedostoihin viitataan nimenomaisesti suhteellisilla tai absoluuttisilla poluilla.

Esimerkki:

```bash
scp/home/max/images/image.jpg max@example.com:/home/max/archive
```

Lisäasetusten avulla voit muokata siirtotilaa ja salausasetuksia.

**6. tty**

Komentorivikomento `tty` tulostaa ne terminaalin tiedostonimet, jotka on määritelty vakiotuloksi. Komennon yleinen syntaksi on seuraava:

```bash
tty [OPTIONS]
```

### Arkistoi ja pakkaa

Linux tarjoaa useita tekniikoita, joilla tiedostoja voidaan pakata ja tiivistää arkistoiksi. On syytä huomata, että **kaikki arkistot eivät sisällä pakkausta**. Siksi tiedostojen arkistointiohjelma `tar` yhdistetään yleensä pakkausohjelmaan, kuten `gzip`, `bzip2` tai `xz`.

**1. gzip**

`gzip` on ohjelma, jolla voit helposti pakata tai purkaa tiedostoja komentoriviltä. Komennon yleinen syntaksi on seuraava:

```bash
gzip [OPTIONS] FILE(S)
```

Huomaa, että oletusasetuksena `gzip` poistaa alkuperäisen tiedoston pakkausprosessin yhteydessä. Voit estää tämän käyttämällä vaihtoehtoa `-k`. Ohjelmaa voidaan tarvittaessa käyttää useiden tiedostojen käsittelyyn samanaikaisesti. Jokainen tulostustiedosto muunnetaan erilliseksi `gz` tiedostoksi. Jos haluat tallentaa useita tiedostoja yhteen pakattuun arkistoon, käytä `gzip` yhdessä arkistointiohjelman `tar` kanssa.

Jos haluat purkaa gz-tiedoston, käytä `gzip` -komentoa ja `-d` -vaihtoehtoa.

**2. bzip2**

Suosittu vaihtoehto komennolle `gzip` on komentoriviohjelma `bzip2`. Se käyttää samaa syntaksia kuin `gzip`, mutta perustuu kolmivaiheiseen pakkausprosessiin, joka mahdollistaa huomattavasti paremman pakkaussuhteen. Bzip2-ohjelmalla pakatut tiedostot käyttävät tiedostotunnistetta `.bz2`. Pakkaa tiedostoja käyttämällä `bzip` seuraavan mallin mukaisesti:

```bash
bzip2 [OPTIONS] FILE(S)
```

`bzip2` voidaan käyttää myös `tar` -tiedostoihin. Pakkauksen purkaminen tapahtuu samalla tavalla kuin `gzip`, ja se suoritetaan `-d`-vaihtoehdon avulla.

**3. xz**

Komentoriviohjelma `xz` muuntaa tiedostoja samannimisessä tiedostojen pakkausmuodossa `xz`. Ohjelman kutsuminen tapahtuu samalla tavalla kuin kohdissa `gzip` ja `bzip2`.

```bash
xz [OPTIONS] FILE(S)
```

Tiedostot, jotka on pakattu komennolla `xz`, käyttävät tiedostotunnistetta `.xz`. Pakkauksen purku tapahtuu samalla tavalla kuin `gzip` ja `bzip` kanssa, kun käytetään vaihtoehtoa `-d`. Myös komentoa `unxz` voidaan käyttää.

Kuten gz- ja bz2-tiedostot, myöskään xz-tiedostot eivät ole arkistotiedostoja. Jos haluat tallentaa useita tiedostoja samaan pakattuun xz-tiedostoon, sinun on käytettävä tämän pakkausohjelman yhteydessä myös arkistointityökalua `tar`.

**4. cpio**

Arkistointiohjelman `cpio` (lyhenne sanoista *copy in, copy out*) avulla voit tallentaa tietoja arkistotiedostoon (.cpio) ja purkaa tietoja siitä.

### Osioiden hallinta

Jos haluat käyttää Linuxissa toisella osiolla sijaitsevaa tiedostojärjestelmää, sinun on ensin liitettävä se käyttöjärjestelmän hakemistorakenteeseen. Tätä kutsutaan osion ”kiinnittämiseksi”. Tarvittaessa tämä voidaan tehdä graafisen käyttöliittymän kautta. Myös komentoriviohjelmat, kuten `lsblk`, `blkid` ja `mount`, tarjoavat mahdollisuuden pyytää tietoja liitetyistä lohkotallennuslaitteista sekä kiinnittää tai irrottaa ne tarvittaessa.

**1. lsblk**

Käytä komentoa `lsblk` (lyhenne sanoista *list block devices*) näyttämään kaikki liitetyt lohkotallennuslaitteet ja osiot puurakenteena. Näiden ei välttämättä tarvitse olla mukana. Komento noudattaa seuraavaa syntaksia:

```bash
lsblk [OPTIONS]
```

Tarvittaessa tulostetta ja haluttujen attribuuttien luetteloa voidaan muokata erikseen käyttämällä vaihtoehtoa `-o` (*–output*), jolloin saadaan lisätietoja, kuten tunnistenumero (UUID), tiedostojärjestelmä (FSTYPE) tai tila (STATE).

Oletusasetuksissa tyhjät tallennuslaitteet ohitetaan. Jos haluat sisällyttää myös nämä laitteet yhteenvetoon, käytä `lsblk` yhdessä vaihtoehdon `-a` (*–all*) kanssa. Jos haluat pyytää tietoja vain tietystä laitteesta, käytä `lsblk` seuraavan mallin mukaisesti:

```bash
lsblk [OPTIONS] DEVICE
```

**2. blkid**

Kuten komento `lsblk`, myös `blkid` tulostaa tietoja liitetyistä lohkotallennuslaitteista. Käytä `blkid` seuraavan ohjeen mukaisesti, jotta saat kaikkien liitettyjen lohkotallennuslaitteiden tunnistenumeron (`UUID`) ja tiedostojärjestelmän tyypin (`TYPE`).

```bash
blkid [OPTIONS]
```

Taulukkomuotoista tulostusta varten käytä vaihtoehtoa `-o` yhdessä arvon `list` kanssa. Voit myös rajoittaa `blkid` koskemaan valittua laitetta:

```bash
blkid [OPTIONS] DEVICE
```

### Sekalaiset

Seuraavassa luettelossa on muita Linuxin peruskomentoja, jotka eivät kuulu mihinkään edellä mainituista luokista.

**1. alias**

Vuorovaikutus komentotulkin kanssa tapahtuu yleensä komentojen avulla, joilla voidaan käynnistää samannimisiä **komentoriviohjelmia**. Käytät ohjelmakutsua jokaista toimintoa varten, jonka haluat suorittaa terminaalin kautta. [Linuxin `alias`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-alias-komento/) voit määrittää lyhenteitä ohjelmakutsuille. Käytä `alias` seuraavan mallin mukaisesti:

```bash
alias NICKNAME= 'COMMAND'
```

Korvaa paikkamerkki COMMAND millä tahansa komentorivikomennolla, mukaan lukien vaihtoehdot. Tämä linkittää paikkamerkkiin NICKNAME lisätyn merkkijonon.

**2. klo**

Suorita ajastettu komento kutsumalla komentoriviohjelma `at` seuraavan mallin mukaisesti.

```bash
at TIME
```

Kirjoita sitten komento ja sulje vuorovaikutustila painamalla \[CTRL\] + \[D\].

**3. kal**

Käytä `cal` seuraavan mallin mukaisesti tulostaaksesi kalenterin terminaaliin.

```bash
cal [OPTIONS] [[MONTH] Year]
```

**4. pr**

Käytä komentoriviohjelmaa `pr` tekstitiedostojen valmistelemiseen tulostusta varten. Komennon yleinen syntaksi on seuraava:

```bash
pr [OPTIONS] File
```

Oletusasetuksissa `pr` luo sivun otsikon, joka sisältää tiedostonimen, nykyisen päivämäärän ja sivunumeron.

**5. käsikirjoitus**

Komentoriviohjelman `script` avulla voit tallentaa päätelaitteen istunnon tiedostoon `typescript`. Jos tiedostossa `typescript` on jo aiemman istunnon tallenne, se korvataan uudella. Tallennus käynnistyy automaattisesti, kun ohjelma kutsutaan seuraavasti:

```bash
script
```

Lopeta tallennus näppäinyhdistelmällä \[CTRL\] + \[D\]. Jos haluat tallentaa tallenteen toiseen tiedostoon kuin `typescript`:een, kirjoita `script` ja sen perään tiedostonimi tai polku.

**6. ja seuraavat**

Käytä komentoa `seq` numerosarjan tulostamiseen vakiotulostukseen. Määritä alkuarvo, loppuarvo ja askel (valinnainen).

```bash
seq [OPTIONS] STARTVALUE INCREMENT ENDVALUE
```

**7. tasksel**

Komentoriviohjelma `tasksel` toimii asennusoppaana vakiosovelluksille (sähköpostipalvelin, DNS-palvelin, OpenSSH-palvelin, LAMP-palvelin jne.). Työkalun avulla voit asentaa kaikki tehtävään tarvittavat paketit ja ohjelmat automaattisesti oikeassa järjestyksessä. Käynnistä `tasksel` ja anna sille vaihtoehto `--list-tasks`, niin saat näkyviin luettelon kaikista käytettävissä olevista vakiosovelluksista.

```bash
tasksel --list-tasks
```

Jos haluat lisätietoja luettelossa olevasta vakiosovelluksesta, valitse `tasksel` ja valitse sen jälkeen vaihtoehto `--task-desc` sekä vastaava tehtävä. Jos haluat luetella kaikki paketit, jotka kuuluvat ”mail-server”-tehtävään, valitse `tasksel` ja valitse sen jälkeen vaihtoehto `--task-packages`.

Voit asentaa vakiosovelluksen kaikki paketit alikomennolla `install`. Tämä edellyttää pääkäyttäjän oikeuksia.

**8. tee**

Linux-komentoa tee käytetään ohjelman tulosteen kaksinkertaistamiseen. Toinen tuloste ohjataan vakiotulostukseen ja toinen tallennetaan tiedostoon, joka on määritetty komennolla `tee`.

```bash
tee [OPTIONS] FILE
```

`tee` käytetään yleensä yhdessä uudelleenohjausoperaattorin Pipe (`|`) kanssa.

```bash
ls | tee example.txt
```

**9. kerta**

Käytä komentoa `time` seuraavan mallin mukaisesti selvittääksesi terminaalista käynnistämiesi ohjelmien suoritusaikaa.

```bash
time [OPTIONS] Command [ARGUMENTS]
```

**10. tr**

Käytä `tr` halutun merkistön poistamiseen tai korvaamiseen toisella. Tätä varten `tr` lukee standarditulon (esim. tiedoston) datavirran ja kirjoittaa sen standardilähtöön halutun muutoksen mukaisesti. Jos merkistö on tarkoitus korvata toisella, `tr` käytetään kahdella argumentilla.

```bash
tr OPTION CHARACTERSET1 CHARACTERSET2
```

Toinen argumentti (CHARACTERSET2) korvaa ensimmäisen (CHARACTERSET1). Jos haluat poistaa merkkijonon, käytä `tr` yhdessä vaihtoehdon `-d` kanssa ja anna poistettava merkkijono argumenttina.

```bash
tr -d CHARACTERSET
```

Komentoriviohjelmaa käytetään yleensä yhdessä uudelleenohjausmerkkien (&lt; ja &gt;) kanssa tiedostojen muokkaamiseen.

```bash
tr 'a-z' 'A-Z' < example1.txt > example2.txt
```

`tr` lukee tiedoston `example1.txt` sisällön, korvaa pienet kirjaimet a–z isoilla kirjaimilla ja tallentaa tuloksen tiedostoon `example2.txt`.

**11. seinä**

Komentoriviohjelman `wall` avulla voit lähettää viestin kaikille järjestelmään rekisteröityneille käyttäjille. Lähetä viesti käynnistämällä ohjelma seuraavalla komennolla:

```bash
wall
```

Vahvista ohjelman kutsu painamalla \[Enter\] ja kirjoita viestisi. Vahvista sitten uudelleen painamalla \[Enter\] ja lähetä viesti näppäinyhdistelmällä \[CTRL\] + \[D\]. Kaikki järjestelmään rekisteröityneet käyttäjät saavat viestisi yleislähetyksenä terminaaliinsa. On syytä huomata, että jotta voit vastaanottaa viestejä, sinun on annettava muille käyttäjille kirjoitusoikeus terminaaliisi. Käytä tätä varten komentoa `mesg`:

Jos haluat lähettää tiedoston sisällön kaikille rekisteröityneille käyttäjille, käytä `wall` yhdessä syötteen uudelleenohjauksen ja kyseisen tiedoston nimen kanssa:

```bash
wall < FILENAME
```

**12. katsella**

Komentoriviohjelman `watch` avulla voit määrittää komennon suoritettavaksi säännöllisin väliajoin. Ohjelman kutsuminen perustuu seuraavaan syntaksiin:

```bash
watch [OPTIONS] COMMAND
```

Aikaväli, jonka kuluttua kohdassa `watch` annettu komento suoritetaan, määritetään vaihtoehdolla `-n SECONDS`. Lopeta `watch` näppäinyhdistelmällä \[CTRL\] + \[C\].

**13. wc**

[Linux-komento `wc`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-wc-komento/) (lyhenne sanoista *word count*) ilmoittaa pyydettäessä tekstitiedoston rivien, sanojen, kirjainten, merkkien ja/tai tavujen lukumäärän. Komennon yleinen syntaksi on seuraava:

```bash
wc [OPTIONS] FILE
```

Jos `wc` käytetään ilman lisäparametreja, tulos vastaa mallia `LINES WORDS CHARACTERS FILE`. Suodatetun tuloksen saamiseksi komentoriviohjelma tukee seuraavia lisäparametreja: `-l` (rivit), `-c` (tavut), `-m` (merkit), `-L` (pisimmän rivin pituus) ja `-w` (sanat).

**14. xargs**

[Linux-komennolla `xargs`](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linuxin-xargs-komento/) voit siirtää edellisen komennon tulosteen uuden komennon argumentiksi. Yleensä tätä käytetään yhdessä Pipe-komennon (`|`) kanssa ohjausoperaattorina. Käytä `xargs` seuraavan syntaksin mukaisesti:

```bash
COMMAND1 | xargs [OPTIONS] COMMAND2
```

`xargs` voidaan käyttää esimerkiksi yhdessä komennon `find` kanssa. Seuraavassa esimerkissä `find` etsii nykyisestä hakemistosta kaikki tiedostot, jotka vastaavat hakutermiä `*.tmp`, ja tulostaa niiden nimet vakiotulostukseen. Sieltä tiedostonimet `xargs` otetaan vastaan ja välitetään argumentteina komennolle `rm`.

```bash
find . -name '*.tmp' | xargs rm
```

Tässä esitetty katsaus ei ole kattava, mutta se sisältää Linuxin peruskomentoja sekä valikoituja esimerkkejä niiden käytöstä unix-tyyppisten käyttöjärjestelmien päivittäisessä käytössä. Kattava kuvaus tässä esitellyistä komentoriviohjelmista sekä kaikista muista komennoista löytyy käyttöjärjestelmän käyttöoppaasta. Näiden ohje- ja dokumentaatiosivujen verkkoversio on saatavilla Michael Kerriskin [Linux man-pages -projektin](https://www.kernel.org/doc/man-pages/ "Linux man-pages project by Michael Kerrisk") kautta.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linux-komennot-katsaus-terminaalikomennoihin/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/linux-komennot-katsaus-terminaalikomennoihin/) for AI/LLM consumption.