Tips en Trucs 2010

Bash tips

Gebruik !!

Typ !! gevolgd door Enter om de laatste opdracht nogmaals uit te voeren. Ctrl+P gevolgd door Enter heeft hetzelfde effect.

Gebruik uw eigen scripts

Als je een script hebt geschreven en getest, plaats die dan voor dagelijks gebruik in een map die voorkomt in de plaatshouder PATH (bekijken met de opdracht echo $PATH). Zo kun je het script uitvoeren als een gewone bash-opdracht. De map ~/bin (waarbij ~ uw persoonlijke map voorstelt) is daarvoor uitermate geschikt.

Gebruik Shift+Insert om te plakken

Deze tip werkt niet alleen in Bash, maar in elk terminal-programma. Plakken kun je ook door te klikken met de middelste muisknop.

Gebruik aliassen

Eén van de krachtigste functies van Bash is het gebruik van aliassen. Dit zijn meestal korte opdrachten die geassocieerd worden met langere opdrachten. Een voorbeeld: om een openSUSE systeem op te waarderen, gebruik je de opdracht sudo zypper refresh && sudo zypper update. Om een alias voor deze opdracht te maken, voeg je aan het bestand ~/.bashrc de volgende regel toe:
alias update='sudo zypper refresh && sudo zypper update'

Na een herstart van de terminal kun je het openSUSE systeem opwaarderen met de opdracht update.

Een overzicht van alle gebruikte aliassen krijg je met de opdracht alias.

Achterwaards zoeken met Ctrl+R (reverse search)

Ctrl+R zoekt achterwaards in de geschiedenis. Een voorbeeld: typ de opdracht df -h | grep /dev/sda1, druk Ctrl+R en typ enkel df, de meest recente opdracht wordt automatisch aangevuld en uitgevoerd na het drukken van Enter. Ctrl+R zoekt naar opdrachten die beginnen met wat je typt, en toont de laatste:
dany@linux-4wlv:~> df -h | grep /dev/sda1
/dev/sda1 147G 101G 46G 69% /
(reverse-i-search)`df': df -h | grep /dev/sda1

Gebruik !OPDRACHT

Waarbij OPDRACHT (het begin van) een opdracht is die in het verleden uitgevoerd werd. Een voorbeeld:

dany@linux-4wlv:~> for i in *.ogg; do vorbiscomment -l "$i"; done
...
dany@linux-4wlv:~> ls
...
dany@linux-4wlv:~> !for
for i in *.ogg; do vorbiscomment -l "$i"; done