Basiscommando's
In deze sectie leer je bestanden en mappen aanmaken, kopiëren, verplaatsen, verwijderen en lezen — de dagelijkse werktuigen van elke Linux-gebruiker.
Bestandsnamen: vermijd spaties
Voordat we commando's bekijken, één belangrijke afspraak: gebruik geen spaties in bestandsnamen of mapnamen.
De spatie is in de terminal een scheidingsteken tussen argumenten. rm mijn bestand.txt wordt gelezen als rm mijn gevolgd door bestand.txt — twee aparte argumenten. Het commando probeert dan twee bestanden te verwijderen in plaats van één.
rm mijn bestand.txt # ✗ Probeert 'mijn' én 'bestand.txt' te verwijderen
rm "mijn bestand.txt" # ✓ Werkt, maar omslachtig
rm mijn-bestand.txt # ✓ Aanbevolen: gebruik koppeltekens
rm mijn_bestand.txt # ✓ Of underscores
Gebruik koppeltekens (-) of underscores (_) als scheidingsteken in namen. Dit is de gangbare Linux-conventie en voorkomt een hele reeks problemen.
Mappen en bestanden aanmaken
mkdir — map aanmaken
mkdir (make directory) maakt een nieuwe lege map aan. Je gebruikt het telkens wanneer je een nieuwe map in een project wilt aanmaken.
mkdir projecten # Maak de map 'projecten' aan
mkdir -p projecten/site/css # Maak ook tussenliggende mappen aan
Zonder de -p vlag (parents) geeft mkdir een fout als de tussenliggende mappen nog niet bestaan. Met -p maakt het de volledige padstructuur in één keer aan — handig wanneer je een projectstructuur opzet.
touch — leeg bestand aanmaken
touch maakt een leeg bestand aan als het nog niet bestaat. Als het bestand al bestaat, past het enkel de tijdstempel aan. Je gebruikt het vaak om een bestand klaar te zetten voordat je er iets in schrijft, of om een bestandsstructuur op te zetten.
touch index.html # Maak een leeg bestand aan
touch css/style.css js/script.js # Meerdere bestanden tegelijk
Bestanden verwijderen, kopiëren en verplaatsen
rm — verwijderen
TODO: laten we rmdir aanleren voor het verwijderen van (lege) mappen
rm (remove) verwijdert bestanden of mappen. Let op: er is geen prullenbak in de terminal. Wat je verwijdert, is onmiddellijk weg.
rm bestand.txt # Verwijder een bestand
rm -r map/ # Verwijder een map en alles erin (-r = recursive)
rm -f bestand.txt # Forceer verwijdering zonder bevestiging
rm -i bestand.txt # Vraag bevestiging voor elk bestand (-i = interactive)
Er is geen prullenbak in de terminal. rm -r verwijdert een volledige map met alles erin, permanent en onmiddellijk. Verifieer je commando altijd voor je op Enter drukt — met name rm -rf (force + recursive) is een gevaarlijke combinatie.
cp — kopiëren
cp (copy) maakt een kopie van een bestand of map. Het origineel blijft intact. Je geeft altijd een bron en een bestemming op.
cp bestand.txt kopie.txt # Kopieer bestand naar nieuwe naam
cp bestand.txt backup/ # Kopieer naar map 'backup' (zelfde naam)
cp -r map/ map-backup/ # Kopieer een volledige map recursief
cp *.html backup/ # Kopieer alle .html bestanden
Zonder -r kun je geen mappen kopiëren — cp geeft dan een foutmelding.
mv — verplaatsen of hernoemen
mv (move) verplaatst een bestand of hernoemt het. Beide operaties zijn eigenlijk hetzelfde: het pad van het bestand verandert. Als de bestemming een bestaande map is, wordt het bestand daarin geplaatst. Als de bestemming een bestandsnaam is, wordt het hernoemd.
mv bestand.txt documenten/ # Verplaats naar map 'documenten'
mv oud-bestand.txt nieuw.txt # Hernoem een bestand
mv map/ nieuwe-naam/ # Hernoem een map
mv *.log logs/ # Verplaats alle .log bestanden naar 'logs'
Bestanden lezen
cat — inhoud tonen
cat (concatenate) toont de volledige inhoud van een of meer bestanden in de terminal. Het is handig voor korte bestanden die je snel wilt bekijken. Voor langere bestanden gebruik je beter less.
cat bestand.txt # Toon de volledige inhoud
cat bestand1.txt bestand2.txt # Toon twee bestanden na elkaar
cat -n bestand.txt # Met regelnummers
less — scrollen door een bestand
less toont de inhoud van een bestand pagina per pagina. Je kunt erdoor scrollen, zoeken en weer afsluiten. Gebruik less voor logbestanden, configuratiebestanden of elk bestand dat niet op één scherm past.
less logfile.txt
less /etc/hosts
Navigeren in less:
| Toets | Actie |
|---|---|
Pijltjestoetsen of j/k | Regel voor regel scrollen |
Spatie of f | Volgende pagina |
b | Vorige pagina |
/zoekterm | Zoeken naar tekst (vooruit) |
n | Volgende zoekresultaat |
g | Begin van het bestand |
G | Einde van het bestand |
q | Afsluiten |
head en tail — begin en einde
head toont de eerste regels van een bestand, tail de laatste. Standaard zijn dat 10 regels, maar je kunt het aantal aanpassen met -n.
head bestand.txt # Eerste 10 regels
head -n 5 bestand.txt # Eerste 5 regels
tail bestand.txt # Laatste 10 regels
tail -n 20 bestand.txt # Laatste 20 regels
tail -f logfile.txt # Live meekijken: update automatisch
tail -f (follow) is bijzonder nuttig tijdens development: je kunt ermee live meekijken in een logbestand terwijl een applicatie draait. Elke nieuwe regel die aan het bestand wordt toegevoegd, verschijnt meteen in je terminal.
Hulp zoeken
man — de handleiding
man (manual) toont de volledige documentatie van een commando. Elk geïnstalleerd programma heeft doorgaans een man-pagina. Ze bevatten alle opties, argumenten en voorbeelden.
man ls # Handleiding van ls
man cp # Handleiding van cp
man 5 passwd # Sectie 5 = bestandsformaten (bv. /etc/passwd)
Navigeer in man met dezelfde toetsen als in less: pijltjes, / om te zoeken, q om te sluiten.
--help — snelle referentie
Bijna elk commando ondersteunt de --help vlag. Het toont een kortere lijst van de meest gebruikte opties — handig als je even snel een vlag wilt opzoeken zonder de volledige man-pagina te openen.
ls --help
tar --help
--help: snel de opties van een commando bekijkenman: uitgebreide documentatie met uitleg en voorbeelden- Zoekmachine: als je niet weet wélk commando je nodig hebt
Overzicht
| Commando | Wat het doet |
|---|---|
mkdir <map> | Nieuwe map aanmaken |
mkdir -p <pad> | Map + alle tussenliggende mappen aanmaken |
touch <bestand> | Leeg bestand aanmaken |
rm <bestand> | Bestand permanent verwijderen |
rm -r <map> | Map en alle inhoud verwijderen |
cp <bron> <doel> | Bestand kopiëren |
cp -r <map> <doel> | Map kopiëren |
mv <bron> <doel> | Bestand verplaatsen of hernoemen |
cat <bestand> | Volledige inhoud tonen |
less <bestand> | Bestand interactief lezen |
head -n N <bestand> | Eerste N regels tonen |
tail -n N <bestand> | Laatste N regels tonen |
tail -f <bestand> | Live meekijken (logbestanden) |
man <commando> | Volledige handleiding |
<commando> --help | Korte optielijst |