HUOM! Voit itse lisätä ja muuttaa sisältöä muokkaa-painikkeiden avulla

 Olet itse vastuussa tämän teoksen käytöstä aiheutuvista vahingoista Lue lisää.

Unix

Kohteesta Wikikko - kansan taitopankki
Siirry navigaatioon Siirry hakuun

Yleistä[muokkaa]

Tämä sivu käsittelee Unix-järjestelmää, mutta monet komennot toimivat myös Linux-järjestelmässä ja osittain myös DOS-järjestelmässä. Mac OS X on merkitty tällä sivulla merkinnällä Darwin. Jos komento toimii vain Linux- tai Darwin-järjestelmässä, on se merkitty em. sanalla.

  • Tällä sivulla ---selitys: tarkoittaa ainostaan toiminnon selitystä eikä ole osa komentoa.

Komennot[muokkaa]

Unix sisältää yli 200 komentoa, joilla useilla on lukuisia erilaisia toimintoja. Komennot muistuttavat englannin kieltä ja lauserakennetta. Esimerkiksi who am i on eräs komento, mutta se on eri asia kuin whoami.

Yhteys palvelimeen[muokkaa]

  • Istunto aloitetaan kirjautumalla järjestelmään komentotulkin kautta. Esimerkiksi jonkin graafisen sovellusohjelman kautta tai pääteohjelmalla yksinkertaisimmillaan komennolla:
ssh käyttäjä[email protected]
    • Odota hetki kunnes kysyy salasanaa.
  • logout ---selitys: kirjautuminen ulos. Myös lo tai exit
    • There are suspended jobs. -ilmoitus kertoo että käynnissä on jotain. Anna komento jobs, josta saat prosessinumeron ja sitten komento: % kill -HUP %prosessinumero lopettaa työn.

Lataus palvelimelta[muokkaa]

  • scp käyttäjä[email protected]:/polku/tiedostonimi.txt /kohdepolku
  • Hakemisto alahakemistoineen: scp -r [email protected]:/path/to/folder /dest/local/path
    • -v: Näyttää kopioinnin etenemisen.

Komentotulkki[muokkaa]

  • ./ -viittaa siihen hakemistoon, jossa sillä hetkellä ollaan. Yhdistelmää käytetään ajamaan kyseisessä hakemistossa oleva ohjelma: ./ohjelmannimi
  • Tässä kohdassa voi olla Linux / Unix asiat sekaisin:
  • Shell on komentotulkki eli kommunikointi järjestelmän kanssa. Suosituin on bash, muita csh, tcsh, ksh, zsh, sh.
  • Kirjauduttaessa sisään bash-komentotulkki lukee aluksi /etc hakemistoa, josta noudetaan perusasetukset mallitiedostosta, sitten /kotihakemisto josta käyttäjän omat asetukset piilotiedostoista.
  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.login
  4. ~/.profile
  • Kirjauduttaessa ulos luetaan: ~/.bash_logout
  • chsh tulkinnimi ---selitys: vaihtaa tulkin
  • su ---selitys: Muuttuminen toiseksi käyttäjäksi kirjautumatta ulos. Superuser oletus on root -käyttäjä. Pyydetään salasana jolla oikeus voidaan myöntää. su käyttäjänimi vaihtaminen toiseksi käyttäjäksi. Jotkin toimenpiteet vaativat näitä oikeuksia ja sen voi vaihtaa yleisesti tai sitten komentokohtaiesti su komento Tuo myös vastuuta eli tuhoamismahdollisuudet järjestelmässä lisääntyvät ja vaikutukset voivat olla myös muihin käyttäjiin.
    • su -c "./make install" ---selitys: PUUTTUU
    • su käyttäjätunnus -c "jotain" ---selitys: toiminto tehdään annetulla käyttäjätunnuksella.

Uusi käyttäjä[muokkaa]

Kun uusi käyttäjä luodaan järjestelmään, käyttäjän kotikansioon kopioidaan tiedostot, jotka ovat kansiossa /etc/skel

Screen[muokkaa]

  • screen ---selitys: päätetilassa toinen pääte
  • screen -list ---selitys: listaus
  • pois ctrl-ad tai exit

Näppäimistöt[muokkaa]

  • > on merkki jonka jälkeen syötetään komentoja
  • välilyönnit erottelevat. Jos peräkkäin on useampi välilyönti tai sarkain, ne poistetaan ja jäljelle jätetään vain yksi välilyönti siihen kohtaan.
  • nuolinäppäin ylös/alas ---selitys: edellinen/myöhempi annettu komento
  • sarkain ---selitys: täydentää esimerkiksi hakemistonimen kun syöttää muutamia alkukirjaimia
  • q näppäimellä pääsee usein pois toiminnoista kuten man, less jne. Myös ctrl-c tai ctrl-z voi toimia jos toiminto jää "jumiin".
  • r tarkoittaa usein recursive tai reserve. Recursive tarkoittaa että kyseisestä hakemistosta kaikki hakemistot siitä eteenpäin. Reserve tarkoittaa käänteinen järjestys.

Windows[muokkaa]

  • aaltoviiva ~ AltGr-näppäin enterin vieressä jossa kyseinen merkki
  • kenoviiva \ AltGr-+
  • putkimerkki | AltGr-<
  • ` Shift-näppäin jossa kyseinen merkki

Mac OS X[muokkaa]

  • aaltoviiva ~ alt-näppäin enterin vieressä jossa .. -merkki
  • kenoviiva \ shift-alt-7
  • putkimerkki | alt-7
  • ` Shift-näppäin jossa kyseinen merkki

Merkit[muokkaa]

