De alias opdracht is een handig hulpmiddel bij het werken in de terminal. Bij correct gebruikt helpt het opdrachten vlugger uit te voeren en helpt het bij het corrigeren van tikfouten. De alias opdracht is in uw shell ingebouwd en is dus zonder installatie standaard voorhanden.
Alias wordt gebruikt om alternatieve versies te maken van regelmatig gebruikte opdrachten door deze een nieuwe naam te geven. Zo wordt het dikwijls gebruikt om complexe opdrachten via een eenvoudige naam te onthouden. Tevens kan je opdrachten via alias steeds met standaard opties laten uitvoeren.
Soms (en meer en meer) typ ik sl als ik eigenlijk de opdracht ls wilde typen (het zo omwisselen van letters bij het typen heeft zelfs een naam, maar ik laat me er niet voor behandelen, ik leerde ermee leven).
dany@linux-55yl:~> sl
If 'sl' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf sl
Om zo'n typfouten automatisch te laten corrigeren, maken we een alias met de naam sl. Deze alias moet er voor zorgen dat de opdracht ls wordt uitgevoerd.
dany@linux-55yl:~>ls
bin Documents Music planten.odt public_html tmp vmware Desktop Downloads Pictures Public Templates Videos dany@linux-55yl:~>sl
If 'sl' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf sl dany@linux-55yl:~>alias sl=ls
dany@linux-55yl:~>s
l bin Documents Music planten.odt public_html tmp vmware Desktop Downloads Pictures Public Templates Videos
We hebben zo de sl alias aangemaakt, die bij het uitvoeren de opdracht ls uitvoert. Dit is een eenvoudig voorbeeld. Als je gebruik maakt van enkele aanhalingstekens kan je aliassen aanmaken met opties en meerdere opdrachten. Laten we een alias aanmaken om ons extern IP adres weer te geven.
dany@linux-55yl:~>alias myip='wget -qO myip http://www.ipchicken.com/; grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" myip; rm myip'
dany@linux-55yl:~>myip
91.180.178.162
Het is belangrijk te beseffen dat een aangemaakt alias enkel werkt in de huidige shell sessie. Dit betekent dat je bij het afmelden of sluiten van een terminal al uw aangemaakte aliassen verdwijnen.
Normaal worden alle aliassen permanent gemaakt. Eén manier om dit te doen, is door ze toe te voegen aan uw ~/.bashrc bestand.
dany@linux-55yl:~>ls
bin Documents Music planten.odt public_html tmp vmware Desktop Downloads Pictures Public Templates Videos dany@linux-55yl:~>echo 'alias ls="ls -l"' >> ~/.bashrc
dany@linux-55yl:~>. ~/.bashrc
dany@linux-55yl:~>ls
totaal 980 drwxr-xr-x 2 dany users 4096 24 mei 18:51 bin drwxr-xr-x 3 dany users 4096 24 mei 20:57 Desktop lrwxrwxrwx 1 dany users 20 24 mei 17:55 Documents -> /usr/home/Documents/ drwxr-xr-x 6 dany users 4096 2 jul 14:16 Downloads lrwxrwxrwx 1 dany users 27 24 mei 17:55 Music -> /usr/home/Documents/Muziek/ lrwxrwxrwx 1 dany users 33 24 mei 17:55 Pictures -> /usr/home/Documents/Afbeeldingen/ -rw-r--r-- 1 dany users 967045 26 mei 18:09 planten.odt drwxr-xr-x 2 dany users 4096 24 mei 18:44 Public drwxr-xr-x 2 dany users 4096 24 mei 18:44 public_html drwxr-xr-x 2 dany users 4096 24 mei 18:44 Templates drwxr-xr-x 2 dany users 4096 4 jul 14:24 tmp lrwxrwxrwx 1 dany users 28 24 mei 17:55 Videos -> /usr/home/Documents/Video's/ drwxr-xr-x 8 dany users 4096 25 jun 15:40 vmware
Laten we opdracht per opdracht bekijken:
Om de gedefinieerde aliassen weer te geven, voer je de opdracht alias zonder opties uit (op sommige systemen moet je de -p optie gebruiken).
dany@linux-55yl:~> <code class="bash">alias</code> alias +='pushd .' alias -='popd' alias ..='cd ..' alias ...='cd ../..' alias beep='echo -en "\007"' alias cd..='cd ..' alias dir='ls -l' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -alF' alias la='ls -la' alias ll='ls -l' alias ls='ls -l' alias ls-l='ls -l' alias md='mkdir -p' alias myip='wget -qO myip http://www.ipchicken.com/; grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" myip; rm myip' alias o='less' alias rd='rmdir' alias rehash='hash -r' alias sl='ls' alias unmount='echo "Error: Try the command: umount" 1>&2; false' alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'
Om een alias te verwijderen gebruik je de unalias opdracht het de naam van de te verwijderen alias als optie.
dany@linux-55yl:~>alias | grep myip
alias myip='wget -qO myip http://www.ipchicken.com/; grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" myip; rm myip' dany@linux-55yl:~>unalias myip
dany@linux-55yl:~>alias | grep myip
Als je de alias in het ~/.bashrc bestand hebt opgenomen, moet je deze ook daar verwijderen. Anders wordt de alias bij de volgende terminal start opnieuw actief.
De alias opdracht is een handig hulpmiddel om efficiënter met terminal opdrachten te werken. Het is eenvoudig in het gebruik en de configuratie. Veel distributies zijn voorzien van een aantal voorgedefinieerde aliassen. Bekijk ze, pas ze aan en voeg nieuwe toe tot ze aan uw wensen voldoen. Vooral lange complexe en dus moeilijk te onthouden opdrachten zijn kandidaat opdrachten om een alias van te maken.