Unix-opas, luku 6 Komennot:

Uusien komentojen ja synonyymien määrittely: alias

Unixissa voi helposti määritellä komentosanoille synonyymejä alias-komennolla. Sillä voi myös määritellä uusia komentoja vanhojen avulla, esimerkiksi peruskomentojen muunnelmia, joissa komennon toimintaa muutetaan valitsimilla.

Komento

alias uusinimi komento

määrittelee komennolle uuden nimen. Huomaa, että komennon argumenteissa kerrotaan ensin määriteltävä (uuden komennon nimi) ja sitten sen määritelmä. Kyseessä on shellin komento, joten sen kuvaus löytyy shellin man-sivulta (esim. man tcsh).

Määritelmä on voimassa pääteistunnon loppuun, joten pysyviksi halutut määritelmät kannattaa kirjoittaa sopivaan alustustiedostoon .cshrc.

Esimerkiksi komento

alias del rm

määrittelee komentosanalle rm synonyymin del. Tämän jälkeen voidaan käyttää del-komentoa aivan kuten rm-komentoa - samanlaisilla argumenteilla ja valitsimilla.

Vaikka voi olla houkuttelevaa määritellä Unixin komentosanoille tutumpia tai luonnollisemman tuntuisia synonyymeja, kannattaa hiukan hillitä itseään. Ajan mittaan saattaa ero Unixin komentojen ja omien synonyymien välillä hämärtyä, ja jos sitten joudutaankin esim. tilapäisesti käyttämään jotain vierasta Unix-konetta, jossa omat määrittelyt eivät ole voimassa, voi mennä sormi suuhun.

Komento voidaan alias-komennolla määritellä myös sellaiseksi, että sen merkitys on jokin vanha komento joillakin kiinteillä valitsimilla. Tällöin alias-komennon toinen argumentti kannattaa kirjoittaa heittomerkkeihin, esim.

alias L 'ls -lt'

Tällöin pelkkä L toimii kuten ls -lt, mutta sille voidaan antaa myös argumentteja ja lisävalitsimia; esimerkiksi L -a foo* tarkoittaisi samaa kuin ls -lt -a foo*.

Määrittelyssä voi myös käyttää putkea. Esimerkiksi komento

alias dir 'ls -lt | more'

määrittelee dir-komennon, joka toimii kuten ls -lt mutta tulostus menee more-komennon kautta, siis sivutettuna.

Huomaa, että edellä esitetyn alias-määrittelyn jälkeen et voi antaa dir-komennolle argumentteja, koska ne menisivät argumentiksi more-komennolle eivätkä ls-komennolle! Tämä rajoitus voidaan kyllä kiertää, mutta alias-komennon hienouksien opettelun asemesta saattaa olla järkevämpää opetella käyttämään esim. ns. pieniä kieliä.

Voimassaolevat alias-määrittelyt saa selville komennolla alias ilman argumentteja. Ota huomioon, että todennäköisesti on voimassa joukko oletusarvoisia alias-määrittelyjä itse antamiesi lisäksi.

Alias-määrittelyn, jossa määriteltävä komento on ollut kom, voi poistaa komennolla unalias kom.