Tuolla sodat puolella olen vaihteeksi höpissyt aliaksista joten lienee aika käydä ne jälleen kerran läpi, olen aina silloin tällöin markkinoinut aliaksia sillä ne ovat kätevä tapa nopeuttaa komentorivin käyttöä ja niiden avulla voi monimutkaiset mutta usein toistuvat komentosarjat lyhentää helposti muistettaviksi sanoiksi.
Otetaan esimerkki omalta koneeltani, imuroin satunnaisesti valokuvat digikamerastani pöytäkoneeseen työhuoneessani kellaritiloissa. Minulla on myös LAN-serveri asuinkerroksen eteisessä ja haluan että valokuvat ovat katsottavissa kaikilta kotini tietokoneilta jotka ovat ympäri taloa langattomassa verkossa. Koska siis haluan nimenomaan että valokuvat ovat myös pöytäkoneellani imuroin ne sinne ja rsync -ohjelman avulla siirrän kopiot kuvista sinne LAN-serverille. Komento on jonkin sortin verkkolitania ja koska en halua alkaa muistelemaan liikoja tai graafisesti liittämään verkkoasemia olen luonut tuosta kopioinnin suorittavasta rsync -komennosta aliaksen nimeltä "rsynkkaa" joka suorittaa kaiken tarvittavan.
Voit itse kokeilla aliasta kirjoittamalla komentoriville seuraavan tekstin
alias h='history'
ja anna nyt komento "h" joka siis on komennon "history" alias ja suorittaa komennon "history" eli tulostaa komentohistorian. Jos käytät paljon "grep" suodatusta voit yhdistää nämä kaksi seuraavasti
alias hg='h | grep -i'
jolloin kyseessä on aliaksen ja suodattimen yhdistelmä eli komento (optio -i tekee kirjaimista samanarvoisia)
hg a
ajaa ensin historiakomennon ja leikkaa sitten tulosteesta kaikki rivit joilla esiintyy "a", jos olet asennellut komentoriviltä vaikkapa nvidian näytönohjainajurin niin luonnollisesti
hg nvidia
tulostaa kaikki rivit joilla olet kirnoittanut "nvidia". Eli tuosta jokainen voi miettiä itselleen sopivia aliaksia sillä koneen käyttötavasta riippuen eri ihmiset tarvitsevat erilaisa komentojakin.
Nyt kun nuo aliakset on tehty komentoriville niin ne kestävät vain sen aikaa kuin päätteen istunto kestää eli aliakset on syytä tehdä pysyviksi jotta niissä olisi mitään järkeä. Pysyviksi aliakset saa esittelemällä ne .bashrc tai .bash_aliases tiedostoissa tai jossakin mielivaltaisesti nimetryssä tiedostossa kunhan esitelee tuon tiedostonimen sitten .bashrc:ssä.
Avaa .bashrc vaikkapa geditilla ja etsi sieltä tämä kohta
#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi
jos otat tuosta risuaidat pois edestä niin sinun on samalla tehtävä tuon niminen tiedosto eli .bash_aliases tai sitten voit vaihtaa nuo nimet ihan miksi haluat joloin siis teet aliaksien määritelmät tuossa esiintyvään tiedostoon.
Mikä et aio tehdä kovin monia aliaksia niin ne voi tehdä tähän .bashrc -tiedostoonkin jolloin ET poista noita risuaitoja vaan menet siihen muutama rivi alemmas tällaiseen kohtaan
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
alias h='history'
alias hg='h | grep -i'
ja teet nuo aliakset siihen kuten tuossa yllä on ja jatkat tekemällä uusia aliaksia siihen rivi riviltä lisää mitä tulee mieleen. Lopuksi tallennat .bashrc:n ja tämän jälkeen käynnistettävissä päätteissä ovat nuo juuri tehdyt aliakset käytettävissä.
Toivon mukaan tämä rohkaisee käyttämään komentoriviä vähän enemmän ja tekee siitä nopeampaa ja helpompaa.
Otetaan esimerkki omalta koneeltani, imuroin satunnaisesti valokuvat digikamerastani pöytäkoneeseen työhuoneessani kellaritiloissa. Minulla on myös LAN-serveri asuinkerroksen eteisessä ja haluan että valokuvat ovat katsottavissa kaikilta kotini tietokoneilta jotka ovat ympäri taloa langattomassa verkossa. Koska siis haluan nimenomaan että valokuvat ovat myös pöytäkoneellani imuroin ne sinne ja rsync -ohjelman avulla siirrän kopiot kuvista sinne LAN-serverille. Komento on jonkin sortin verkkolitania ja koska en halua alkaa muistelemaan liikoja tai graafisesti liittämään verkkoasemia olen luonut tuosta kopioinnin suorittavasta rsync -komennosta aliaksen nimeltä "rsynkkaa" joka suorittaa kaiken tarvittavan.
Voit itse kokeilla aliasta kirjoittamalla komentoriville seuraavan tekstin
alias h='history'
ja anna nyt komento "h" joka siis on komennon "history" alias ja suorittaa komennon "history" eli tulostaa komentohistorian. Jos käytät paljon "grep" suodatusta voit yhdistää nämä kaksi seuraavasti
alias hg='h | grep -i'
jolloin kyseessä on aliaksen ja suodattimen yhdistelmä eli komento (optio -i tekee kirjaimista samanarvoisia)
hg a
ajaa ensin historiakomennon ja leikkaa sitten tulosteesta kaikki rivit joilla esiintyy "a", jos olet asennellut komentoriviltä vaikkapa nvidian näytönohjainajurin niin luonnollisesti
hg nvidia
tulostaa kaikki rivit joilla olet kirnoittanut "nvidia". Eli tuosta jokainen voi miettiä itselleen sopivia aliaksia sillä koneen käyttötavasta riippuen eri ihmiset tarvitsevat erilaisa komentojakin.
Nyt kun nuo aliakset on tehty komentoriville niin ne kestävät vain sen aikaa kuin päätteen istunto kestää eli aliakset on syytä tehdä pysyviksi jotta niissä olisi mitään järkeä. Pysyviksi aliakset saa esittelemällä ne .bashrc tai .bash_aliases tiedostoissa tai jossakin mielivaltaisesti nimetryssä tiedostossa kunhan esitelee tuon tiedostonimen sitten .bashrc:ssä.
Avaa .bashrc vaikkapa geditilla ja etsi sieltä tämä kohta
#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi
jos otat tuosta risuaidat pois edestä niin sinun on samalla tehtävä tuon niminen tiedosto eli .bash_aliases tai sitten voit vaihtaa nuo nimet ihan miksi haluat joloin siis teet aliaksien määritelmät tuossa esiintyvään tiedostoon.
Mikä et aio tehdä kovin monia aliaksia niin ne voi tehdä tähän .bashrc -tiedostoonkin jolloin ET poista noita risuaitoja vaan menet siihen muutama rivi alemmas tällaiseen kohtaan
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
alias h='history'
alias hg='h | grep -i'
ja teet nuo aliakset siihen kuten tuossa yllä on ja jatkat tekemällä uusia aliaksia siihen rivi riviltä lisää mitä tulee mieleen. Lopuksi tallennat .bashrc:n ja tämän jälkeen käynnistettävissä päätteissä ovat nuo juuri tehdyt aliakset käytettävissä.
Toivon mukaan tämä rohkaisee käyttämään komentoriviä vähän enemmän ja tekee siitä nopeampaa ja helpompaa.
Vastaukset 6
Vanhimmat
Yhdessä vaiheessa mulla oli wlan-tikun kanssa sellainen ongelma ettei buutista saanut sitä käyttöön vaan se piti aina buutin jälkeen ajaa alas ja sitten uudestaan ylös jolloin sain sen yhdistämään. Odotellessani että keksisi asiaan jonkun pysyvämmän korjauksen tein tuostakin aliaksen, en nyt muista ihan sanatarkasti sitä mutta se oli jokin tämän tyyppinen (se oli ubuntu siis)
alias net='ifdown wlan0 && ifup wlan0'
ja ajoin sen sudona eli komento
sudo net
suoritti siis tuon wlantikun alas-ylös-ajon, mielestäni nopeampi tapa kuin esim.
sudo ifdown wlan0
sudo ifup wlan0
En siis muista aliasta tarkasti koska ongelma hävisi jo about vuosi tai pari sitten ;)
Mulla ainakin menee noi oikeet koneet ihan automatic ilman komentoja kaiken tuon. kyseessa open suse. parissa lapparissa on sitten sellaisia jotka tarvii komentoja kun ne on sorsista vaannetty toimimaan.
tosin.. aliakset on oikein hyvia ja niita todellakin kannattaa kayttaa. En siis tarkoittanut piruilla tai mitaan.
Varsinkaqan kun surffaan jostain ihmeen romaniasta ja internet exploderilla ja windowesilla :S
Aika veikeaa muuten... Taalla ei toimi Firefox kunnolla, mutta internetwexploder toimii kunnolla. Meinaan etta kaikilla sivuilla on jotyain ihmeen vikoja firefoxissa :)
Not good to say anything if you are not sure what you are doing!
That's me.. Im sorry to post you something without reading all what you say. OK?
keksin tällaisen:
alias alias=alias
ja hyvin toimii!
No tuohan oli loistava keksintö, hyvä ;D Nyt ei tarvi munkaan enää mustella mikä on aliaksen komento kun sille tekee alias-aliaksen, loistavaa ;D
tuohan korvaa osin skriptitkin kun tekee aliaksia jossa on komento1 && komento2 jne
melkein näppärämpi tehdä noista alias kun komento /usr/local/bin:iin ja chmodata se suoritettavaksi.
joku joskus mut skripteistä vittuilikin, että niissä on jotain vikaa jos niitä ei saa yhdelle riville sopimaan :D