Linuxin peruskomennot


Apua!, Hakemistoihin liittyviä komentoja, Tiedostoihin liittyviä komentoja

Tässä osassa tutustutaan Linuxin (Unixin) komentotulkkiympäristön peruskomentoihin. Toisin kuin DOS-ympäristössä, kaikki nämä ovat omia pieniä ohjelmiaan, jotka löytyvät yleensä /bin-hakemistosta. DOS:ssahan suurin osa näistä sisältyi suoraan komentotulkkiin (COMMAND.COM-niminen tiedosto).

Aiheesta lisää tietoa löydät mm. Kari Lehtosen Unix-oppaasta, http://www.teli.stadia.fi/~lehtonen/Unix/unix.htm tai Jukka Korpelan vastaavasta, http://www.cs.tut.fi/~jkorpela/unix/


Apua!

Perinteisesti Unix-ympäristöistä on löytynyt man-komento. Se löytyy myös Linuxista. Jos siis tarvitset apua jonkun komennon toiminnoista, kirjoita

man komento

jossa "komento" on komento, josta tarvitset apua. Esimerkiksi

man ls

näyttää ls-komennon manuaalisivun.

man man

näyttää man-komennon manuaalisivun, eli mitä kaikkea sillä voi tehdä. Jos taas haluat etsiä hakusanojen avulla, apropos-komento on silloin tarpeen:

apropos edit

etsii komentoja/ohjelmia, joiden kuvaukseen liittyy sana "edit". man -k edit (k == keywords) toimii samoin

Koska Linuxin komennot ovat unix-komentojen GNU-versioita (ks. http://www.gnu.org), ne osaavat yleensä --help -option, jolla saa lyhyen opasteen komentoon:

ls --help

näyttää komennon ls lyhyen opasteen, lähinnä sen optiot.

Linux osaa myös info-komennon. Se on eräänlainen hypertekstijärjestelmä tekstitilassa. Esimerkiksi komennon info ls ensimmäinen ruutu näyttää tältä:

info-komennon näyttö

Hypertekstilinkit alkavat tähdellä (*) ja päättyvät kahteen kaksoispisteeseen (::). Viemällä kursorin näiden väliin ja painamalla enteriä pääsee eteenpäin. Q-kirjaimella (quit) poistutaan.

Yleisesti ottaen info on hankala ja kankea komento käyttää. Onneksi samat sivut löytää myös graafisen tilan helpin kautta. Tätä kautta näiden hahmottaminen on paljon helpompaa:

info-sivut Gnomen kautta

Hakemistoihin liittyviä komentoja

ls - näyttää hakemiston sisällön.

Tavallisia optioita:

ls -a - näyttää kaikki tiedostot. Normaalistihan ls ei näytä pisteellä alkavia tiedoston nimiä (esim. .forward), vaan nämä ovat Linuxissa ns. piilotiedostoja. -a näyttää nämäkin.

ls -l - pitkä tiedostolistaus:

ls -l
total 109
drwxr-xr-x    2 kuivanen user           9 Mar  9  1999 Mail
drwxr-xr-x    2 kuivanen user           9 Mar  9  1999 News
drwxr-xr-x    2 kuivanen user         156 Sep 13 21:11 bin
-rw-------    1 kuivanen user         578 Sep 10 12:46 dead.letter
-rw-r--r--    1 kuivanen user       12480 Nov 28  1998 eyetest.gif
drwxr-xr-x    2 kuivanen user          65 Feb  4  1998 htmlvara
drwxr-xr-x    2 kuivanen user          57 Sep 13 14:08 kokeilut
drwx------    2 kuivanen user        4096 Sep 17 13:29 mail
drwxr-xr-x    2 kuivanen user        4096 May 11 13:14 public_html
drwx------    2 kuivanen user        4096 Sep  2  1998 ryhmat
-rw-r--r--    1 kuivanen user       27136 Feb  5  1999 tiedote.doc

Listasta näkyvät seuraavat asiat:

  1. ensimmäinen merkki kertoo tiedoston tyypin: 'd' on hakemisto, '-' on tavallinen tiedosto ja 'l' on symbolinen linkki. Tyyppejä on muitakin, mutta nämä ovat tavallisimmat.
  2. seuraavat yhdeksän merkkiä (esim. rwxr-xr--) kertovat oikeudet. Viiva merkitsee oikeuden puuttumista, kirjaimet r = luku-, w = kirjoitus ja x = suoritusoikeus).
  3. luku (2 tai 1 esimerkkilistauksessa) kertoo linkkien lukumäärän ko. tiedostoon (nimi rivin viimeisenä)
  4. kuivanen on tiedoston omistaja. Joku omistaa aina jokaisen tiedoston
  5. user on ryhmä, johon tiedosto kuuluu. Sen lisäksi, että tiedoston omistaa joku, tiedosto kuuluu myös johonkin ryhmään.
  6. tiedoston koko on seuraavana.
  7. sitten muokkaus/luontipäiväys (ja kellonaika)
  8. lopuksi tiedoston/hakemiston nimi.

