Erittäin hyödyllisiä linux-komentoja

Kirjoittanut . Liittyy aiheisiin .

Arkistomatskua

Otathan huomioon, että tämä on yli 9 vuotta vanha artikkeli, joten sisältö ei ole välttämättä ihan ajan tasalla. Olin artikkelin kirjoittamishetkellä 21-vuotias.

Linuxin ehdoton valttikortti on komentojen ja komentorivipohjaisten ohjelmien laajuus. Komentoriviltä tapahtuvat ”loitsut” ovat nopeita ja käteviä moneen tilanteeseen. Windowsissa suurin osa asioista tapahtuu graafisesti, vaikka MS DOSin komentorivin (cmd) rippeitä onkin vielä kutakuinkin jäljellä uusissakin Windowseissa. Linuxin tehokas käyttö perustuu kuitenkin komentorivikomentoihin, tai komentoriviin ja graafisen työpöytäympäristön yhteistyöhön. Siksi päätin esitellä joitakin hyödyllisimmistä komennoista linuxille.

Viimeksi halusin etsiä sadoista irc:n logitiedostoista minusta sanottuja asioita, jotka lisäsin infosivulle. Käsin homma olisi käynyt liian hitaaksi, sillä joutuisi avaamaan tiedostot ja ctrl+f:llä etsiä jokainen erikseen. Onneksi on linuxin grep-komento, joka suodattaa halutun pätkän melkein mistä tahnsa tulosteesta ja heittää sen tarjottimelle:

grep -r -i -h ”rolle on” /media/lahna/web/backups/nikita.tnnet.fi/090206/public_html/logit/ > /home/rolle/logeista/rolle.txt

-r-vipun r tulee sanasta recursive, joka tarkoittaa sitä että se hakee myös osoitetun polun alikansioista. -i tulostaa kaikki jotka osuvat hakusanaan/-lauseeseen kirjaimien koosta huolimatta (vaikka alkukirjain olisi isolla). -h ei tulosta tiedostojen polkua, vaan pelkestään osumat. > -merkki osoittaa tiedoston, johon ulosanti heitetään. Jos loppua ei laittaisi, komento tulostaisi kaiken komentoriville komennon ajamisen jälkeen. Komentoa voi soveltaa moniin käyttötarkoituksiin, sillä voi etsiä teksinpätkiä oikeastaan mistä vain. Kätevä komento on myös silloin kun haluaa tappaa jonkun prosessin komentoriviltä, sanotaan nyt vaikka firefoxin ps x |grep firefox, joka tulostaa seuraavaa:

rolle@peikko:~> ps x |grep firefox
10122 ? S 0:00 /bin/sh /usr/bin/firefox
10127 ? Sl 15:28 /usr/lib/firefox/firefox
10750 pts/3 S+ 0:00 grep firefox

Prosessit on täten helppo tappaa, varsinkin silloin kun ohjelma (tässä tapauksessa firefox) olisi jumittunut tai kaatunut ja jäänyt roikkumaan zombiena taustalle (jota hyvin harvoin tapahtuu linuxissa, ainakin firefoxin kohdalla) eikä killall firefox auta. kill -s 9 10122 tappaisi tässä vaiheessa firefoxin väkisin ja välittömästi. kill -s 9 tappaa prosessin kuin prosessin (vaikka se ei muuten kuolisi) kyselemättä yhtään mitään.

Entä sitten kun pitää löytää tiedostoja? Silloin find-komento tulee tarpeen. Seuraavassa skenaariossa hääkuvat ovat hukassa. Tietenkin findinkin käyttötavat ovat rajattomat.

find /media/lahna/kuvat/ -name ’*häät*’

Kuvien pienennykseen sopii mainiosti kätevän ImageMagickin mogrify-komento. Kyseistä komentoa käytän myös omassa galleriassani. Tässä esimerkkejä:

mogrify -resize 500 *.jpg
mogrify -resize 640×480 *.jpg
mogrify -resize 50% *.jpg

Pikkukuvien luonti käy seuraavasti. Allaoleva komento muuttaa ensin kuvan koon 200x200px:ksi, sitten rajaa kuvan 70×70 pikseliin aloittaen rajaamisen 30px ylhäältä ja vasemmalta:

mogrify -resize 200×200 -crop 70×70+30+30 *.jpg

Tiedostonimiä tai päätteitä täytyy joskus muuttaa, mutta se menee hankalaksi jos tiedostoja on useita. Itse olen monesti halunnut muuttaa windowsin kameravelhon muodostamat kuvanimet (esimerkiksi ”juhlat 001.jpg, juhlat 002.jpg ym.) joksikin muuksi, mutta kun kuvia onkin satoja, ei niiden uudelleennimeäminen olekaan enää niin kivaa. Viimeksi hääkuvamme oli nimetty ”häät 001.jpg” ym ja tahdoin ne nettiin, mikä ei tietenkään ollut järkevää ääkkösien kanssa. Homma hoitui rename-komennolla. Seuraava komento muuttaa saman kansion kaikkien jpg-tiedostojen ”häät” -kohdan ”wedding”ksi:

rename häät wedding *.jpg

Vaikeimman kautta homma onnistuisi myös for-komennolla. Seuraavaa komentoa on käytetty .JPG-päätteisten tiedostojen uudelleennimeämistä .jpg:ksi (isot kirjaimet pieneksi):

for f in *.JPG; do mv ./”$f” ”${f%JPG}jpg”; done

Linuxin pikakuvake (tai enemmänkin ”linkki”-)systeemi on paljon kätevämpi kuin windowsin. Linkitys ikään kuin luo tiedostoa näennäiskopion, joka johtaa linkitettyyn aitoon tiedostoon. Esimerkiksi serverikäytössä tämä on loistavaa jos halutaan julkaista materiaalia vaikkapa toiselta kiintolevyltä. Tarvitsee vain suorittaa komento, joka luo kansion/tiedoston kohdetiedostosta (=linkin):

ln -s <kansio josta tehdään linkki> <kansio/tiedosto, jonne linkki ilmestyy>

Siinäpä muutamia tarpeellisia komentoja näin alkuun. Jotkut näistä ei toimi oletuksena, vaan ne pitää ensin asentaa.

Kuva Roni Laukkarisesta

Roni Laukkarinen

Kirjoittaja on 30-vuotias elämäntapanörtti, ammatiltaan yrittäjä itse perustamassaan digitoimistossa ja SaaS-palvelua kehittävässä startupissa, verkkosivujen tekijä, sosiaalisen median asiantuntija ja koukussa kirjoittamiseen 5-vuotiaasta. Suurin osa päivästä kuluu hevimusiikin ja koodaamisen parissa, mutta arkea piristyttää myös vaimo ja kaksi lasta. Twitter, leffat ja erikoisoluet lähellä sydäntä.

Lue Rollesta lisää

Reaktiot

Vaadittu kenttä

 

2 kommenttia

  1. Nicd

    No mutta, tästähän puuttuu se kaikkein tärkein komento, eli uptime! ;)

  2. Komentorivin parhaat, osa II | Rollemaa.org

    […] 4 kertaa Kirjoitin viime talvena pienen oppaan parhaista Linux-komennoista ja pienistä komentoriviohjelmista. /home/rolle/Työpöytä/muistiinpanoja -tiedostoon lataan kaikki komennot ja ohjeet talteen mitä […]