Ero sivun ”Komentorivivinkkejä” versioiden välillä

Siirry navigaatioon Siirry hakuun
355 merkkiä poistettu ,  19. huhtikuuta 2005
muutin listan wikilistaksi
Ei muokkausyhteenvetoa
(muutin listan wikilistaksi)
Rivi 4: Rivi 4:




1. Komennolla df -h saat siistin esityksen levyosioiden täyttöasteesta.
# Komennolla df -h saat siistin esityksen levyosioiden täyttöasteesta.
# Sano roottina du -s /home/* | sort -n | tail ja löydät levyrohmut.
2. Sano roottina du -s /home/* | sort -n | tail ja löydät levyrohmut.
# Komennolla find . -type f -name "*koira*" -print0 | xargs -0 grep -l "kissa" löydät kaikki ne tiedostot työhakemiston alla, joiden nimessä on sana "koira" ja joissa esiintyy sana "kissa".
 
# mail-komento toimii myös komentorivillä. Voit vaikka suorittaa komennon ja ohjata tulostuksen meiliin: pwd | mail -s "Komennon pwd tulos" oma.osoite@domain.example
3. Komennolla find . -type f -name "*koira*" -print0 | xargs -0 grep -l "kissa" löydät kaikki ne tiedostot työhakemiston alla, joiden nimessä on sana "koira" ja joissa esiintyy sana "kissa".
# Haluatko kuluvan päivän esim. varmuuskopion nimeen? Kokeile tätä: tar cf /root/varmistus-home`date +%Y-%m-%d` Tuo aakkostuukin oikein.
 
# zcat-komennolla voit tulostaa gzip-ohjelmalla tehdyn tekstitiedoston suoraan konsolille ilman purkamista välissä. zless toimii samalla tavoin gzip- ja less-komentojen yhdistäjänä.
4. mail-komento toimii myös komentorivillä. Voit vaikka suorittaa komennon ja ohjata tulostuksen meiliin: pwd | mail -s "Komennon pwd tulos" oma.osoite@domain.example
# Kokeile tätä: echo "echo \"Vie kukkia\" | mail -s Hääpäivä oma.osoite@jossain.com" | at 09:00 06.04.02
 
# Jos kokeilet edellistä, muista oikea päivämäärä. Sillä tavalla ei tule perheriitaa, ja aikaa säästyy esim. Linuxin säätämiseen.
5. Haluatko kuluvan päivän esim. varmuuskopion nimeen? Kokeile tätä: tar cf /root/varmistus-home`date +%Y-%m-%d` Tuo aakkostuukin oikein.
# Aliakset ovat käteviä. Komennon alias l="ls -lda" jälkeen pelkkä l riittää komennoksi.
 
# Paina Ctrl-R komentokehotteessa ja kirjoita vaikka "ls", niin löydät viimeisimmän kirjoittamasi komennon jossa esiintyy kirjaimet "ls". Paina Ctrl-R uudelleen hakeaksesi kauempaa komentohistoriasta.
6. zcat-komennolla voit tulostaa gzip-ohjelmalla tehdyn tekstitiedoston suoraan konsolille ilman purkamista välissä. zless toimii samalla tavoin gzip- ja less-komentojen yhdistäjänä.
# Ctrl-A vie rivin alkuun komentokehotteessa, Ctrl-E rivin loppuun.
 
# Komennolla bc -l saat pienen laskimen. Käytettävissä on normaalit laskutoimitukset ja lisäksi voit sijoittaa arvoja muuttujiin basic-kielen tapaan.
7. Kokeile tätä: echo "echo \"Vie kukkia\" | mail -s Hääpäivä oma.osoite@jossain.com" | at 09:00 06.04.02
# bc käyttää samaa readline-kirjastoa kuin komentotulkki, joten samat Ctrl-R, Ctrl-A ja Ctrl-E toimivat siinäkin. Samalla tavoin toimii myös mm. matriisilaskennan ohjelma Octave.
 
# MS-DOS -levykkeiden käsittely onnistuu mtools -paketilla. Kokeile mitä tekevät "mdir a:" ja "mcopy tiedsto a:".
8. Jos kokeilet edellistä, muista oikea päivämäärä. Sillä tavalla ei tule perheriitaa, ja aikaa säästyy esim. Linuxin säätämiseen.
# tr -komennolla voit muuttaa merkkejä, kokeile vaikka: echo kanalassa | tr a b.
 
# Haluatko kaikki työhakemiston tiedostonimet pienille kirjaimille? Sano for i in *; do mv $i `echo $i | tr A-Z a-z`; done
9. Aliakset ovat käteviä. Komennon alias l="ls -lda" jälkeen pelkkä l riittää komennoksi.
# Komennolla ps afx näet siistin puuesityksen ajossa olevista prosesseista.
 
# tr-komennolla voi poistaa merkkejä. Sano vaikka cat tiedosto | tr -d " "
10. Paina Ctrl-R komentokehotteessa ja kirjoita vaikka "ls", niin löydät viimeisimmän kirjoittamasi komennon jossa esiintyy kirjaimet "ls". Paina Ctrl-R uudelleen hakeaksesi kauempaa komentohistoriasta.
# Hakemiston saa pakattua näin tar cvzf paketti.tar.gz /joku/hakemisto . Purku onnistuu komennolla tar xvzf paketti.tar.gz
 
# Kuviakin voi käsitellä komentoriviltä. Kokeile vaikka identify jokukuva.gif
11. Ctrl-A vie rivin alkuun komentokehotteessa, Ctrl-E rivin loppuun.
# ls -S listaa tiedostot kokojärjestyksessä, ls -t muokkausajan mukaan järjestettynä. "-r" kääntää järjestyksen.
 
# file tiedostonnimi yrittää arvailla mitä tyyppiä tiedosto on. Roottina voit jopa sanoa file -s /dev/hda1 ja näet sisältääkö laitetiedosto jotain joka näyttää tiedostojärjestelmältä.
12. Komennolla bc -l saat pienen laskimen. Käytettävissä on normaalit laskutoimitukset ja lisäksi voit sijoittaa arvoja muuttujiin basic-kielen tapaan.
# Hakemiston /etc/skel sisällöstä tehdään kopio kotihakemistoon, kun luodaan uusi käyttäjä.
 
# Hakemiston /proc sisältä löytyy tietoa koneesta. Katso vaikka mitä cat /proc/cpuinfo tulostaa.
13. bc käyttää samaa readline-kirjastoa kuin komentotulkki, joten samat Ctrl-R, Ctrl-A ja Ctrl-E toimivat siinäkin. Samalla tavoin toimii myös mm. matriisilaskennan ohjelma Octave.
# Jos kaverisi pyytää auttamaan Linuxin käytössä, kerro hänelle man-sivuista. man tar ja man mkisofs ovat esimerkkeinä parhaita.
 
# locate on nopeampi kuin find. Kokeile esim. locate condom löytääksesi tiedostot joiden nimissä on merkkijono "condom". Locate käyttää tiedostojen nimistä kerättyä tietokantaa, joka päivittyy joka yö.
14. MS-DOS -levykkeiden käsittely onnistuu mtools -paketilla. Kokeile mitä tekevät "mdir a:" ja "mcopy tiedsto a:".
# locate-komennon tietokanta muodostuu updatedb -ohjelmalla, jonka ajo kestää aika kauan. Miten kauan, sen saa selville komennolla time updatedb
 
# Rikoit rivinvaihdot kun siirsit tekstiä Dos- tai Mac-koneelta Linuxiin? dos2unix ja mac2unix -komennot auttavat.
15. tr -komennolla voit muuttaa merkkejä, kokeile vaikka: echo kanalassa | tr a b.
# Komento ypchfn, jolla vaihdetaan erillisellä käyttäjätunnuspalvelimella olevia käyttäjätietoja, tulee sanoista "Yellow Pages CHange FiNger". Yellow Pages oli nykyisen NIS-palvelimen ensimmäinen nimi, mutta se vaihdettiin kun British Telecom omisti siihen tavaramerkin. Tiedolla ei varsinaisesti tee mitään, mutta käyttämällä sitä sopivassa tilanteessa osoitat olevasi nörtti.
 
# man -k printer kertoo kaikki ne komennot, joiden yksirivinen kuvaus sisältää merkkijonon "printer".
16. Haluatko kaikki työhakemiston tiedostonimet pienille kirjaimille? Sano for i in *; do mv $i `echo $i | tr A-Z a-z`; done
# Symboliset linkit ovat joskus käteviä. Jos /var/www on liian täynnä ja /home melkein tyhjä, sano "mv /var/www /home" ja ln -s /home/www /var/www
 
# Komentoja voi yhdistellä && ja || -operaattoreilla. tar cf paketti.tar /joku/hakemisto && rm -rf /joku/hakemisto suorittaa ensin tar-komennon, ja jos se onnistuu ongelmitta, suoritetaan rm-komento. || toimii toisinpäin, toinen komento suoritetaan vain jos ensimmäinen epäonnistui.
17. Komennolla ps afx näet siistin puuesityksen ajossa olevista prosesseista.
# PostScript-tiedostoja voi käsitellä komentorivillä. Esim. psnup -2 dokumentti.ps tiivis.ps tekee tulostusta varten version jossa kaksi sivua on laitettu yhdelle sivulle.
 
# Komentokehotetta voi muuttaa. Esim. export PS1='[\u@\h \w]\$ ' laittaa komentokehotteeseen käyttäjätunnuksen, koneen ja työhakemiston.
18. tr-komennolla voi poistaa merkkejä. Sano vaikka cat tiedosto | tr -d " "
# mkdir-komennolla voit luoda hakemistorakenteenkin kerralla. Kokeile esim. mkdir -p eka/toka/kolmas
 
# Jos hakemistoon /etc/cron.weekly luo tiedoston, jossa on vain komento cp --recursive /home/ville /root, saa joka viikko varmuuskopion Villen kotihakemistosta rootin kotihakemistoon.
19. Hakemiston saa pakattua näin tar cvzf paketti.tar.gz /joku/hakemisto . Purku onnistuu komennolla tar xvzf paketti.tar.gz
# Koneelle kirjauduttaessa ajetaan kotihakemistosta tiedosto jonka nimi on ".bash_profile". Sen loppuun voit kirjoittaa vaikka echo "Muista katsoa www.khdrive.fi/linkku/"
 
# Kokeile tätä: lynx --dump http://www.khdrive.fi/linkku/ | grep --after-context=5 "Seuraavat kokoontumiset"
20. Kuviakin voi käsitellä komentoriviltä. Kokeile vaikka identify jokukuva.gif
# Tiedoston nimeltä "-foobar" saa poistettua komennolla rm -- -foobar
 
# Kaikki ne tiedoston rivit, joissa ei esiinny sana merkkijonoa "kissa" löydät komennolla grep -v kissa tiedostonnimi . Jos taas haluat poistaa vain sanan "kissa" etkä esim. sanaa "takissani" sisältävät rivit, sano grep -v -w kissa tiedostonnimi .
21. ls -S listaa tiedostot kokojärjestyksessä, ls -t muokkausajan mukaan järjestettynä. "-r" kääntää järjestyksen.
# tail -f /var/log/messages näyttää ensin tiedoston lopun ja sitten jatkuvasti tiedostoon tulevat uudet rivit.
 
# ls -F näyttää tiedostolistauksen niin, että nimen perässä on merkki joka kuvaa tiedoston tyyppiä.
22. file tiedostonnimi yrittää arvailla mitä tyyppiä tiedosto on. Roottina voit jopa sanoa file -s /dev/hda1 ja näet sisältääkö laitetiedosto jotain joka näyttää tiedostojärjestelmältä.
# Tiedosto /etc/motd tulostetataan ruudulle joka kerta kun käyttäjä kirjautuu sisään. Siihen voi kirjoittaa vaikka joulutervehdyksen kaikille käyttäjille.
 
# Tiedosto /etc/issue tulostetaan ruudulle ennen "login:"-kehotetta.
23. Hakemiston /etc/skel sisällöstä tehdään kopio kotihakemistoon, kun luodaan uusi käyttäjä.
# Komento find . -type f -mmin -30 -print hakee työhakemistosta alaspäin kaikki tiedostot, joita on muokattu viimeisen puolen tunnin sisään.
 
# Levypinnan saa pyyhittyä tyhjäksi komennolla dd if=/dev/zero of=/dev/fd0. Esimerkki tyhjentää levykkeen, samalla tavalla voi pyyhkiä kiintolevyjä, esim. /dev/hda on IDE0-väylän master-levy. Usein suositellaan /dev/zero -laitteen sijasta /dev/random -laitetta, mutta silloin pyyhintä hidastuu mateluksi.
24. Hakemiston /proc sisältä löytyy tietoa koneesta. Katso vaikka mitä cat /proc/cpuinfo tulostaa.
# head -5 tiedostonnimi tulostaa tiedoston viisi ensimmäistä riviä. head -c 5 tiedostonnimi tulostaa viisi ensimmäistä merkkiä. tail -5 tiedostonnimi ja tail -c 5 tiedostonnimi toimivat vastaavasti.
 
# wc *.txt antaa listan hakemiston sisältämistä .txt -päätteisistä tiedostoista ja jokaisesta rivien, sanojen ja merkkien lukumäärän.
25. Jos kaverisi pyytää auttamaan Linuxin käytössä, kerro hänelle man-sivuista. man tar ja man mkisofs ovat esimerkkeinä parhaita.
# cat --number tiedostonnimi tulostaa tiedoston rivit numeroituna.
 
# strings -komennolla voit hakea merkkijonoja binäärimössöstä. Esim. strings jokudoku.doc näyttää yleensä Word-documentin sisältämän tekstin jotenkin luettavassa muodossa.
26. locate on nopeampi kuin find. Kokeile esim. locate condom löytääksesi tiedostot joiden nimissä on merkkijono "condom". Locate käyttää tiedostojen nimistä kerättyä tietokantaa, joka päivittyy joka yö.
# Kaikki Microsoft Office -dokumentit löydät komennolla find . -type f -exec sh -c "file \"{}\" | grep -q \"Microsoft Office Document\" && echo \"{}\"" \;
 
# Normaalissa konsolissa voi Shift+Page Up -näppäilyllä siirtyä pari ruudullista taaksepäin.
27. locate-komennon tietokanta muodostuu updatedb -ohjelmalla, jonka ajo kestää aika kauan. Miten kauan, sen saa selville komennolla time updatedb
# Komennolla ls -l | colrm 10 30 saat tiedostolistauksesta pois tiedoston omistajan ja ryhmän.
 
# Komennolla cut -d ' ' -f 2 tiedostonnimi voit tulostaa tiedoston jokaisen rivin toisen sanan.
28. Rikoit rivinvaihdot kun siirsit tekstiä Dos- tai Mac-koneelta Linuxiin? dos2unix ja mac2unix -komennot auttavat.
# Kaikkiin html-tiedostoihin saat LANG-attribuutin seuraavasti: find . -name "*.html" -print | xargs perl -e 's/<HTML>/<HTML LANG="fi">/gi' -p -i.bak
 
# Virheilmoituksetkin saa ohjattua tiedostoon. Kokeile esim. find hakemistojotaeiole >& find-tuloste.txt
29. Komento ypchfn, jolla vaihdetaan erillisellä käyttäjätunnuspalvelimella olevia käyttäjätietoja, tulee sanoista "Yellow Pages CHange FiNger". Yellow Pages oli nykyisen NIS-palvelimen ensimmäinen nimi, mutta se vaihdettiin kun British Telecom omisti siihen tavaramerkin. Tiedolla ei varsinaisesti tee mitään, mutta käyttämällä sitä sopivassa tilanteessa osoitat olevasi nörtti.
# which-komennolla näkee mistä polussa oleva ohjelmatiedosto löytyy. Kokeile esim. which ldd
 
# Haluatko varmasti hyvän salasanan? Sano head -c 6 /dev/random | mimencode
30. man -k printer kertoo kaikki ne komennot, joiden yksirivinen kuvaus sisältää merkkijonon "printer".
# Ellet tiedä mitä /etc:n alla olevaa tiedostoa säätää, voit hakea jonkin sanan sisältäviä tiedostoja: grep --recursive "localdomain" /etc
 
# Komennoilla who ja w saat tietoa järjestelmää parhaillaan käyttävistä. Esimerkiksi w -s näyttää kätevässä muodossa kuka tekee mitäkin.
31. Symboliset linkit ovat joskus käteviä. Jos /var/www on liian täynnä ja /home melkein tyhjä, sano "mv /var/www /home" ja ln -s /home/www /var/www
# Komennolla wall 'Linux on cool!' voit lähettää viestisi kaikkien koneen käyttäjien ruudulle.
 
# echo 'Linux on cool!' | write maija taas kertoo saman viestin ainoastaan Maijalle.
32. Komentoja voi yhdistellä && ja || -operaattoreilla. tar cf paketti.tar /joku/hakemisto && rm -rf /joku/hakemisto suorittaa ensin tar-komennon, ja jos se onnistuu ongelmitta, suoritetaan rm-komento. || toimii toisinpäin, toinen komento suoritetaan vain jos ensimmäinen epäonnistui.
# Komennolla nohup jokukomento >& lokitiedosto & saat komennon jäämään tausta-ajoon niin, että voit itse lopettaa yhteyden ja komento jää suoritettavaksi.
 
# Komennolla ed tiedostonnimi saat avattua tehokkaan ja monipuolisen, mutta resursseja säästeliäästi käyttävän editorin. Lisätietoa edistä
33. PostScript-tiedostoja voi käsitellä komentorivillä. Esim. psnup -2 dokumentti.ps tiivis.ps tekee tulostusta varten version jossa kaksi sivua on laitettu yhdelle sivulle.
# eject poistaa CD-levyn asemasta. eject -t vetää levyn sisään.
 
# Komento history tulostaa komentohistorian.
34. Komentokehotetta voi muuttaa. Esim. export PS1='[\u@\h \w]\$ ' laittaa komentokehotteeseen käyttäjätunnuksen, koneen ja työhakemiston.
# Musa soi komentoriviltäkin. playmidi soittaa midejä, play soittaa monenlaisia ääniformaatteja. mpg123 soittaa MP3-tiedostoja.
 
# killall vi lopettaa kaikki ajossa olevat vi-ohjelmat.
35. mkdir-komennolla voit luoda hakemistorakenteenkin kerralla. Kokeile esim. mkdir -p eka/toka/kolmas
# sort tiedosto | uniq aakkostaa tiedoston rivit ja poistaa moneen kertaan esiintyvät rivit. sort tiedosto | uniq -d näyttää vain kahteen tai useampaan kertaan esiintyvät rivit.
 
# dirname /joku/polku/tiedosto palauttaa arvon "/joku/polku". basename /joku/polku/tiedosto palauttaa arvon "tiedosto".
36. Jos hakemistoon /etc/cron.weekly luo tiedoston, jossa on vain komento cp --recursive /home/ville /root, saa joka viikko varmuuskopion Villen kotihakemistosta rootin kotihakemistoon.
# tac tiedostonnimi tulostaa tiedoston rivi kerrallaan alusta loppuun. rev tiedostonnimi tulostaa jokaisen rivin väärinpäin, ja rev tiedostonnimi | tac tulostaa koko tiedoston väärinpäin.
 
# top näyttää jatkuvasti päivittyvän listan ajossa olevista ohjelmista. Painamalla h-kirjainta saat ohjeen käytössä olevista komennoista. q-kirjaimella pääset pois ohjelmasta.
37. Koneelle kirjauduttaessa ajetaan kotihakemistosta tiedosto jonka nimi on ".bash_profile". Sen loppuun voit kirjoittaa vaikka echo "Muista katsoa www.khdrive.fi/linkku/"
# volname kertoo CD-asemassa olevan levyn nimen.
 
# cat tiedostonnimi | while read; do echo $REPLY; sleep 5; done tulostaa tiedoston rivi kerrallaan viiden sekunnin välein.
38. Kokeile tätä: lynx --dump http://www.khdrive.fi/linkku/ | grep --after-context=5 "Seuraavat kokoontumiset"
# Tervehdyksen pienellä viiveellä saa näin: "  temp=$IFS; IFS=$''; echo "Hei kaikki" | while read -n 1; do echo -n $REPLY; usleep 100000; done; IFS=$temp "
 
# Komennolla yes voit tulostaa y-kirjaimia esim. putkessa ohjelmalle, joka kyselee liikaa "Oletko aivan varma?". yes n tulostaa n-kirjaimia ja yes moro tervehtii käyttäjää ad infinitum.
39. Tiedoston nimeltä "-foobar" saa poistettua komennolla rm -- -foobar
# Tulostuskin onnistuu komentoriviltä, kokeile vaikka lpr jokudoku.txt tai cal | lpr
 
# Kun tehdään, niin tehdään kunnolla. Kun tehdään kalenteri kunnolla, niin huomioidaan juliaanisen kalenterin vaihtuminen gregoriaaniseen. Kokeile: cal 9 1752
40. Kaikki ne tiedoston rivit, joissa ei esiinny sana merkkijonoa "kissa" löydät komennolla grep -v kissa tiedostonnimi . Jos taas haluat poistaa vain sanan "kissa" etkä esim. sanaa "takissani" sisältävät rivit, sano grep -v -w kissa tiedostonnimi .
#<nowiki>WWW-sivuston kaikkien .html -sivujen META KEYWORDS -tageista saa helposti sivulistan tällä komennolla
 
41. tail -f /var/log/messages näyttää ensin tiedoston lopun ja sitten jatkuvasti tiedostoon tulevat uudet rivit.
 
42. ls -F näyttää tiedostolistauksen niin, että nimen perässä on merkki joka kuvaa tiedoston tyyppiä.
 
43. Tiedosto /etc/motd tulostetataan ruudulle joka kerta kun käyttäjä kirjautuu sisään. Siihen voi kirjoittaa vaikka joulutervehdyksen kaikille käyttäjille.
 
44. Tiedosto /etc/issue tulostetaan ruudulle ennen "login:"-kehotetta.
 
45. Komento find . -type f -mmin -30 -print hakee työhakemistosta alaspäin kaikki tiedostot, joita on muokattu viimeisen puolen tunnin sisään.
 
46. Levypinnan saa pyyhittyä tyhjäksi komennolla dd if=/dev/zero of=/dev/fd0. Esimerkki tyhjentää levykkeen, samalla tavalla voi pyyhkiä kiintolevyjä, esim. /dev/hda on IDE0-väylän master-levy. Usein suositellaan /dev/zero -laitteen sijasta /dev/random -laitetta, mutta silloin pyyhintä hidastuu mateluksi.
 
47. head -5 tiedostonnimi tulostaa tiedoston viisi ensimmäistä riviä. head -c 5 tiedostonnimi tulostaa viisi ensimmäistä merkkiä. tail -5 tiedostonnimi ja tail -c 5 tiedostonnimi toimivat vastaavasti.
 
48. wc *.txt antaa listan hakemiston sisältämistä .txt -päätteisistä tiedostoista ja jokaisesta rivien, sanojen ja merkkien lukumäärän.
 
49. cat --number tiedostonnimi tulostaa tiedoston rivit numeroituna.
 
50. strings -komennolla voit hakea merkkijonoja binäärimössöstä. Esim. strings jokudoku.doc näyttää yleensä Word-documentin sisältämän tekstin jotenkin luettavassa muodossa.
 
51. Kaikki Microsoft Office -dokumentit löydät komennolla find . -type f -exec sh -c "file \"{}\" | grep -q \"Microsoft Office Document\" && echo \"{}\"" \;
 
52. Normaalissa konsolissa voi Shift+Page Up -näppäilyllä siirtyä pari ruudullista taaksepäin.
 
53. Komennolla ls -l | colrm 10 30 saat tiedostolistauksesta pois tiedoston omistajan ja ryhmän.
 
54. Komennolla cut -d ' ' -f 2 tiedostonnimi voit tulostaa tiedoston jokaisen rivin toisen sanan.
 
55. Kaikkiin html-tiedostoihin saat LANG-attribuutin seuraavasti: find . -name "*.html" -print | xargs perl -e 's/<HTML>/<HTML LANG="fi">/gi' -p -i.bak
 
56. Virheilmoituksetkin saa ohjattua tiedostoon. Kokeile esim. find hakemistojotaeiole >& find-tuloste.txt
 
57. which-komennolla näkee mistä polussa oleva ohjelmatiedosto löytyy. Kokeile esim. which ldd
 
58. Haluatko varmasti hyvän salasanan? Sano head -c 6 /dev/random | mimencode
 
59. Ellet tiedä mitä /etc:n alla olevaa tiedostoa säätää, voit hakea jonkin sanan sisältäviä tiedostoja: grep --recursive "localdomain" /etc
 
60. Komennoilla who ja w saat tietoa järjestelmää parhaillaan käyttävistä. Esimerkiksi w -s näyttää kätevässä muodossa kuka tekee mitäkin.
 
61. Komennolla wall 'Linux on cool!' voit lähettää viestisi kaikkien koneen käyttäjien ruudulle.
 
62. echo 'Linux on cool!' | write maija taas kertoo saman viestin ainoastaan Maijalle.
 
63. Komennolla nohup jokukomento >& lokitiedosto & saat komennon jäämään tausta-ajoon niin, että voit itse lopettaa  
yhteyden ja komento jää suoritettavaksi.
 
64. Komennolla ed tiedostonnimi saat avattua tehokkaan ja monipuolisen, mutta resursseja säästeliäästi käyttävän editorin. Lisätietoa edistä
 
65. eject poistaa CD-levyn asemasta. eject -t vetää levyn sisään.
 
66. Komento history tulostaa komentohistorian.
 
67. Musa soi komentoriviltäkin. playmidi soittaa midejä, play soittaa monenlaisia ääniformaatteja. mpg123 soittaa MP3-tiedostoja.
 
68. killall vi lopettaa kaikki ajossa olevat vi-ohjelmat.
 
69. sort tiedosto | uniq aakkostaa tiedoston rivit ja poistaa moneen kertaan esiintyvät rivit. sort tiedosto | uniq -d  
näyttää vain kahteen tai useampaan kertaan esiintyvät rivit.
 
70. dirname /joku/polku/tiedosto palauttaa arvon "/joku/polku". basename /joku/polku/tiedosto palauttaa arvon "tiedosto".
 
71. tac tiedostonnimi tulostaa tiedoston rivi kerrallaan alusta loppuun. rev tiedostonnimi tulostaa jokaisen rivin väärinpäin, ja rev tiedostonnimi | tac tulostaa koko tiedoston väärinpäin.
 
72. top näyttää jatkuvasti päivittyvän listan ajossa olevista ohjelmista. Painamalla h-kirjainta saat ohjeen käytössä olevista komennoista. q-kirjaimella pääset pois ohjelmasta.
 
73. volname kertoo CD-asemassa olevan levyn nimen.
 
74. cat tiedostonnimi | while read; do echo $REPLY; sleep 5; done tulostaa tiedoston rivi kerrallaan viiden sekunnin välein.
 
75. Tervehdyksen pienellä viiveellä saa näin
    "  temp=$IFS; IFS=$''; echo "Hei kaikki" | while read -n 1; do echo -n $REPLY; usleep 100000; done; IFS=$temp "
 
76. Komennolla yes voit tulostaa y-kirjaimia esim. putkessa ohjelmalle, joka kyselee liikaa "Oletko aivan varma?". yes n tulostaa n-kirjaimia ja yes moro tervehtii käyttäjää ad infinitum.
 
77. Tulostuskin onnistuu komentoriviltä, kokeile vaikka lpr jokudoku.txt tai cal | lpr
 
78. Kun tehdään, niin tehdään kunnolla. Kun tehdään kalenteri kunnolla, niin huomioidaan juliaanisen kalenterin vaihtuminen gregoriaaniseen. Kokeile: cal 9 1752
 
79.<nowiki>Lisää muotoilematon teksti tähän WWW-sivuston kaikkien .html -sivujen META KEYWORDS -tageista saa helposti sivulistan tällä komennolla
       find . -type f -name "*.html" | while read a; do grep --ignore-case "<META NAME=\"keywords\" CONTENT=\".*\">" $a | cut -f 4 -d "\"" | dd conv=lcase | tr "," "\n" | while read; do echo $a >> $REPLY.hakusana; done; done && ls *.hakusana | while read a; do h=`echo $a | cut -f 1 -d "."`; echo "<H2>$h</H2>"; cat $a | cut -b 3- | while read; do echo "<A HREF=\"$REPLY\">`grep --ignore-case "<title>.*</title>" $REPLY | cut -f 2 -d ">" | cut -f 1 -d "<"`</A>"; done; done && rm *.hakusana
       find . -type f -name "*.html" | while read a; do grep --ignore-case "<META NAME=\"keywords\" CONTENT=\".*\">" $a | cut -f 4 -d "\"" | dd conv=lcase | tr "," "\n" | while read; do echo $a >> $REPLY.hakusana; done; done && ls *.hakusana | while read a; do h=`echo $a | cut -f 1 -d "."`; echo "<H2>$h</H2>"; cat $a | cut -b 3- | while read; do echo "<A HREF=\"$REPLY\">`grep --ignore-case "<title>.*</title>" $REPLY | cut -f 2 -d ">" | cut -f 1 -d "<"`</A>"; done; done && rm *.hakusana
</nowiki>
</nowiki>
 
# Eräs tapa kokeilla koneen ja komentotulkin nopeutta on laskea Fibonaccin lukuja: tee tiedosto fib.sh, jossa on vain rivi if (($1 < 2)); then echo 1; else a=`./fib.sh $1-1`; b=`./fib.sh $1-2`; echo $((a+b)); fi
80. Eräs tapa kokeilla koneen ja komentotulkin nopeutta on laskea Fibonaccin lukuja: tee tiedosto fib.sh, jossa on vain  
# Komennolla pwd -P saat selville missä hakemistossa "oikeasti" olet, eli symbolisten linkkien kautta kuljettu polku jätetään huomiotta.
rivi
# Yksinkertainen valikko on helppo tehdä: <tt>valinta=3; echo "1=pwd 2=ls 3=lynx"; read -t 5 valinta; case $valinta in 1) pwd;; 2) ls;; 3) lynx;; esac<tt> Jos käyttäjä ei viidessä sekunnissa valitse mitään, käynnistetään lynx.
      if (($1 < 2)); then echo 1; else a=`./fib.sh $1-1`; b=`./fib.sh $1-2`; echo $((a+b)); fi
# Tällaisenkin valikon voi tehdä: sivut=("evl.fi" "vapaa-ajattelijat.fi" "dilbert.com"); echo "0=evl, 1=vaparit, 2=dilbert"; read valinta; lynx http://www.${sivut[$valinta]}
 
# Näissä vinkeissä on kerrottu miten case ja if toimivat, miten komentoja putkitetaan ym. Sanomalla man bash saat pitkän ohjesivun näistä ja monesta muustakin asiasta.
81. Komennolla pwd -P saat selville missä hakemistossa "oikeasti" olet, eli symbolisten linkkien kautta kuljettu polku jätetään huomiotta.
# Jos locale-asetus on kunnossa (eli olet mm. sanonut export LANG=fi_FI , voit katsoa koska tiedostoa teksti.txt on viimeksi muutettu sanomalla date --reference=teksti.txt "+%Ana %Bn %e. päivä"
 
# Jos tiedosto nimikunta sisältää rivit Jori TAB Tampere, Laura TAB Tampere ja Åke TAB Tukholma, ja tiedosto kuntamaa rivit Tampere TAB Suomi ja Tukholma TAB Ruotsi, voit katsoa missä maassa ihmiset asuvat komennolla join -o 1.1,2.2 -1 2 nimikunta kuntamaa
82. Yksinkertainen valikko on helppo tehdä:
# Komento touch tiedostonnimi on helpoin tapa luoda tyhjä tiedosto. Samalla touch-komennolla voi myös muuttaa tiedostojen muokkauspäivämääriä, kokeile esim. touch --date 2002-04-01 aprillia
      valinta=3; echo "1=pwd 2=ls 3=lynx"; read -t 5 valinta; case $valinta in 1) pwd;; 2) ls;; 3) lynx;; esac
# uname on joskus kätevä, erityisesti komento uname -a kertoo ytimen version ym. mahdollisesti kiinnostavaa.
      Jos käyttäjä ei viidessä sekunnissa valitse mitään, käynnistetään lynx.
# Tiedoston voi jakaa osiin split-komennolla. Kokeile esim. split -b 10k jokutiedosto
 
# Komennolla seq 10 -3 1 voit tulostaa luvut 10, 7, 4 ja 1.
83. Tällaisenkin valikon voi tehdä:
# clear tyhjentää kuvaruudun. Kätevä joissakin skripteissä.
      sivut=("evl.fi" "vapaa-ajattelijat.fi" "dilbert.com"); echo "0=evl, 1=vaparit, 2=dilbert"; read valinta; lynx http://www.${sivut[$valinta]}
# pdftotext tiedosto.pdf tekee tiedoston tiedosto.txt, joka hyvällä onnella sisältää PDF:n sisältämän tekstin.
 
# su -komennolla voit vaihtaa lennosta toiseksi käyttäjäksi. su - vaihtaa rootiksi ja root voi sanoa su - ville päästääkseen kokeilemaan Villen tunnusta ilman salasanaa.
84. Näissä vinkeissä on kerrottu miten case ja if toimivat, miten komentoja putkitetaan ym. Sanomalla man bash saat pitkän ohjesivun näistä ja monesta muustakin asiasta.
# wget --recursive http://www.mpoli.fi/flug/ imuroi koko Flug ry:n WWW-sivuston omalle koneelle.
 
# watch -n 60 --differences ls /tmp tulostaa minuutin välein listauksen /tmp -hakemistosta ja näyttää korostettuna muuttuneet tiedot.
85. Jos locale-asetus on kunnossa (eli olet mm. sanonut export LANG=fi_FI , voit katsoa koska tiedostoa teksti.txt on viimeksi muutettu sanomalla date --reference=teksti.txt "+%Ana %Bn %e. päivä"
# Jos teet kotihakemistosi alle hakemiston nimeltä bin , voit siirtää sinne tekemäsi skriptit ym. ja käyttää niitä antamatta koko polkua, ts. aivan kuten koneessasi valmiina olevia ohjelmiakin.
 
# Jos laitat skriptit hakemistoon /usr/local/bin , niitä voivat käyttää kaikki koneen käyttäjät.
86. Jos tiedosto nimikunta sisältää rivit Jori TAB Tampere, Laura TAB Tampere ja Åke TAB Tukholma, ja tiedosto kuntamaa rivit Tampere TAB Suomi ja Tukholma TAB Ruotsi, voit katsoa missä maassa ihmiset asuvat komennolla join -o 1.1,2.2 -1 2 nimikunta kuntamaa
# cmp tulostaa tiedostojen eroavan kohdan. Käyttökelpoinen myös skripteissä, esim. cmp -s tiedosto1 tiedosto2 || echo "Tiedostot eroavat"
 
# who mom loves tulostaa käyttäjätunnuksesi, käyttämäsi konsolin ja sisäänkirjautumisajan.
87. Komento touch tiedostonnimi on helpoin tapa luoda tyhjä tiedosto. Samalla touch-komennolla voi myös muuttaa tiedostojen muokkauspäivämääriä, kokeile esim. touch --date 2002-04-01 aprillia
# who | cut -d ' ' -f 1 | sort | uniq | tr -d ' ' | finger -s -m | cut -c 11-27 | sort | uniq kertoo keitä koneelle on kirjautunut. Sama paikallista /etc/passwd -tiedostoa käyttäen on monimutkaisempi: who | cut -d ' ' -f 1 | sort | uniq | tr -d ' ' | xargs -n 1 echo "^" | colrm 2 2 | grep -f - /etc/passwd | cut -d ':' -f 5
 
# Jos olet tehnyt aliaksen, jolla on sama nimi kuin komennolla (alias ls='ls --color=tty', esimerkiksi), mutta haluat
88. uname on joskus kätevä, erityisesti komento uname -a kertoo ytimen version ym. mahdollisesti kiinnostavaa.
 
89. Tiedoston voi jakaa osiin split-komennolla. Kokeile esim. split -b 10k jokutiedosto
 
90. Komennolla seq 10 -3 1 voit tulostaa luvut 10, 7, 4 ja 1.
 
91. clear tyhjentää kuvaruudun. Kätevä joissakin skripteissä.
 
92. pdftotext tiedosto.pdf tekee tiedoston tiedosto.txt, joka hyvällä onnella sisältää PDF:n sisältämän tekstin.
 
93. su -komennolla voit vaihtaa lennosta toiseksi käyttäjäksi. su - vaihtaa rootiksi ja root voi sanoa su - ville päästääkseen kokeilemaan Villen tunnusta ilman salasanaa.
 
94. wget --recursive http://www.mpoli.fi/flug/ imuroi koko Flug ry:n WWW-sivuston omalle koneelle.
 
95. watch -n 60 --differences ls /tmp tulostaa minuutin välein listauksen /tmp -hakemistosta ja näyttää korostettuna muuttuneet tiedot.
 
96. Jos teet kotihakemistosi alle hakemiston nimeltä bin , voit siirtää sinne tekemäsi skriptit ym. ja käyttää niitä antamatta koko polkua, ts. aivan kuten koneessasi valmiina olevia ohjelmiakin.
 
97. Jos laitat skriptit hakemistoon /usr/local/bin , niitä voivat käyttää kaikki koneen käyttäjät.
 
98. cmp tulostaa tiedostojen eroavan kohdan. Käyttökelpoinen myös skripteissä, esim. cmp -s tiedosto1 tiedosto2 || echo "Tiedostot eroavat"
 
99. who mom loves tulostaa käyttäjätunnuksesi, käyttämäsi konsolin ja sisäänkirjautumisajan.
 
100. who | cut -d ' ' -f 1 | sort | uniq | tr -d ' ' | finger -s -m | cut -c 11-27 | sort | uniq kertoo keitä koneelle on kirjautunut. Sama paikallista /etc/passwd -tiedostoa käyttäen on monimutkaisempi: who | cut -d ' ' -f 1 | sort | uniq | tr -d ' ' | xargs -n 1 echo "^" | colrm 2 2 | grep -f - /etc/passwd | cut -d ':' -f 5
 
101. Jos olet tehnyt aliaksen, jolla on sama nimi kuin komennolla (alias ls='ls --color=tty', esimerkiksi), mutta haluat
suorittaa poikkeuksellisesti sen alkuperäisen, kirjoita komento muodossa \ls.
suorittaa poikkeuksellisesti sen alkuperäisen, kirjoita komento muodossa \ls.
26

muokkausta

Navigointivalikko