7min

Tags in dit artikel

, ,

Belangrijke commands

Wie wegwijs wil worden in de shell-interface, zal commands moeten kennen. Vooral de oudere computergebruikers zullen nog wel eens met weemoed terugdenken aan het DOS-tijdperk, waarin de commandline je bedieningspaneel was op je monochrome scherm. Met de opkomst van de grafische omgevingen in Mac OS en later in MS Windows, is het gebruik van de commandline steeds minder geworden.
In Linux is het echter nog steeds een zeer krachtige interface, waarmee je het systeem prima kunt aansturen. Hieronder volgt een lijstje met veel gebruikte commands, waarbij we ons beperken tot navigeren, zoeken en kleine handelingen. Kortom: commands om snel en simpel met de commandline aan de slag te gaan.

Voor alle andere commands aan bod komen, zullen we eerst een van de meest belangrijke commands introduceren:

PHP Code
1
$su
Veel opdrachten kunnen niet als gewone user uitgevoerd worden. Daarvoor heb je superuser- of rootrechten nodig. Aangezien het veruit te aan te raden is om als gewone user in te loggen, zul je voor sommige handelingen even deze rechten moeten verwerven. Dit doe je dus met ‘su’. Voorwaarde is wel dat je weet wat het wachtwoord van de root is.

PHP Code
1
$sudo <command>

Dit commando lijkt sterk op ‘su’, maar verschilt op een paar punten. ‘Sudo’ is namelijk verbonden met een configuratiebestand /etc/SUDOERS. Hierin staat beschreven welke root-privileges aan een bepaalde user zijn verleend. Het is dus mogelijk dat je met ‘sudo’ een ‘root-commando’ probeert uit te voeren, terwijl je daar geen privileges voor hebt gekregen. In dat geval volgt een foutmelding. Het uitvoeren van een ‘sudo’-command moet altijd bevestigd worden met het wachtwoord van de user (niet van de root).

In de onderstaande tabellen hebben we geprobeerd om de commands te ordenen naar functie.

Informatie over bestanden en hardware



CommandBeschrijvingVoorbeeld
manDit staat voor manual. Vrijwel elk programma kent een beschrijving van hoe het gebruikt moet worden. Door ‘man’ voor een command te plaatsen, krijg je een document te zien met daarin de beschrijving van het command en de bijbehorende opties.$man cp
lsHet list command. Het lijkt sterk op ‘dir’ bij DOS, omdat het een lijst geeft van de inhoud van een map. Er is echter veel mogelijk, bijvoorbeeld met de flags -a en -l of in combinatie, al naar gelang het informatieniveau wat je wilt hebben.$ls -al
dfDit geeft de vrije ruimte weer op de aangekoppelde mountpoints (diskspace free). De flag -h toont de informatie in Mb of Gb.$df- h
duDit geeft de gebruikte ruimte weer van een map en de submappen (diskspace used).$du -sh
fileGeeft het bestandstype aan.$file demo.odt
psDit command geeft de lijst met actieve processen weer.$ps -ef

Aanmaken, verwijderen, wijzigen en navigeren door bestanden.



CommandBeschrijvingVoorbeeld
cdChange directory. Net als bij DOS is dit het command om van directory te wijzigen.$cd /home/user/Desktop
cpOm een bestand te kopiëren gebruik je cp. Het eerste deel na het command is de bron, het tweede deel is het doel.$cp demo.odt /home/demo/documenten/
mvOm een bestand te verplaatsen, gebruik je mv.$mv demo.odt /home/demo/documenten/
rmOm een bestand of directory te verwijderen, gebruik je rm. Met de optie -r kun je een dir recursief wissen. De optie -f is om de actie te forceren; er wordt niet meer om toestemming gevraagd.$rm -rf /home/demo/documenten
mkdirMet dit command maak je een directory aan.$mkdir /home/demo/documenten
rmdirDit command lijkt sterk op rm, maar is alleen te gebruiken om directories te verwijderen.$rmdir /home/demo/documenten
touchHiermee maak je een bestand aan. Aanvankelijk is het leeg, maar met een texteditor kun je het gebruiken om er een batch-script van te maken of gewoon een tekstbestand te laten zijn.$touch demo
chmodOm de rechten (lezen, schrijven en uitvoeren) van een bestand of directory te wijzigen (voor user, group en overigen), gebruik je chmod (change mode).$chmod +rwx demo.bin
chownVoor het veranderen van de owner of group van een bestand of directory, gebruik je chown (change owner).#chown demo-user:demo-group demo.bin

Zoeken en lokaliseren



CommandBeschrijvingVoorbeeld
locateHet doet wat het zegt: lokaliseren. Wanneer je niet meer weet waar een bestand zich bevindt, kun je locate gebruiken. Het is gekoppeld aan een database, die bij het opstarten geupdate wordt. Met het uitvoeren van het command, geeft het de locatie van een bestand weer.$locate demo.bin
pwdDit staat voor ‘print working directory’. Om snel uit te vinden wat het complete pad is, waar je je op dat moment bevindt, kun je pwd als command invoeren.$pwd
whichDit geeft het complete pad weer van een programma.$which rpm
grepVeel commando’s geven tientallen regels informatie, terwijl je maar geïnteresseerd bent in een klein deel ervan. Met ‘grep’ kun je text en output filteren aan de aan van regular expressions.$grep d?mo demo.txt
egrepDit werkt gelijk aan grep, maar biedt meer mogelijkheden (extended grep).$egrep d(a|e)mo demo.txt
diffOm verschillen tussen twee bestanden te vinden, is diff een handige tool (bijvoorbeeld als je twee versies van een configuratiebestand heb, waarbij je snel wilt zien, waarin ze verschillen).$diff demo.conf demo1.conf

