Kapsin logo

Kapsi Internet-käyttäjät ry

Shell-opas

Shell on UNIX-pohjaisen järjestelmän komentorivi. Joistakin yhtäläisyyksistä huolimatta Unixin shell on huomattavasti monelle tuttua DOS-kehotetta kehittyneempi. Erityisen hyödyllinen shell on järjestelmien etäkäytössä ssh-yhteyden kautta. Tässä ohjeessa perehdytään lyhyesti yleisimmän shellin, eli bash-tulkin tärkeimpiin komentoihin.

Koska shellin kautta voi suorittaa vapaasti komentoja järjestelmässä, on tärkeää huolehtia turvallisuudesta. Yhteyttä ei kannata jättää auki, jos poistut koneelta, ja salasana kannattaa vaihtaa säännöllisesti. Shellin salasanan vaihtaminen neuvotaan erillisessä ohjeessa.

Liikkuminen tiedostojärjestelmässä

Hakemistojen vaihtaminen onnistuu cd-komennolla, ja hakemiston sisällön voi tarkistaa käskyllä ls. Erityisen hyödyllinen ominaisuus bash-tulkissa on tiedostonimien täydentäminen sarkainnäppäimellä ("tab"), joka kahdesti painettuna listaa lisäksi mahdolliset vaihtoehdot.

# Yksinkertainen tiedostolistaus
user@lakka:~$ ls
Mail  mbox public_html

# ls -a listaa myös piilotiedostot, joiden nimi alkaa pisteellä
# . ja .. viittaavat nykyiseen ja hierarkiassa ylempään hakemistoon
user@lakka:~$ ls -a
.  ..  .bash_profile  .bashrc  Mail  mbox  public_html

# Siirrytään hakemistoon public_html.
# Nykyinen hakemisto näkyy komentokehotteessa, ~ tarkoittaa kotihakemistoa.
user@lakka:~$ cd public_html

# ls -l näyttää tiedoston nimen lisäksi mm. käyttöoikeudet
user@lakka:public_html$ ls -l
total 0
-rwxr-xr-x  2 user users 48 Jan  5 12:16 php.cgi
-rw-r--r--  1 user users  0 Jan  5 12:16 index.php

Huomioi: Risuaita (#) on shellin kommenttimerkki, jota on tässä ohjeessa käytetty komentojen selostukseen. Kommentteja ei tarvitse kirjoittaa käskyä kokeiltaessa.

Tiedostojen muokkaus

Shellin kautta voi käyttää monia eri editoreja, mutta nano on luultavasti helpoin oppia.

user@lakka:public_html$ nano index.php

Nanon muokkausikkunan alalaidassa näkyvät käytössä olevat näppäimet. Merkki ^ viittaa ctrl-näppäimeen, joten esimerkiksi nanon sulkeminen tapahtuu näppäinyhdistelmällä ctrl-x. Tiedostossa liikkuminen tapahtuu nuolinäppäimillä, ja tekstiä voi kirjoittaa suoraan kursorin kohdalle.

Tiedostojen käsittely

  • Kopiointi: cp lähde kohde
  • Siirtäminen: mv lähde kohde
  • Poistaminen: rm tiedosto
  • Hakemiston luominen: mkdir hakemisto
  • Tyhjän hakemiston poistaminen: rmdir hakemisto

Kopioinnin ja poistamisen voi tehdä myös rekursiivisesti lisäämällä valitsimen -r, jolloin komento koskee myös kaikkia alihakemistoja ja tiedostoja. Siirtäminen vaikuttaa aina koko hakemiston sisältöön.

Manuaalisivut

Kaikista tämän ohjeen ja useimmista muistakin komennoista on olemassa ohjesivu, jossa selostetaan ohjelman valitsimet ja toiminta. Manuaalisivut saa näkyviin komennolla man:

user@lakka:~$ man ls
LS(1)                            User Commands                           LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the FILEs (the current directory by default).
       ...

Manuaalisivua voi selata nuolilla, ja ohjelma sulkeutuu kirjaimella 'q' (englanninkielen sanasta quit). On kuitenkin huomioitava, että manuaalisivut ovat yleensä tarkoitettu lyhyeksi selostukseksi ohjelman parametreista. Enemmän dokumentaatiota löytyy /usr/share/doc -hakemistosta sekä nykyään helpommin myös Googlella.