cd - vaihtaa hakemistoa

cd palaa kotihakemistoon.
cd hakem siirtyy työhakemiston alihakemistoon "hakem". Tai: jos hakemistoa ei ole olemassa, katsotaan CDPATH -muuttujasta, josko siellä olevista hakemistoista löytyisi.
cd .. siirrytään yksi hakemistotaso ylöspäin.
cd - siirtyy hakemistoon, jossa olit juuri ennen työhakemistoosi siirtymistä. Kätevä silloin, jos olet käyttänyt absoluuttista polkua ja hypännyt toiseen hakemistoon aivan toiselle puolelle hakemistopuuta.

mkdir hakem

luo uuden hakemiston nimeltään "hakem". Huomaa, hakemistoja voit luoda useita kerralla:

mkdir eka toka kolmas toka/neljas

luo neljä hakemistoa, joista viimeinen luodaan toka-hakemiston alle.


rmdir hakem

poistaa tyhjän hakemiston nimeltään "hakem". Huomaa, rm-komentoa voi myös käyttää hakemistojen poistamiseen. Sen avulla voit lisäksi hävittää tiedostot hakemistoista.


Tiedostoihin liittyviä komentoja

cp - kopioi tiedostoja. Edellyttää kirjoitusoikeuden hakemistoon, jonne kopioidaan.

cp /bin/ls .

kopioi /bin-hakemistosta tiedoston ls työhakemistoon.
cp f* /home/ile kopioi työhakemistosta f-alkuiset tiedostot hakemistoon /home/ile.

Huomaa: Jos kopioidaan useita tiedostoja, kopioinnin kohteen tulee olla hakemisto. Yhden tiedoston voi kopioida myös toiseksi tiedostoksi.


mv - siirtää tiedostoja (nimeää niitä uudelleen).

mv eka toka

nimeää tiedoston "eka" tiedostoksi "toka".
mv f* /home/ile siirtää työhakemistosta f-alkuiset tiedostot hakemistoon /home/ile.


rm - poistaa tiedostoja.

rm eka

poistaa tiedoston "eka".
rm -i f* poistaa työhakemistosta f-alkuiset tiedostot kysyen joka kierroksella varmistuksen asiasta. Jos vastaat jotain muuta kuin 'y', ei poista.
rm -r hakem poistaa hakemiston "hakem" tiedostoineen ja alihakemistoineen. Varoitus! Käsky ei kysele yhtään mitään varmistuksia, vaan poista aivan suoraan. Linuxissa ei ole mitään undelete-toimintoa, joten ole ihmeessä tarkkana siinä, mitä kaikkea oikein poistat.


ln - luo linkin tiedostoon.

Symbolinen linkki on ikäänkuin "alias" tiedoston nimelle. Symbolisen linkin avulla voidaan jättää tiedosto omaan hakemistoonsa ja jos joku ohjelma hakee tiedostoa jostain muualta, luodaan siihen hakemistoon symbolinen linkki alkuperäiseen sijaintiin. Näin ollen ei tarvitse kopioida tiedostoa useaan paikkaan, vaan säästetään näin levytilaa sekä helpotetaan ylläpitoa (version muuttuessa ei tarvitse suorittaa kopiointi kuin alkuperäiseen paikkaan).

ln -s /bin/ls ls

luo työhakemistoon symbolisen linkin "ls", joka viittaa tiedostoon /bin/ls.


Alkuun