* ei yhtäkään tai useampi merkki korvataan, esim. tiedosto* voisi tarkoittaa tiedostonimi tai tiedostoauto
? yksittäinen merkki korvataan, esim. tiedo?to voisi tarkoittaa tiedosto tai tiedonto
; useampi komento peräkkäin komento1 ; komento2 ;
| putkimerkki eli pipe eli yhdistetään useampi komento, esim. w | less
[] 
{}
$ yleensä ympäristömuuttujien edessä, esim. $PATH
& ohjelman siirtäminen taustajonoon, komento suoritetaan taustalla jolloin komentotulkki ei lukkiudu kuten normaalisti
#
()
!^
"
_ tiedostonimien välissä helpottaa tiedostonimien lukemista esim. takku_tukka
\" ohitetaan jokin merkeistä, tässä merkki "
< syöttölähde
> komennosta syntyvä syöte ohjataan eteenpäin (kirjoittamalla tiedosto uudestaan)
>> komennosta syntyvä syöte ohjataan eteenpäin (kirjoittamalla olemassaolevan tiedoston loppuun)

Editorit[muokkaa]

Emacs[muokkaa]

Ohjelmoijien suosima.

  • emacs tiedostonimi ---selitys: avaa tekstieditorin nimeltään Emacs
  • xemacs

Pico[muokkaa]

  • pico ---selitys: avaa tekstieditorin
  • pico tiedostonimi ---selitys: avaa vanhan tiedoston tai luo uuden tekstitiedoston
    • tekstiä voi kirjoittaa normaalisti, komennot editorissa annetaan ctrl -näppäimen (^) avulla.
    • Ctrl-a rivin alku, Ctrl-d poistaa merkin jonka päällä ollaan, Ctrl-e rivin loppu, Ctrl-k rivinpoisto, Ctrl-o tallentaa, Ctrl-r liittää tiedoston, Ctrl-u palauttaa tekstin, Ctrl-v näytän alaosaan, Ctrl-y näytön yläosaan, Ctrl-w haku, Ctrl-x lopetus, Ctrl-z lopetus

vi[muokkaa]

  • vi ---selitys: avaa tekstieditorin
  • vi tiedostonimi ---selitys: avaa olemassaolevan tiedoston tai luo uuden tekstitiedoston kyseisellä nimellä
  • esc asettaa editorin komennon vastaanottotilaan. PAINA TÄTÄ AINA ENNEN KOMENTOJA!
    • a tai i aloittaa tekstin kirjoittamisen jos ei muutoin ala suoraan. i=teksti ennen kursoria, a=teksti kursorin jälkeen
    • :w tallennus ja muokkauksen jatkaminen
    • :wq tallennus ja lopettaminen
    • :q poistuminen tallentamatta varmistaen
    • :q! poistuminen tallentamatta ilman varmistusta
    • ZZ painaminen tallentaa muutokset ja sulkee editorin
    • G siirtyy tiedoston loppuun
    • gg siirtyy tiedoston alkuun
    • 50G siirtyy tiedoston 50.:lle riville
    • shift-v ja voit värjätä useamman rivin ja painaa d jolloin ne poistuvat
    • 5dd poistaa sen rivin jossa kursori ja 4 seuraavaa
    • :50,100d poistaa rivit 50-100
  • http://www.cs.rit.edu/~cslab/vi.html

nano[muokkaa]

  • nano ---selitys: avaa tekstieditorin
  • nano ---selitys: avaa vanhan tiedoston tai luo uuden tekstitiedoston


gedit[muokkaa]

Gnome tekstieditori

  • gedit tiedostonimi ---selitys: avaa vanhan tiedoston tai luo uuden tekstitiedoston

Ohje[muokkaa]

Ohjetoiminto antaa komennoista laajalti tietoa. Kannattaa avata toinen ikkuna, jossa voi pitää avoinna ohjetta.

  • man cd ---selitys: komennoista ohjeita, esimerkiksi tässä cd-komennon ohjeet. Siirry eteenpäin välilyönti tai enter, lopeta q -näppäimellä.
  • man --cd ---selitys: tiivistetty ohje
  • man -k avainsana1 avainsana2 ---selitys: hakee kaikista ohjeista avainsanaa1 ja avainsanaa2
  • info cd ---selitys: komennosta cd ohje
  • whatis ls ---selitys: kertoo komennosta ls
  • apropos
  • xman

Hakemisto[muokkaa]

