Tips en Trucs 2014

Pseudoniemen voor opdrachten

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.

Een alias aanmaken

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:~> sl
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.

Permanente aliassen

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:

  1. We voeren de ls opdracht zonder details (-l optie) uit. Dit is het standaard gedrag van ls.
  2. We voegen een nieuwe ls alias toe aan het ~/.bashrc bestand, deze keer met de -l optie. Het .bashrc bestand (de bestandsnaam begint met een punt) is een verborgen bestand in uw persoonlijke map. Daarvoor gebruiken we hier de echo opdracht, dit kan natuurlijk ook met een teksteditor. Als je gebruik maakt van de echo opdracht zorg je best eerst voor een back-up van het ~/.bashrc bestand, je weet maar nooit. Let ook op het gebruik van >>.
  3. Met de . opdracht nemen we de nieuwe configuratie in ~/.bashrc op in onze huidige shell sessie. Dit gebeurt automatisch bij het aanmelden of opstarten van een nieuwe terminal.
  4. Met de laatste opdracht testen we de ls alias en zien we dat de -l optie nu standaard bij de ls opdracht hoort.

De alias lijst weergeven

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'

Een alias verwijderen

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.

Samenvatting

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.