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
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.1 | $su |
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
Command | Beschrijving | Voorbeeld |
---|---|---|
man | Dit 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 |
ls | Het 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 |
df | Dit geeft de vrije ruimte weer op de aangekoppelde mountpoints (diskspace free). De flag -h toont de informatie in Mb of Gb. | $df- h |
du | Dit geeft de gebruikte ruimte weer van een map en de submappen (diskspace used). | $du -sh |
file | Geeft het bestandstype aan. | $file demo.odt |
ps | Dit command geeft de lijst met actieve processen weer. | $ps -ef |
Aanmaken, verwijderen, wijzigen en navigeren door bestanden.
Command | Beschrijving | Voorbeeld |
---|---|---|
cd | Change directory. Net als bij DOS is dit het command om van directory te wijzigen. | $cd /home/user/Desktop |
cp | Om 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/ |
mv | Om een bestand te verplaatsen, gebruik je mv. | $mv demo.odt /home/demo/documenten/ |
rm | Om 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 |
mkdir | Met dit command maak je een directory aan. | $mkdir /home/demo/documenten |
rmdir | Dit command lijkt sterk op rm, maar is alleen te gebruiken om directories te verwijderen. | $rmdir /home/demo/documenten |
touch | Hiermee 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 |
chmod | Om 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 |
chown | Voor het veranderen van de owner of group van een bestand of directory, gebruik je chown (change owner). | #chown demo-user![]() |
Zoeken en lokaliseren
Command | Beschrijving | Voorbeeld |
---|---|---|
locate | Het 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 |
pwd | Dit 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 |
which | Dit geeft het complete pad weer van een programma. | $which rpm |
grep | Veel 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 |
egrep | Dit werkt gelijk aan grep, maar biedt meer mogelijkheden (extended grep). | $egrep d(a|e)mo demo.txt |
diff | Om 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
Command | Beschrijving | Voorbeeld |
---|---|---|
mount | Hoewel 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 |
umount | Zoals te verwachten: dit doet het tegenovergestelde van ‘mount’, namelijk ontkoppelen. Standaard voorbehouden aan de gebruiker root. | #umount /mnt/demo |
tar | Bij 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 |
unzip | Speciaal voor .zip-archives is unzip de tool om zips uit te pakken. | $unzip demo.zip |
kill | Hoewel 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 |
killall | Dit 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 |
exit | Als 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 |
shutdown | Een 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
Command | Beschrijving | Voorbeeld |
---|---|---|
rpm | RPM 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 |
yum | De ‘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 |
dpkg | Vergelijkbaar 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-get | Vergelijkbaar 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 | $tar -zxvf demo.tar.gz $cd /demo |
Configureer het pakket met eventuele beschikbare flags.
PHP Code
1 | $./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.