Mounten, archives en systeemcommands



CommandBeschrijvingVoorbeeld
mountHoewel het aankoppelen (‘mounten’) van DVD’s, HDD’s, etc. vrijwel automatisch gaat in Linux, is het beheersen van ‘mount’ zeker niet overbodig. Met mount kun je niet alleen hardware aankoppelen, maar bijvoorbeeld ook images (.iso). Standaard kan dit alleen door een root gedaan worden. #mount -o loop -t iso9660 demo.iso /mnt/demo
umountZoals te verwachten: dit doet het tegenovergestelde van ‘mount’, namelijk ontkoppelen. Standaard voorbehouden aan de gebruiker root. #umount /mnt/demo
tarBij Linux kom je verschillende soorten archives tegen, bijvoorbeeld .tar.gz, .tar.bz2 en.tgz. Met ’tar’ kun je deze archives uitpakken. Eveneens kun je tar gebruiken om archives te maken. $tar -zxvf demo.tar.gz
unzipSpeciaal voor .zip-archives is unzip de tool om zips uit te pakken.$unzip demo.zip
killHoewel het niet vaak voorkomt, moet je in Linux wel eens aan de noodrem trekken. Kill kan processen aan de hand van process-ID’s stoppen. Met ‘ps’ kun je zien welke processen er actief zijn en welk process-ID deze hebben. Deze informatie kan gebruikt worden bij kill om een proces te beëindigen. Het command ‘kill -9’ kan gegeven worden, wanneer een proces blijft ‘hangen’. $kill 5276
killallDit command lijkt sterk op ‘kill’, maar stopt een proces niet op process-ID, maar op naam. Als je al een proces moet beëindigen, kies dan eerst voor ‘kill’. Mocht het daarmee echt niet lukken, dan is ‘killall’ de laatste optie.$killall thunderbird
exitAls je klaar bent met een ‘su’-sessie of een terminal-sessie wilt beëindigen, doe je dit netjes met ‘exit’. In het eerste geval zul je van de ‘su’-sessie teruggaan naar de gebruikers-sessie. In het tweede geval zal de terminal afgesloten worden.$exit
shutdownEen oud, maar toch zeer bruikbaar command. Met de flags -h (systeem uitzetten) of -r (systeem rebooten) kun je via de commandline het systeem netjes uitzetten of rebooten. Daarnaast kun je ook aangeven na hoeveel tijd je die actie wilt uitvoeren.#shutdown -r now

Programma’s installeren



CommandBeschrijvingVoorbeeld
rpmRPM staat voor RedHat Package Manager. Een .rpm-bestand is een soort archive, waarin de noodzakelijke bestanden voor een programma staan. Met ‘rpm -i’ kun je deze bestanden installeren, ‘rpm -e’ verwijderd een rpm-pakket.#rpm -i demo.rpm
yumDe ‘Yellow Dog Update Manager’ is een handige tool om programma’s te installeren aan de hand van repositories. Aan de hand van de naam van een pakket, zal een .rpm van de repository gedownload en geïnstalleerd worden.#yum install demo
dpkgVergelijkbaar met rpm, maar dan voor het installeren van .deb-packages. Met ‘dpkg -i’ installeer je een .deb-package, terwijl je met ‘dpkg -r’ een .deb-package verwijdert. #dpkg -i demo.deb
apt-getVergelijkbaar met yum, maar nu specifiek voor .deb-sources. Aan de hand van de naam van een pakket, zal een .deb van de source gedownload en geïnstalleerd worden.#apt-get install demo

Tot slot nog een korte opmerking over het installeren van programma’s met de broncode. Soms zijn er voor je distributie geen .deb of .rpm pakketten beschikbaar. Dan zul je met de broncode zelf het programma moeten compileren en builden. Om dit te kunnen, moeten vaak een enorme hoeveelheid libraries geïnstalleerd zijn. Aangezien de meeste distributies een zeer compleet pakket hebben aan programma’s in hun sources of repositories, worden deze libraries niet meer standaard geïnstalleerd. Als je de hieronder genoemde stappen dan uitvoert, zul je zeer waarschijnlijk al snel een foutmelding krijgen, omdat er een bestand gemist wordt. Desalniettemin, hieronder staan de meest voorkomende handelingen:

Lees altijd de readme-files en de installatie-instructies, wanneer deze meegeleverd worden. Hierin staat zeer relevante informatie over het installeren van een programma met behulp van de broncode. Over het algemeen verloopt de installatie volgens de hieronder beschreven stappen:
Pak de broncode uit en ga de uitgepakte directory in.

PHP Code
1
2
$tar -zxvf demo.tar.gz
$cd /demo

Configureer het pakket met eventuele beschikbare flags.

PHP Code
1
2
3
$./configure 
of bijvoorbeeld met de flag –prefix:
$./configure –prefix=/usr/demo

Er wordt aan de hand van de configuratie een make-file gemaakt:

PHP Code
1
$make

Deze moet nu nog geïnstalleerd worden als root:

PHP Code
1
#make install

Het programma is nu geïnstalleerd en klaar voor gebruik.

Op de volgende twee pagina’s zullen we een paar van deze commands verder uitwerken. Ten eerste willen we ons dan richten op het rechtensysteem voor user, groups en bestanden/mappen, omdat dit een van de meest belangrijke onderdelen is in een Linuxsysteem. Op de daaropvolgende pagina willen we ons richten op de mogelijkheden, die je hebt om in Linux bestanden te doorzoeken.