Ero sivun ”Komentorivivinkkejä” versioiden välillä

Siirry navigaatioon Siirry hakuun
5 438 merkkiä lisätty ,  14. joulukuuta 2018
p (siivous loppuun)
 
(16 välissä olevaa versiota 8 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Valtaosa vinkeistä on testattu [[bash]]issa melko tavanomaisessa [[Red Hat]] 8.0 -asennuksessa. Pääosa näistä toimii muissakin [[jakelu|jakeluissa]], osa soveltaen myös muissa [[wikipedia:fi:Unix|Unix]]-tyyppisissä järjestelmissä. Joissakin järjestelmissä oletuskomentotulkkina on tosin [[tcsh]], jonka syntaksi on monelta osin erilainen. Eri komentoja on listattu käyttötarkoituksen mukaan artikkelissa [[komentorivikomennot]]. Komentorivin perusteista kerrotaan artikkelissa [[komentorivin perusteet]]. Katso myös [[bash-skriptaus]] (sovellettavissa myös muihin komentotulkkeihin).
Seuraavassa on esitetty lukuisia vinkkejä komentorivin tehokäyttöön. Vinkit on jaoteltu eri kategorioihin. Eri järjestelmissä on eroja, joten kaikki vinkit eivät välttämättä toimi kaikissa [[jakelu]]issa tai kaikissa [[komentotulkki|komentotulkeissa]]. Valtaosa vinkeistä kuitenkin toimii useimpien jakeluiden mukana tulevassa ja oletuksena käytössä olevassa [[bash]]-yhteensopivassa komentotulkissa. Joissakin järjestelmissä oletuskomentotulkkina on tosin [[tcsh]], jonka syntaksi on monelta osin erilainen.  
 
Eri komentorivikomentoja on listattu käyttötarkoituksen mukaan artikkelissa [[komentorivikomennot]]. Komentorivin perusteista kerrotaan artikkelissa [[komentorivin perusteet]]. Komentorivikomennoista voi tehdä myös erilaisia käteviä komentojonoja, joista kerrotaan artikkelissa [[bash-skriptaus]].
 
==Peruskäyttö==
# {{Näppäin|TAB}} näppäimellä voi antaa komentotulkin täydentää loput komennosta tai tiedostonimestä. Mikäli vaihtoehtoja on useampia, ne saa näkyviin toisella painalluksella. Osassa komentotulkkeja voi TABilla täydentää myös mm. etäkoneiden ja käyttäjien nimiä sekä komentojen valitsimia (bashissa tämän ominaisuuden saa käyttöön ajamalla skriptin /etc/bash_completion rivit, sopiva komento löytyy usein deaktivoituna bashin alustusskripteissä). Jos listaus on pitkä näppäimellä {{Näppäin|q}} voit lopettaa listauksen.
# Jos kaverisi pyytää auttamaan Linuxin käytössä, kerro hänelle [[Man-sivut|man-sivuista]]. <tt>man [[tar]]</tt> ja <tt>man [[mkisofs]]</tt> ovat esimerkkeinä parhaita. Myös [[info]]-sivut voivat olla hyviä tiedonlähteitä.
# <tt>man -k printer</tt> kertoo kaikki ne komennot, joiden yksirivinen kuvaus sisältää merkkijonon "printer".
# [[alias|Aliakset]] ovat käteviä. Komennon <tt>alias l="ls -lda"</tt> jälkeen pelkkä l riittää komennoksi.
# Jos olet tehnyt aliaksen, jolla on sama nimi kuin komennolla (<tt>alias ls='ls --color=tty'</tt>, esimerkiksi), mutta haluat suorittaa poikkeuksellisesti sen alkuperäisen, kirjoita komento muodossa <tt>\ls</tt>.
# Paina {{Näppäin|Ctrl|R}} komentokehotteessa ja kirjoita vaikka "ls", niin löydät viimeisimmän kirjoittamasi komennon jossa esiintyy kirjaimet "ls". Paina {{Näppäin|Ctrl|R}} uudelleen hakeaksesi kauempaa komentohistoriasta.
# {{Näppäin|Ctrl|A}} vie rivin alkuun komentokehotteessa, {{Näppäin|Ctrl|E}} rivin loppuun. {{Näppäin|Ctrl|F}}, {{Näppäin|Ctrl|B}}, {{Näppäin|Ctrl|P}} ja {{Näppäin|Ctrl|N}} (forward/backward/previous/next) korvaa nuolinäppäimet. {{Näppäin|ESC|F}} ja {{Näppäin|ESC|B}} liikuttaa sanoittain. {{Näppäin|Ctrl|D}}, {{Näppäin|ESC|D}}, {{Näppäin|Ctrl|K}} ja {{Näppäin|Ctrl|U}} poistaa tekstiä, {{Näppäin|Ctrl|Y}} palauttaa viimeksi poistetut merkit nykyiseen kohtaan.
# Komentoja voi yhdistellä && ja || -operaattoreilla. <tt>[[tar]] cf paketti.tar /joku/hakemisto && rm -rf /joku/hakemisto</tt> suorittaa ensin tar-komennon, ja jos se onnistuu ongelmitta, suoritetaan [[rm]]-komento. || toimii toisinpäin, toinen komento suoritetaan vain jos ensimmäinen epäonnistui.
# Komentokehotetta voi muuttaa. Esimerkiksi [[bash]]-komentotulkissa <tt>[[export]] PS1='[\u@\h \w]\$ '</tt> laittaa komentokehotteeseen käyttäjätunnuksen, koneen ja työhakemiston. Artikkelista [[zsh]] voi lukea kuinka tämä onnistuu zsh-komentotulkissa.
# Koneelle kirjauduttaessa ajetaan kotihakemistosta tiedosto jonka nimi on ".bash_profile" (muissa kuin [[bash]]-[[komentotulkki|komentotulkissa]] nimi on toinen, usein .profile tai .login). Sen loppuun voit kirjoittaa vaikka echo "Muista katsoa www.khdrive.fi/linkku/"
# [[Virtuaalikonsoli]]ssa voi {{Näppäin|Shift|Page Up}}-näppäilyllä siirtyä pari ruudullista taaksepäin. Huomioi kuitenkin, että esimerkiksi [[X Window System|X]]:ssä käynti yleensä nollaa tämän ruutuhistorian. Sama näppäily toimii monessa [[terminaaliemulaattori]]ssa ([[xterm]] tms.), joissa taas ikkunan leveyden vaihto tuhoaa historiaa.
# [[which]]-komennolla näkee mistä polussa oleva ohjelmatiedosto löytyy. Kokeile esim. <tt>which [[ldd]]</tt>
# Komento <tt>[[history]]</tt> tulostaa komentohistorian, <tt>history 5</tt> viisi viimeistä komentoa. Jos käyttää historiatoimintoa (esimerkiksi muodossa {{Näppäin|Ctrl|R}}) kannattaa asentaa isompi puskuri, esimerkiksi <tt>HISTSIZE=5000</tt>.
# Komennolla <tt>[[pwd]] -P</tt> saat selville missä hakemistossa "oikeasti" olet, eli symbolisten linkkien kautta kuljettu polku jätetään huomiotta.
# <tt>[[clear]]</tt> tyhjentää kuvaruudun. Kätevä joissakin skripteissä. Normaalikäytössä on helpompi painaa {{Näppäin|Ctrl|L}}. Jos näppäimistö tai ruutu käyttäytyy sekavasti, esimerkiksi binääritiedoston katsomisen tuloksena, myös <tt>[[stty]] sane</tt> tai <tt>[[reset]]</tt> voi olla kohdallaan.
# Voit uudelleen käyttää komennoille antamiasi parametrejä <tt>"ESC ."</tt>-näppäinyhdistelmällä. Esim. jos luit pitkää <tt>/home/pena/file</tt>-tiedostoa komennolla <tt>"[[cat]] /home/pena/file"</tt>, niin kokeile <tt>"[[less]] ESC ."</tt>.
# Jos siirryt <tt>cd</tt>-komennolla uuteen hakemistoon ja haluat jostakin syystä palata takaisin siihen aikaisempaan, voit tehdä sen komennolla <tt>cd -</tt>.
# <tt>cd ~ </tt>-komennolla pääset suoraan kotihakemistoosi.


==Tiedostonhallinta==
==Tiedostonhallinta==
# Komennolla <tt>[[df]] -h</tt> saat siistin esityksen levyosioiden täyttöasteesta.
# Komennolla <tt>[[df]] -h</tt> saat siistin esityksen levyosioiden täyttöasteesta.
# Sano roottina <tt>[[du]] -s /home/* | [[sort]] -n | [[tail]]</tt> ja löydät levyrohmut.
# Sano roottina <tt>[[du]] -s /home/* | [[sort]] -n -r | [[head]]</tt> ja löydät levyrohmut.
# Komennolla <tt>[[find]] . -type f -name "*koira*" -print0 | [[xargs]] -0 [[grep]] -l "kissa"</tt> löydät kaikki ne tiedostot työhakemiston alla, joiden nimessä on sana "koira" ja joissa esiintyy sana "kissa". Käyttämällä -name:n sijasta valitsinta -iname löydät myös eri kirjainkoolla kirjoitetut merkkijonot. Saman tuloksen saat myös jos korvaat osion <tt>| [[xargs]] -0 [[grep]] -l "kissa"</tt> osiolla <tt><nowiki>-exec grep -l kissa '{}' ';'</nowiki></tt>
# Komennolla <tt>[[find]] . -type f -name "*koira*" -print0 | [[xargs]] -0 [[grep]] -l "kissa"</tt> löydät kaikki ne tiedostot työhakemiston alla, joiden nimessä on sana "koira" ja joissa esiintyy sana "kissa". Käyttämällä -name:n sijasta valitsinta -iname löydät myös eri kirjainkoolla kirjoitetut merkkijonot. Saman tuloksen saat myös jos korvaat osion <tt>| [[xargs]] -0 [[grep]] -l "kissa"</tt> osiolla <tt><nowiki>-exec grep -l kissa '{}' ';'</nowiki></tt>
# MS-DOS -levykkeiden käsittely onnistuu [[mtools]] -paketilla. Kokeile mitä tekevät <tt>mdir a:</tt> ja <tt>mcopy tiedosto a:</tt>.
# MS-DOS -levykkeiden käsittely onnistuu [[mtools]] -paketilla. Kokeile mitä tekevät <tt>mdir a:</tt> ja <tt>mcopy tiedosto a:</tt>.
# Haluatko kaikki työhakemiston tiedostonimet pienille kirjaimille? Sano <tt>for i in *; do mv $i `echo $i | [[tr]] A-Z a-z`; done</tt>
# Haluatko kaikki työhakemiston tiedostonimet pienille kirjaimille? Sano <tt>for i in *; do mv -i $i `echo $i | [[tr]] A-Z a-z`; done</tt>
# Hakemiston saa pakattua näin <tt>[[tar]] cvzf paketti.tar.gz /joku/hakemisto</tt> . Purku onnistuu komennolla <tt>tar xvzf paketti.tar.gz</tt>. Korvaa komennon z-kirjaimet j:lla jos haluat käyttää [[gzip]]-pakkauksen sijasta tehokkaampaa [[bzip2]]-pakkausta.
# Hakemiston saa pakattua näin: <tt>[[tar]] cvzf paketti.tar.gz /joku/hakemisto</tt> . Purku onnistuu komennolla <tt>tar xvzf paketti.tar.gz</tt>. Korvaa komennon z-kirjaimet j:lla jos haluat käyttää [[gzip]]-pakkauksen sijasta tehokkaampaa [[bzip2]]-pakkausta.
# [[locate]] on nopeampi kuin find. Kokeile esim. <tt>locate foobar</tt> löytääksesi tiedostot joiden nimissä on merkkijono "foobar". Locate käyttää tiedostojen nimistä kerättyä tietokantaa, joka päivittyy oletuksena joka yö ([[cron]]).
# [[locate]] on nopeampi kuin find. Kokeile esim. <tt>locate foobar</tt> löytääksesi tiedostot joiden nimissä on merkkijono "foobar". Locate käyttää tiedostojen nimistä kerättyä tietokantaa, joka päivittyy oletuksena joka yö ([[cron]]).
# <tt>[[ls]] -S</tt> listaa tiedostot kokojärjestyksessä, <tt>ls -t</tt> muokkausajan mukaan järjestettynä. "-r" kääntää järjestyksen.
# <tt>[[ls]] -S</tt> listaa tiedostot kokojärjestyksessä, <tt>ls -t</tt> muokkausajan mukaan järjestettynä, <tt>ls -tu</tt> käyttöajan mukaan (kunhan [[atime]] on käytössä). "-r" kääntää järjestyksen.
# <tt>[[file]] tiedostonnimi</tt> yrittää arvailla mitä tyyppiä tiedosto on. Roottina voit jopa sanoa <tt>file -s /dev/hda1</tt> ja näet sisältääkö laitetiedosto jotain joka näyttää tiedostojärjestelmältä.
# <tt>[[file]] tiedostonnimi</tt> yrittää arvailla mitä tyyppiä tiedosto on. Roottina voit jopa sanoa <tt>file -s /dev/hda1</tt> ja näet sisältääkö laitetiedosto jotain joka näyttää tiedostojärjestelmältä.
# [[symbolinen linkki|Symboliset linkit]] ovat joskus käteviä. Jos /var/www on liian täynnä ja /home melkein tyhjä, sano <tt>mv /var/www /home</tt> ja <tt>ln -s /home/www /var/www</tt>
# [[symbolinen linkki|Symboliset linkit]] ovat joskus käteviä. Jos /var/www on liian täynnä ja /home melkein tyhjä, sano <tt>mv -i /var/www /home</tt> ja <tt>ln -s /home/www /var/www</tt>
# [[mkdir]]-komennolla voit luoda hakemistorakenteenkin kerralla. Kokeile esim. <tt>mkdir -p eka/toka/kolmas</tt>
# [[mkdir]]-komennolla voit luoda hakemistorakenteenkin kerralla. Kokeile esim. <tt>mkdir -p eka/toka/kolmas.</tt> Sanomalla <tt>mkdir -p abc/def0{1..9}</tt> luot abc-kansion alle numeroidut alikansiot def01,def02..def09.
# <tt>ls -F</tt> näyttää tiedostolistauksen niin, että nimen perässä on merkki joka kuvaa tiedoston tyyppiä.
# <tt>ls -F</tt> näyttää tiedostolistauksen niin, että nimen perässä on merkki joka kuvaa tiedoston tyyppiä.
# Jos haluat ls:n tekevän saman värien avulla, anna komento <tt>ls --color=auto</tt>.
# Jos haluat ls:n tekevän saman värien avulla, anna komento <tt>ls --color=auto</tt> (tämä on oletus monessa jakelussa).
# Komento <tt>find . -type f -mmin -30 -print</tt> hakee työhakemistosta alaspäin kaikki tiedostot, joita on muokattu viimeisen puolen tunnin sisään.
# Komento <tt>find . -type f -mmin -30 -print</tt> hakee työhakemistosta alaspäin kaikki tiedostot, joita on muokattu viimeisen puolen tunnin sisään.
# Kaikki Microsoft Office -dokumentit löydät komennolla <tt>find . -type f -exec sh -c "file \"{}\" | grep -q \"Microsoft Office Document\" && echo \"{}\"" \;</tt>
# Kaikki Microsoft Office -dokumentit löydät komennolla <tt>find . -iname '*.doc*' -type f -exec sh -c "file \"{}\" | grep -q \"Microsoft Office Document\" && echo \"{}\"" \;</tt> (jos tiedosto on satettu siirtää eri nimelle, poista "iname ... doc*'", tiedostonimen käyttö karkeaan karsintaan kuitenkin nopeuttaa operaatiota huomattavasti)
# Komennolla <tt>ls -l | [[colrm]] 10 30</tt> saat tiedostolistauksesta pois tiedoston omistajan ja ryhmän.
# Komennolla <tt>ls -l | [[colrm]] 10 30</tt> saat tiedostolistauksesta pois tiedoston omistajan ja ryhmän. GNU ls:llä <tt>ls -lgG</tt> tekee saman.
# Ellet tiedä mitä /etc:n alla olevaa tiedostoa säätää, voit hakea jonkin sanan sisältäviä tiedostoja: <tt>grep --recursive "localdomain" /etc</tt>
# Ellet tiedä mitä /etc:n alla olevaa tiedostoa säätää, voit hakea jonkin sanan sisältäviä tiedostoja: <tt>grep --recursive "localdomain" /etc</tt>
# <tt>[[dirname]] /joku/polku/tiedosto</tt> palauttaa arvon "/joku/polku". <tt>[[basename]] /joku/polku/tiedosto</tt> palauttaa arvon "tiedosto".
# <tt>[[dirname]] /joku/polku/tiedosto</tt> palauttaa arvon "/joku/polku". <tt>[[basename]] /joku/polku/tiedosto</tt> palauttaa arvon "tiedosto".
# Jos locale-asetus on kunnossa (eli olet mm. sanonut export LANG=fi_FI.UTF-8 , voit katsoa koska tiedostoa teksti.txt on viimeksi muutettu sanomalla <tt>[[date]] --reference=teksti.txt "+%Ana %Bn %e. päivä"</tt>
# Jos [[locale]]-asetus on kunnossa (eli olet mm. sanonut export LANG=fi_FI.UTF-8 , voit katsoa koska tiedostoa teksti.txt on viimeksi muutettu sanomalla <tt>[[date]] --reference=teksti.txt "+%Ana %Bn %e. päivä"</tt>
# Komento <tt>[[touch]] tiedostonnimi</tt> on helpoin tapa luoda tyhjä tiedosto. Samalla touch-komennolla voi myös muuttaa tiedostojen muokkauspäivämääriä, kokeile esim. <tt>touch --date 2002-04-01 aprillia</tt>
# Komento <tt>[[touch]] tiedostonnimi</tt> on helpoin tapa luoda tyhjä tiedosto. Samalla touch-komennolla voi myös muuttaa tiedostojen muokkauspäivämääriä, kokeile esim. <tt>touch --date 2002-04-01 aprillia</tt>
# Jos haluat poistaa tiedoston jonka nimi on -f, se onnistuu kätevimmin rm -- -f komennolla.
# Jos haluat poistaa tiedoston jonka nimi on -f, se onnistuu kätevimmin komennolla <tt>rm -- -f</tt> tai <tt>rm ./-f</tt>
# Myös tiedostoihin voi tehdä tiedostojärjestelmän.
# Myös tiedostoihin voi tehdä tiedostojärjestelmän.
# Levyille voi tehdä tiedostojärjestelmän myös ilman partitiointia
# Levyille voi tehdä tiedostojärjestelmän myös ilman partitiointia
Rivi 34: Rivi 56:
# Kokeile tätä: <tt>[[lynx]] --dump http://www.khdrive.fi/linkku/ | grep --after-context=5 "Seuraavat kokoontumiset"</tt>
# Kokeile tätä: <tt>[[lynx]] --dump http://www.khdrive.fi/linkku/ | grep --after-context=5 "Seuraavat kokoontumiset"</tt>
# <tt>[[wget]] --recursive http://www.flug.fi/</tt> imuroi koko Flug ry:n WWW-sivuston omalle koneelle.
# <tt>[[wget]] --recursive http://www.flug.fi/</tt> imuroi koko Flug ry:n WWW-sivuston omalle koneelle.
# Testaa latausnopeutesi: <tt>wget -O /dev/null ftp://ftp.funet.fi/dev/100Mnull > /dev/null</tt>
# Testaa latausnopeutesi: <tt>wget -O /dev/null ftp://ftp.funet.fi/dev/100Mnull > /dev/null</tt> (tämä testi saattaa olla hitaampi kuin nopeat liittymät)
# Jaa kansio nopeasti verkkoon väliaikaista käyttöä varten: <tt>python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"</tt>
# Jaa kansio nopeasti verkkoon väliaikaista käyttöä varten: <tt>python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"</tt>


Rivi 62: Rivi 84:
# <tt>who | [[cut]] -d ' ' -f 1 | [[sort]] | [[uniq]] | tr -d ' ' | [[finger]] -s -m | cut -c 11-27 | sort | uniq</tt> kertoo keitä koneelle on kirjautunut. Sama paikallista /etc/passwd -tiedostoa käyttäen on monimutkaisempi: <tt>who | cut -d ' ' -f 1 | sort | uniq | [[tr]] -d ' ' | [[xargs]] -n 1 [[echo]] "^" | [[colrm]] 2 2 | [[grep]] -f - /etc/passwd | cut -d ':' -f 5</tt>
# <tt>who | [[cut]] -d ' ' -f 1 | [[sort]] | [[uniq]] | tr -d ' ' | [[finger]] -s -m | cut -c 11-27 | sort | uniq</tt> kertoo keitä koneelle on kirjautunut. Sama paikallista /etc/passwd -tiedostoa käyttäen on monimutkaisempi: <tt>who | cut -d ' ' -f 1 | sort | uniq | [[tr]] -d ' ' | [[xargs]] -n 1 [[echo]] "^" | [[colrm]] 2 2 | [[grep]] -f - /etc/passwd | cut -d ':' -f 5</tt>
# Komento <tt>[[users]]|[[tr]] ' ' '\n'|[[uniq]]|[[wc]] -l</tt> kertoo kuinka monta erinimistä käyttäjää koneelle on kirjautunut.  
# Komento <tt>[[users]]|[[tr]] ' ' '\n'|[[uniq]]|[[wc]] -l</tt> kertoo kuinka monta erinimistä käyttäjää koneelle on kirjautunut.  
# Haluatko varmasti hyvän salasanan? Sano <tt>[[head]] -c 6 /dev/random | mimencode</tt>
# Haluatko varmasti hyvän salasanan? Sano <tt>[[head]] -c 6 /dev/random | mimencode</tt> tai <tt>[[head]] -c 6 /dev/random | base64</tt>


==Laitteisto==
==Laitteisto==
Rivi 78: Rivi 100:
# Rikoit rivinvaihdot kun siirsit tekstiä Windows/DOS- tai Mac-koneelta Linuxiin? <tt>dos2unix</tt> ja <tt>mac2unix</tt> -komennot auttavat.
# Rikoit rivinvaihdot kun siirsit tekstiä Windows/DOS- tai Mac-koneelta Linuxiin? <tt>dos2unix</tt> ja <tt>mac2unix</tt> -komennot auttavat.
# Komennolla <tt>[[cut]] -d ' ' -f 2</tt> tiedostonnimi voit tulostaa tiedoston jokaisen rivin toisen sanan.
# Komennolla <tt>[[cut]] -d ' ' -f 2</tt> tiedostonnimi voit tulostaa tiedoston jokaisen rivin toisen sanan.
# <tt>[[tac]] tiedostonnimi</tt> tulostaa tiedoston rivi kerrallaan alusta loppuun. <tt>[[rev]] tiedostonnimi</tt> tulostaa jokaisen rivin väärinpäin, ja <tt>rev tiedostonnimi | tac</tt> tulostaa koko tiedoston väärinpäin.
# <tt>[[tac]] tiedostonnimi</tt> tulostaa tiedoston rivi kerrallaan lopusta alkuun. <tt>[[rev]] tiedostonnimi</tt> tulostaa jokaisen rivin väärinpäin, ja <tt>rev tiedostonnimi | tac</tt> tulostaa koko tiedoston väärinpäin.
#<nowiki>WWW-sivuston kaikkien .html -sivujen META KEYWORDS -tageista saa helposti sivulistan tällä komennolla
#<nowiki>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
Rivi 93: Rivi 115:
# <tt>[[pdftotext]] tiedosto.pdf</tt> tekee tiedoston tiedosto.txt, joka hyvällä onnella sisältää PDF:n sisältämän tekstin.
# <tt>[[pdftotext]] tiedosto.pdf</tt> tekee tiedoston tiedosto.txt, joka hyvällä onnella sisältää PDF:n sisältämän tekstin.
# [[bzcat]] ja [[zcat]]-komennoilla voit tulostaa pakatun tiedoston sisällön näytölle tai tiedostoon pakettia purkamatta. bzcat ~/patch.bz2 | [[patch]] -p1 on hyvä esimerkki tästä. Myös esimerkiksi [[zless]] ja [[zgrep]] toimivat.
# [[bzcat]] ja [[zcat]]-komennoilla voit tulostaa pakatun tiedoston sisällön näytölle tai tiedostoon pakettia purkamatta. bzcat ~/patch.bz2 | [[patch]] -p1 on hyvä esimerkki tästä. Myös esimerkiksi [[zless]] ja [[zgrep]] toimivat.
# Tietyn numeron omaavan rivin saa tulostettua syötteeestä tai tiedostosta [[awk]]-ohjelman avulla: <tt>cat tiedosto | awk "FNR == 45"</tt> (tässä rivi 45).


==Kuvat ja multimedia==
==Kuvat ja multimedia==
Rivi 98: Rivi 121:
# Kuviakin voi käsitellä komentoriviltä. Kokeile vaikka <tt>identify jokukuva.gif</tt> (Identify kuuluu [[ImageMagick]]-pakettiin)
# Kuviakin voi käsitellä komentoriviltä. Kokeile vaikka <tt>identify jokukuva.gif</tt> (Identify kuuluu [[ImageMagick]]-pakettiin)
# [[Mplayer|Mplayerilla]] voit helposti kopioda Realplayer-streamia koneellesi tiedostoon. Tämä onnistuu komennolla <tt>mplayer -dumpstream URL_LÄHTEESEEN -dumpfile KOHDETIEDOSTO_LEVYLLÄ</tt>. Real-koodekit on tietysti oltava asennettuna.
# [[Mplayer|Mplayerilla]] voit helposti kopioda Realplayer-streamia koneellesi tiedostoon. Tämä onnistuu komennolla <tt>mplayer -dumpstream URL_LÄHTEESEEN -dumpfile KOHDETIEDOSTO_LEVYLLÄ</tt>. Real-koodekit on tietysti oltava asennettuna.
#Antamalla komennon <tt>mplayer filmi.ogg</tt> tekstikonsolissa voit katsella videota filmi.ogg ASCII-grafiikalla.
#Antamalla komennon <tt>mplayer filmi.ogg</tt> tekstikonsolissa voit katsella videota filmi.ogg


==Skriptaus==
==Skriptaus==
Rekisteröitymätön käyttäjä

Navigointivalikko