. työhakemisto eli missä hakemistossa sillä hetkellä ollaan sisällä.
~ käyttäjän juurihakemisto eli kotihakemisto. /home -hakemistopuun alainen hakemisto. Tämä on myö $HOME ympäristömuuttujan arvo.
/ tiedostojärjestelmän juurihakemisto (oletushakemisto) Tähän liittyy myös nimi absoluuttinen eli lähdetään juuresta.
  • Hakemistot rakentuvat puun muotoon, jossa järjestelmän juurihakemisto on ylimpänä ja se merkitään / Sen alle muodostuvat "rajattomasti" kaikki muut hakemistot eli alihakemistot. Käyttöoikeuksista riippuen oma kotihakemisto on jossain kohtaa tätä puuta ja tätä kutsutaan kotihakemistoksi, yleensä kotihakemisto on /home -hakemistopuun alla. Tarvittaessa hakemistoon tai alihakemistoon osoitetaan kyseisestä hakemistosta jossa ollaan tai sille voidaan antaa juurihakemistosta lähtevä polku. Jos hakemistoon ei pysty siirtymään, syynä voi olla esimerkiksi että sitä ei ole olemassa tai siirtyminen sinne on estetty oikeuksissa joissa tällöin puuttuu x -oikeus.
    • ls /etc ---selitys: tulostaa järjestelmän etc-hakemiston eli käyttämällä / -viivaa hakemiston edessä tarkoitetaan järjestelmän juurihakemistosta lähtevää absoluuttista polkua.
    • ls etc ---selitys: tulostaa käyttäjän etc-hakemiston jos sellainen on kotihakemiston alla
    • Polkujen ja . ja ~ -lyhenteiden ymmärtäminen on oleellinen osa useita komentoja. Komentoa ei siis tarvitse mennä suorittamaan kyseiseen hakemistoon vaan komentoja voidaan antaa vaikka kotihakemistosta näitä käyttämällä. Usein näitä joutuu käyttämään mv ja cp -komentojen kanssa.
    • ../ katso suhteellisen polun -käyttö kohdasta Kopiointi ja siirto.
    • pwd ---selitys: kertoo missä hakemistossa par aikaa olet, sitä kutsutaan nimellä työhakemisto.
  • $HOME/Desktop/tiedosto.txt ---selitys: Työpöydällä oleva tiedosto.txt
  • cd hakemistonimi ---selitys: hakemistosta jossa komento annetaan siirrytään kotihakemiston alla olevaan hakemistonimi -nimiseen hakemistoon joka on siis alihakemisto
  • cd hakemistonimi/hakemistonimi2 ---selitys: siirtyminen kotihakemiston alla olevaan hakemistonimi/hakemistonimi2 -hakemistoon
  • cd /hakmistonimi/hakemistonimi2 ---selitys: siirtyminen järjestelmän juurihakemiston hakemistonimi/hakemistonimi2 -hakemistoon
  • cd / ---selitys: siirtyminen juurihakemistoon
  • cd .. ---selitys: hakemistosta yhden hakemiston verran "taaksepäin" palaaminen
  • cd ~ ---selitys: palaaminen kotihakemistoon
  • cd ~käyttäjänimi ---selitys: siirtyminen kyseisen käyttäjän kotihakemistoon
  • cd ---selitys: paluu kotihakemistoon


  • ls ---selitys: hakemisto- ja tiedostolistaus
  • ls / ---selitys: tulostaa järjestelmän juurihakemiston
  • ls ~ ---selitys: tulostaa käyttäjän kotihakemiston
  • ls hakemistonimi/hakemistonimi2 ---selitys: tulostaa hakemistonimi2 -hakemiston
  • ls /hakemistonimi ---selitys: tulostaa järjestelmän juurihakemiston alihakemiston hakemistonimi
  • ls tied* ---selitys: tulostaa kaikki tied -alkuiset
  • ls [A-E]tiedosto ---selitys: tulostaa esim Ctiedosto tai Etiedosto
  • ls -l ---selitys: tarkempi listaus, mm. tavumäärinä koko. Tätä komentoa käytetään paljon.
  • ls -l tiedostonimi ---selitys: tulostaa tiedostonimi tiedoston tarkemmat tiedot
  • ls -l -tr ---selitys: tarkempi listaus järjestettynä päivämäärän mukaan nousevassa järjestyksessä tai ls -ltr
  • ls -lS ---selitys: tarkempi listaus koon mukaan laskevassa järjestyksessä. Linux.
  • ls -a ---selitys: tulostaa myös piilotiedostot eli .tiedostonimi -tiedostot. Toimii myös ls -la
  • ls -a1 ---selitys: tulostaa myös piilotiedostot ja tulostaa ne yhdessä sarakkeessa
  • ls -l | less ---selitys: tarkempi listaus rivi kerrallaan
  • ls | paste - - - ---selitys: tulostaa hakemiston niin monessa sarakkeessa kuin viivoja välilyönnillä erotettuna.
  • ls -l | tee tiedostonimi ---selitys: luo tiedoston tiedostonimi joka sisältää tarkat tiedot hakemistosta
  • ls -l > tiedostonimi ---selitys: luo tiedoston tiedostonimi joka sisältää tarkat tiedot hakemistosta
  • ls -ls | sort -n ---selitys: tulostaa tiedostot ja hakemistot nousevassa järjestyksessä tiedostokoon mukaan
  • ls -li | grep " -" | sort -nr ---selitys: tulostaa vain tiedostot laskevassa järjestyksessä tiedostokoon mukaan ja ilmoittaa koon kilotavuina
  • ls -li | grep " -" | wc -l ---selitys: tiedostojen lukumäärä hakemistossa
  • ls -F /bin/*sh ---selitys: tulostaa järjestelmästä löytyvät komentotulkit
  • ls -AlF ---selitys:


  • mkdir uusihakemistonimi ---selitys: luo uuden alihakemiston sen hakemiston alle, jossa komento annetaan
  • mkdir hakemistonimi/uusihakemistonimi ---selitys: luo uuden alihakemiston joka sijoitetaan hakemistonimen alle
  • rm tiedostonimi ---selitys: poistaa tiedoston, y tai n -varmistus. Palauttaa ei voi!
  • rmdir hakemistonimi ---selitys: poistaa etukäteen tyhjennetyn hakemiston. Hakemisto oltava siis tyhjä ennen kuin se voidaan poistaa. Palauttaa ei voi!
  • rm -r hakemistonimi ---selitys: poistaa täyden hakemiston alahakemistoineen ja tiedostoineen. Pyytää varmennuksen examine johon vastataan poistettaessa y.
  • sudo rm -r hakemistonimi ---selitys: jos virheilmoitus Operation not permitted tai Finderissa ei onnistu poistaminen
  • rm -r * ---selitys: poistaa kaikki hakemistot ja niiden alahakemistot siitä missä komento annetaan. Ei siis tuhoa "ylöspäin", mutta voi aiheuttaa korvaamatonta tuhoa jos annetaan hakemistopuussa liian "ylhäällä".
  • rm * ---selitys: poistaa kaikki tiedostot siinä hakemistossa jossa ollaan. Ei tuhoa siis hakemistoja.
  • rm -rv tiedostonimi ---selitys: v = näyttää jokaisen tiedoston nimen hakemistoja poistaessa
  • rm -rf hakemistonimi/* ---selitys: f = force eli ignore nonexistent files and arguments, never prompt
  • rm -P tiedostonimi ---selitys: poistaa OSX-järjestelmässä turvallisesti tiedoston eli kirjoittaa kolme kertaa päälle
  • rm -rP hakemistonimi ---selitys: poistaa OSX-järjestelmässä turvallisesti hakemiston tiedostoineen eli kirjoittaa kolme kertaa päälle

Etsintä[muokkaa]

  • which ohjelmanimi ---selitys: näyttää hakemistopolun ohjelmaan. Esm. kun sh: Command not found
  • grep haettavateksti tiedostonimi ---selitys: hakee tiedostosta annettua tekstiä ja tulostaa ne jos löytyy
  • grep "ensimmäinensana toinensana" /polku/tiedosto ---selitys: hakee lausetta järjestelmän juurihakemistosta annetusta polusta
  •  ?? find / -name 'tiedostonimi.pääte' ---selitys: hakee tiedostonimi.pääte sijainnit ??
  • find . ---selitys: tulostaa hakemistorakenteen
  • find ~ ---selitys: tulostaa hakemistorakenteen hakemistonimillä
  • find *.txt ---selitys: hakee tiedostot joiden pääte on .txt hakemistosta jossa komento annetaan
  • find . -name "*.txt" ---selitys: hakee tiedostot joiden pääte on .txt hakemistosta jossa komento annetaan ja sen alihakemistoista
  • find . -mtime -3 ---selitys: arvo on tosi jos tiedostoa on muokattu 3 päivän sisällä
  • find komentoa voidaan käyttää apuna esimerkiksi tiedostojen ja hakemistojen oikeuksien asettamiseen tietyille tiedostoille.
  • awk ---selitys: katso grep
  • sed ---selitys: PUUTTUU
    • last | sed '/teksti/d' > tiedostonimi ---selitys: PUUTTUU
  • find . -printf '%s %p\n'| sort -nr | head -10 ---selitys: etsii 10 suurinta tiedostoa

Kopiointi ja siirto[muokkaa]

  • cp tiedostonimi uusitiedostonimi ---selitys: tekee tiedostosta kopion (alkuperäinen säilyy muuttumattomana) samaan hakemistoon ellei uusitiedostonimi ole hakemisto. Tällöin tekee kopion kyseiseen hakemistoon.
  • cp tiedostonimi kohdehakemisto/uusitiedostonimi ---selitys: tekee tiedostosta kopion hakemistoon kohdehakemisto nimellä uusitiedostonimi
  • cp lahdehakemisto/tiedostonimi uusitiedostonimi ---selitys: kopioi lähdehakemistosta tiedoston tiedostonimi hakemistoon jossa ollaan nimellä uusitiedostonimi
  • cp lahdehakemisto/tiedostonimi ~ ---selitys: kopioi lähdehakemistosta tiedoston tiedostonimi käyttäjän kotihakemistoon
  • cp lahdehakemisto/tiedostonimi . ---selitys: kopioi lähdehakemistosta tiedoston tiedostonimi hakemistoon jossa komento annetaan
  • cp lahdehakemisto/tiedostonimi $HOME ---selitys: kopioi lähdehakemistosta tiedoston tiedostonimi käyttäjän kotihakemistoon
  • cp lahdehakemisto/tiedostonimi / ---selitys: kopioi lähdehakemistosta tiedoston tiedostonimi järjestelmän juurihakemistoon
  • cp tiedostonimi ../ ---selitys: kopioi tiedoston tiedostonimi edelliseen hakemistoon. ../../ kopioisi edellistä edelliseen. Näitä kutsutaan suhteellinen polku.
  • cp /lahdehakemisto/tiedostonimi ../hakemistonimi ---selitys: kopioi tiedoston tiedostonimi järjestelmän juurihakemiston alihakemistosta sitä hakemistoa jossa ollaan edellisen hakemiston alihakemistoon hakemistonimi
  • cp -p tiedostonimi uusitiedostonimi ---selitys: kopioi tiedoston identtisesti samalla päivämäärällä kuin alkuperäinen
  • cp -r lahdehakemisto/hakemisto/ ~ ---selitys: kopioi hakemiston ja sen alihakemistot kotihakemistoon. Linux
  • cp -R lahdehakemisto /kohdehakemisto ---selitys:


  • mv tiedostonimi kohdehakemisto ---selitys: siirtää alkuperäisen tiedoston annettuun kohdehakemistoon. Tuhoaa samannimiset tiedostot!
  • mv tiedostonimi uusitiedostonimi ---selitys: siirtää alkuperäisen tiedoston samaan hakemistoon muuttaen tiedoston nimen.

Kaikki tiedostot alikansioista istäntähakemistoon[muokkaa]

  • find . -mindepth 2 -type f -print -exec mv {} . \; ---selitys: Siirtää alikansioiden tiedostot niiden isäntähakemistoon

Lajittelu[muokkaa]

  • sort tiedostonimi ---selitys: lajittelee ensimmäisen sanan mukaan nousevasti
  • sort +2 tiedostonimi ---selitys: lajittelee kolmannen sanan mukaan nousevasti
  • sort +2r tiedostonimi ---selitys: lajittelee kolmannen sanan mukaan laskevasti

Alias[muokkaa]

Alias on komento joka suorittaa jotain.

  • alias tyyny ls -l ---selitys: antamalla komennon tyyny toteutetaan komento ls -l
  • alias ---selitys: listaa käytössä olevat aliakaset
  • unalias tyyny ---selitys: poistaa aliaksen tyyny

Linkit[muokkaa]

  • ln -s polku/linkitettävätiedostonimi.txt uusinimi ---selitys: Symbolinen linkki. Kuin pikakuvake.
  • ln polku/linkitettävätiedostonimi.txt uusinimi ---selitys: Kova linkki. Tiedoston toinen nimi eli uusinimi tiedostoon tehty muutos vaikuttaa linkitettävätiedostonimi -tiedostoon

Tiedosto-oikeudet[muokkaa]

Katso Wikikon sivu Tiedosto-oikeudet

Tietoa palvelimesta/järjestelmästä ym.[muokkaa]

  • date ---selitys: päivämäärä ja aika
  • date +%D ---selitys: vain päivämäärä pp/kk/vv muodossa
  • date +%T ---selitys: vain kellonaika
  • finger tai finger käyttäjänimi ---selitys: palvelimeen rekisteröidyistä käyttäjistä tietoa
  • /etc/passwd ---selitys: järjestelmän käyttäjät löytyvät tästä hakemistosta. Käytä esim. cat tai grep kanssa.
  • quota ---selitys: pehmeä levytilan määrä jonka voi ylittää hetkellisesti ennen kuin tiedot poistetaan automaattisesti. jos levytila ylitetty tulostetaan tietoa.
  • quota -v ---selitys: käyttäjälle määritetyn levytilan kokonaismäärä ja käytetty määrä kilotavuina
  • uname ---selitys: käytössä oleva käyttöjärjestelmä. Esim Mac OS X ilmoittaa Darwin ja Unix voi ilmittaa SunOS
  • uname -r -p ---selitys: -r = kernel versio p=PUUTTUU
  • who am i ---selitys: tarkat tiedot itsestä
  • whoami ---selitys: oma käyttäjänimi
  • who ---selitys: palvelimella sillä hetkellä kirjautuneena olevista käyttäjistä tietoa, esim. palvelimeen kirjautumisaika. Esim. who käyttäjänimi
  • w ---selitys: palvelimella sillä hetkellä kirjautuneena olevista käyttäjistä laajemmin tietoa
  • more /etc/passwd | wc -l ---selitys: käyttäjätunnusten määrä
  • whatis ls ---selitys: kertoo komennosta ls
  • whereis wget ---selitys: kertoo missä hakemistossa on wget -komento
  • file tiedostonimi ---selitys: tietoa tiedostosta
  • touch -t ---selitys: asettaa tiedostolle uuden päivämäärän. TARKENNA TÄTÄ KOHTAA
  • last ---selitys: käyttäjien sisään- ja uloskirjautumishistoria
  • lastlog ---selitys:
  • df ---selitys: kovalevyn tila
  • free ---selitys: RAM-muistin tila. Linux.
  • top ---selitys: CPU:lla työn alla
  • ps ---selitys: prosesseja meneillään. PID=prosessin tunnus, TTY=päätenumero, STAT=status eli lepo,pysähtynyt,aktiivinen, TIME=paljonko käyttänyt prosessiaikaa, CMD=
  • ps -a ---selitys: näyttää daemonit?? jotka valvovat toimintoja ja laitteita ?? TARKENNA
  • locate tiedostonimi ---selitys: näyttää tiedostonimi sijainnin tiedostojärjestelmässä. Linux.
  • ping iposoite ---selitys: Linux.
  • cat /etc/passwd ---selitys:
  • sudo cat /etc/shadow ---selitys:
  • netstat -ltnu ---selitys:
  • sudo netstat -ltnup ---selitys:
  • df -h ---selitys:
  • sudo pvdisplay ---selitys:

Syöttö ja tulostus[muokkaa]

  • jos tiedoston eteen laitetaan piste (.) niin tiedosto piilotetaan hakemistoon (piilotiedosto) ja näkyy vain ls -a komennolla. Esim echo teksti > .tiedostonimi
  • echo teksti ---selitys: tulostaa sanan teksti näytölle
  • echo teksti > tiedostonimi ---selitys: tekee tiedostonimi -tiedoston joka sisältää teksti -sanan tai kirjoittaa olemassaolevan tiedostonimi-tiedoston päälle
  • echo teksti >> tiedostonimi ---selitys: muutoin kuin edellinen mutta lisää tiedoston loppuun sanan teksti eli ei tuhoa alkuperäistä
  • echo teksti | tee tiedostonimi ---selitys: tekee tiedostonimi -tiedoston joka sisältää teksti -sanan tai kirjoittaa olemassaolevan tiedostonimi-tiedoston päälle
  • date >> tiedostonimi ---selitys: lisää tiedoston tiedostonimi loppuun päiväyksen tai jos tiedostoa ei ole perustaa sen samalla.
  • date > tiedostonimi ---selitys: kirjoittaa tiedoston tiedostonimi päiväyksellä ja jos tiedosto jo on kirjoittaa sen päälle kysymättä.
  • touch tiedostonimi.txt ---selitys: tekee tiedostonimi.txt nimisen tyhjän tiedoston
  • date | tee tiedostonimi ---selitys: tekee tiedoston tiedostonimi joka sisältää päivämäärän
  • cat tiedostonimi ---selitys: tulostaa koko tiedoston yhteen pötköön
  • cat tiedostonimi >> tiedostonimi2 ---selitys: kopioi tiedostonimi -tiedoston sisällön tiedostonimi2 -tiedoston loppuun
  • less tiedostonimi ---selitys: tulostaa tiedoston rivi kerrallaan ekan näytön jälkeen. q lopettaa
  • more tiedostonimi ---selitys: tulostaa tiedoston näyttö kerrallaan, eteenpäin välilyönnillä (näytöllinen) tai enterillä (riveittäin). q lopettaa
  • ( line ; line ) ---selitys: tulostaa kaksi riviä jostain tulosteesta
  • head -2 ---selitys: tulostaa kaksi riviä jostain tulosteesta
  • tail -2 ---selitys: tulostaa kaksi viimeistä riviä jostain tulosteesta TARKISTAMATTA
  • wc ---selitys: tulostaa rivien, sanojen ja merkkien määrän tai wc tiedostonimi
  • wc -l ---selitys: tulostaa rivien määrän
  • echo `date` `pwd`---selitys: tulostaa päiväyksen ja kotihakemiston

Kalenteri[muokkaa]

  • cal 2013 ---selitys: näyttää vuosikalenterin. Sunnuntai ensimmäinen päivä.
  • cal -m 2013 ---selitys: maanantai ensimmäinen päivä. Linux.

Pakkaus ja purku[muokkaa]

Zip[muokkaa]

  • .zip päätteiset tiedostot
  • zip -r tiedostonimi.zip tarvittaessa_polku_ja_mitä_pakataan ---selitys: Pakkaa tiedoston tai hakemiston
  • zip -r tekstit.zip *.txt ---selitys: pakkaa hakemistossa jossa ollaan .txt loppuiset
  • zip -r tiedostonimi.zip `find . -name "*.txt"` ---selitys: pakkaa oletushakemiston ja sen alihakemistot
  • unzip tiedostonimi ---selitys: purkaa pakatut pakkauksen hakemistorakenteen mukaisesti
  • unzip -j tiedostonimi ---selitys: purkaa kaikki pakatut hakemistot samaan kohdekansioon

Tar[muokkaa]

Purku[muokkaa]

  • tar.gz päätteiset tiedostot
    • gunzip tiedostonimi.tar.gz ---selitys: purkaa .tar.gz -tiedoston .tar -tiedostoksi jonka jälkeen tar -xvf-purkukomento
    • tar -zxvpf nimi.tar.gz ---selitys: purkaa .tar.gz -tiedoston kokoonaan. z=unzip ensiksi, x= pura, v=mitä puretaan, p=purkaa päivämäärän ja oikeudet alkuperäisenä
    • tar -xvf tiedostonimi ---selitys: x=purku, v=lisätietoa, f=lähde on tiedosto. f pitää sijoittaa aina viimeiseksi!
    • tar -zxvf tiedostonimi ---selitys: z=
    • tar -tvf tiedostonimi ---selitys: t=ei pura vaan kertoo mistä pakettu tiedosto koostuu
    • .tgz on pakattu ja arkistoitu
  • tar päätteiset tiedostot
    • tar xvf tiedostonimi.tar ---selitys: purkaa .tar -tiedoston.

Pakkaus[muokkaa]

  • tar -cvf tiedostonimi.tar tiedostot ---selitys: pakkaa tiedostot. c=create. f pitää sijoittaa aina viimeiseksi!
  • tar -cvf tiedostonimi.tar * ---selitys: pakkaa hakemiston missä ollaan ja alihakemistot
  • tar -czvf tiedostonimi.tar.gz * ---selitys: pakkaa ja tiivistää samalla
  • tar -czpf tiedostonimi.tar.gz * ---selitys: pakkaa ja tiivistää samalla alkuperäisillä tiedostopäivämäärillä ja oikeuksilla TARKASTETTAVA

gzip[muokkaa]

Toiminto tiivistää pakatun tiedoston määrätyllä laadusta välillä 1-9.

  • .gz päätteiset tiedostot
  • gzip tiedostonimi.tar ---selitys: pakkaa tiedoston jolloin siitä tulee tiedostonimi.tar.gz
  • gzip -5 tiedostonimi.tar ---selitys: pakkaa tiedoston pakkauslaadulla 5 asteikolla 1 huono - 9 hyvä
  • ls -AlF | gzip > hakemistogz ---selitys: gzip-pakkaa hakemistolistauksen tiedostoon nimeltä hakemistogz
  • zless pakattutiedostonimi ---selitys: näyttää pakatun tiedoston sisällön

bzip2[muokkaa]

  • bzip2 -dc tiedostonimi.tar.bz2 | tar xf_ ---selitys: PUUTTUU
  • bzip2 -c -d tiedostonimi.tar.bz2 | tar xvf ---selitys: PUUTTUU

rpm[muokkaa]

Linux. TÄSSÄ EPÄSELVYYTTÄ

  • rpm -q tiedostonimi ---selitys: onko jo asennettu kysely
  • rpm -e tiedostonimi ---selitys: poistaa jo asennetun
  • rpm -U tiedostonimi ---selitys: poistaa jo asennetun ja asentaa uuden eli päivitys
  • rpm -iv tiedostonimi ---selitys: i=asennus eli purkaa ja sijoittaa tiedostot hakemitoihin
  • rpm -ivh --replacepkgs tiedostonimi ---selitys: asentaa saman paketin uudestaan päälle
  • rpm -ivh --replacefiles tiedostonimi ---selitys: jos konflikteja jo asennettujen pakettien kanssa
  • rpm -e tiedostonimi ---selitys: poistaa asennuksen

Turvallisuus[muokkaa]

md5sum[muokkaa]

  • Linux. md5sum omapaketti > omapaketti.md5 ja sitten tarkistus md5sum -c omapaketti.mdf

gpg[muokkaa]

  • pgp -import tiedostonimi.asc
  • gpg -verify tiedostonimi.tar.gz.asc

Tiedoston siirto[muokkaa]

Tietokoneelta työntäen palvelimelle OSX[muokkaa]

scp -r ~/Desktop/tiedostonimi/ käyttäjä[email protected]:~/public_html/kansio/

Palvelimelta hakien tietokoneelta OSX[muokkaa]

scp -r osxkäyttäjä[email protected]:~/Desktop/tiedostonimi/ ~/public_html/kansio/

Linkkien lataaminen massana[muokkaa]

Kotisivuilta löytyy ajoittain hakemistoja, joissa pdf, doc tms. on listattuna kuin tietokoneen kovalevyllä. Jos tällainen lista tiedostoja osoittautuu niin mielenkiintoiseksi, että se halutaan ladata, voi sen tietysti tiedosto kerrallaan ladata selaimen kautta. Seuraavalla komennolla voit ladata yhdellä komennolla.

  1. Tee esimerkiksi työpöydälle uusi kansio, johon tiedostot ladataan ellet muodosta niistä suoraan zip-tiedostoa. Saattaisihan olla ikävää jos lataat 500 tiedostoa ja ne ilmestyvät kaikki työpöydälle.. Etsi selaimen osoiterivillä se hierarkiassa ylin hakemisto, josta alkaen haluat tallentaa. l-attribuutilla voit määritellä miten syvälle alihakemistoihin tallennus ulotetaan.
  2. Avaa Pääte-ohjelma ja siirry kyseiseen kansioon cd -komennolla
  3. wget -r -np -l 0 - A http://www.domain.fi tai wget -r -np -l 0 - A zip http://www.domain.fi/kansio/
    1. helpointa on kun kopioit tuon komennon Pääte-ohjelmaan, jätät välilyönnin ja vedät hiirellä siihen perään selaimesta osoitteen.
-r eli recursive eli ladataan annetusta hakemistosta ja sen alahakemistoista miten -l määrää
-l eli level eli alahakemistojen määrää joista haetaan. inf tai 0 on rajaton
-np eli no-parent eli ei ladata isäntähakemistosta eli annettua "ylempää"
-A eli accept eli pilkulla erotetltuna ladataan vain halutut tiedostopäätteet
zip eli että tiedostot pakataan saman tien yhdeksi tiedostoksi

SSH[muokkaa]

Katso Wikikon sivu SSH

Tulostus[muokkaa]

  • lp tiedostonimi ---selitys: tulostaa oletuskirjoittimelle
  • lpq ---selitys: näyttää onko jotain tulostusjonossa
  • lprm ---selitys: tuhoaa ensimmäisen tulostusjonosta
  • lpstat -a ---selitys: kertoo oletustulostimen tilan

Postilaatikko[muokkaa]

mailto[muokkaa]

Yksinkertaisin tapa lähettää sähköpostia on kirjoittaa komento mailto [email protected] Seuraavalla rivillä kysytään otsikko ja sitten on tilaa kirjoittaa viesti. Kun haluat lähettää paina ctrl-d ja saat vastauksen EOT ja viesti on lähtenyt vastaanottajalle.

mail[muokkaa]

Katso sivu Mac vinkit.

mailx[muokkaa]

  • Tiedoston lähettäminen sähköpostiin otsikolla on yksinkertaisinta: mailx -s "Otsikko tähän" [email protected] < tiedostonimi

Pine[muokkaa]

Sähköpostiohjelma. Komento pine käynnistää sähköpostiohjelman, jonka jälkeen siinä liikutaan nuolinäppäimillä, kirjaimilla ja enterillä. Osa toiminnoista annetaan ctrl-kirjain. Sähköpostiosoitteet anna normaalisti. Ensimmäisellä kerralla ohjelma luo kansion mail

  • ls $MAIL ---selitys: näyttää MAIL -ympäristömuuttujan sisällön.
    • Komento toimii vasta kun lähetät itsellesi postia eli saapuneet kansiossa on postia. Jos et tiedä osoitetta lähetä ensin posti pine:stä johonkin käyttämääsi sähköpostiosoitteeseen ja käy sieltä vastaamassa kyseiseen postiin. Voit lukea sähköpostisi Folder list -kohdasta.
  • kirjautumisessa virheilmoitus Terminal type "xterm-256color", is unknown. Tarkista terminaali echo $TERM. Ratkaisu voi olla export TERM=xterm tai avaa editorilla nano ~/.profile ja lisää sinne rivit TERM="xterm" ja export TERM ja käynnistä pääte uudestaan. Aseta samalla Mac OS X Pääte/Asetukset/Lisäasetukset/Aseta päätteen tyypiksi: xterm

Ajastus[muokkaa]

crontab[muokkaa]

Töitä joita järjestelmä suorittaa ajastettuina ajankohtina. * tarkoittaa ettei väliä kyseisellä arvolla. Erotellaan välilyönneillä

  • min tunti päivä kuukausi viikonpäivä
    • min 0-59, tunti 0-23, päivä 1-31, kuukausi 1-12, viikonpäivä 0-7 0=sunnuntai
    • Esimerkiksi: 30 7 * * * /hakemisto/tiedostonimi
  • crontab -l ---selitys: listaus ajastetuista töistä
  • crontab -e ---selitys: siirtyminen editoriin jossa ajastukset tehdään
  • /etc/cron.deny ja /etc/cron.allow ja /etc/cron.daily jne.

at[muokkaa]

  • at ---selitys: ajastin
  • atq ---selitys: kertoo mitä jonossa
at 13:30
at > last > $HOME/Kirjautumiset ---selitys: 13:30 muodostaa kotihakemistoon Kirjautumiset tiedoston joka sisältää sisään- ja uloskirjautumishistorian
  • etc/at.deny tai etc/at.allow keiltä käyttäjiltä kielletty ja sallittu

Sekalaisia[muokkaa]

  • kill ---selitys: Lopettaa ohjelman. Root-käyttäjänä kirjautuneena varo ettet lopeta ohjelmia joita muutkin käyttävät samanaikaisesti. Tarvitaan PID -numero joka saadaan esm. ps tai jobs -komennolla. kill PIDnumero. Myös killall tiedostonimi
  • mount ---selitys: Liittää esimerkiksi ulkoisen aseman tiedostojärjestelmään. Hakemisto käyttäytyy tämän jälkeen normaalisti hakemistopuussa.
  • adduser käyttäjänimi /etc/passwd ---selitys: lisää käyttäjän, GID ryhmänumero, UID käyttäjänumero. Linux.
  • userdel ---selitys: poistaa käyttäjätilin järjestelmästä
  • /etc/hosts.deny ---selitys: ALL:ALL estää käyttämästä järjestelmää, ALL:iposoite TARKENNA
  • /etc/hosts.allow ---selitys: kenellä lupa koneen palveluihin. Esim. cat /etc/hosts.allow
    • Esimerkiksi ALL:iposoite tai ALL EXCEPT iposoite tai sshd: .domain.fi, 999.999.
  • cat /etc/hosts ---selitys: verkkoon kuuluvat
  • lilo.conf ---selitys: boottaus?? TARKENNA
  • cut

Turvallisuus[muokkaa]

  • Aja ohjelmia root-oikeuksilla mahdollisimman vähän.
  • Pidä järjestelmän ohjelmat ajan tasalla
  • Säädä pääsy järjestelmään

Ohjelmat ym.[muokkaa]

  • Aja ohjelmia root-oikeuksilla mahdollisimman vähän.
  • Yksi "suositeltu" vaihtoehto voi olla että lataat ohjelman /tmp kansioon, purat, käännät ja saatat sen toimintaan ja vasta tämän jälkeen siirrät sen /usr/installed -kansioon
  • Skriptin ajaminen suoraan mahdollista kun tiedoston ensimmäisellä rivillä on #!/bin/sh ja tiedosto-oikeudeksi asetetaan chmod u+x tiedostonimi

Ohjelman suorittaminen komentoriviltä[muokkaa]

  • ./ohjelmannimi

Ohjelmien kääntäminen (compile)[muokkaa]

Esimerkki 1[muokkaa]

.src tarkoittaa lähdekoodi.

  1. Lataa tiedostopaketti
  2. Pura tiedostopaketti
  3. Lue README -tiedosto jossa asennusohjeita
  4. .bin tiedoston oikeus ennen asennusta chmod a+x tiedosto.bin
  5. cd tiedostonimi
  6. ./cofigure ---selitys: jos ei pahoja virheitä siirry seuraavaan, muutoin korjaa virheet
  7. make ---selitys: tekee kääntämisen.
  8. make install tai su -c "./make install"
  9. mahdollisesti make clean ---selitys: MILLOIN?

php[muokkaa]

PHP-ohjelmointikieli

  • php -r ---selitys: php-komennon ajaminen TARKISTAMATTA
  • php -f tiedostonimi.phps ---selitys: php-tiedoston ajaminen. Ehkä myös php tiedostonimi.php TARKISTAMATTA

perl[muokkaa]

Perl-ohjelmointikieli

  • perl ---selitys: PUUTTUU

mysql[muokkaa]

Yhteys tietokantaan

  • mysqldump -u käyttäjätunnus -p salasana > tiedostonimi ---selitys: varmuuskopio TARKISTAMATTA

Ympäristömuuttujat[muokkaa]

  • Koodissa muuttujan edessä $ -merkki eli esim $PATH
  • env ---selitys: näyttää ympäristömuuttujat
  • export MUUTTUJANIMI="tietotähän" ---selitys: muuttujan anto. TARKISTAMATTA
  • $HOME ---selitys: kotihakemisto
  • $PATH ---selitys: polku
    • Lisätään: PATH = $PATH:/hakemisto/polku ja sitten export PATH Jos muutos halutaan pysyväksi laita .bash_profile -tiedostoon

Järjestelmähakemistot[muokkaa]

Tässä joitain järjestelmän käyttämiä hakemistoja

  • bin - ohjelmia
  • boot - kernel
  • dev - devices. /dev/null on musta-aukko johon tallennettu tieto häviää.
  • etc - asetukset
  • home - käyttäjien hakemistot
  • lib - kirjasto eli ohjelmien apuohjelmia
  • lost+found - palautetut tiedostot
  • mnt - ulkoiset asemat
  • proc - aktiiviset prosessit. ÄLÄ KIRJOITA TÄNNE MITÄÄN!
  • root - suojattu muilta
  • sbin - ohjelmia root-käyttöön
  • tmp - väliaikaistiedostot. Tyhjennä välillä
  • usr - tiedostot kaikille käyttäjille
  • var - kokoa vaihtavat tiedostot

Esimerkkejä[muokkaa]

Ajastettu varmuuskopio[muokkaa]