Ga naar inhoud

📁 Bestandssysteem

Linux Bestandssysteem

Het Linux-bestandssysteem vormt de ruggengraat van elke Ubuntu-installatie.
Deze pagina biedt een overzicht van de hiërarchie van mappen, de locatie van cruciale systeembestanden, essentiële commando’s voor navigatie en beheer, en best practices om je systeem georganiseerd en veilig te houden.


1. Overzicht van het bestandssysteem

Linux gebruikt een hiërarchisch bestandssysteem met de root / als startpunt.
Het systeem is opgebouwd uit standaardmappen, elk met een specifieke rol, die samen de structuur en organisatie van het systeem bepalen.
Hieronder volgt een overzicht van de belangrijkste mappen:

Hoofdmap / – Rootdirectory van Linux

De rootdirectory / is het startpunt van het hele Linux-bestandssysteem.
Alle andere mappen en bestanden hangen hier direct of indirect onder.
Hieronder een overzicht van de belangrijkste subdirectories van /, inclusief voorbeelden en wie er toegang heeft:

Map Functie Voorbeeld Gebruikerstoegang
/bin Essentiële binaire bestanden (commando’s) voor alle gebruikers /bin/ls, /bin/cp alle gebruikers (execute), root (wijzigen)
/boot Kernel, initramfs, bootloader bestanden /boot/vmlinuz, /boot/grub root (write), gebruikers meestal read
/dev Apparaatbestanden zoals disks, USB’s, terminals /dev/sda, /dev/tty root voor beheer, gebruikers soms beperkt via rechten/groups
/etc Configuratiebestanden van systeem en applicaties /etc/passwd, /etc/ssh/sshd_config root (write), alle gebruikers vaak read-only
/home Home directories van gebruikers /home/user/ eigenaar (full), andere gebruikers geen toegang
/lib Essentiële libraries voor binaries /lib/libc.so.6 root (write), gebruikers read
/media Automount punt voor externe media (USB, CD) /media/usb, /media/cdrom alle gebruikers (toegang afhankelijk van mount-rechten)
/mnt Tijdelijk mounten van schijven /mnt/data root voor mounten, daarna afhankelijk van permissies
/opt Optionele software pakketten /opt/google/chrome/ root (beheer), gebruikers (read/execute)
/proc Virtueel bestandssysteem met process info /proc/cpuinfo, /proc/1234/ alle gebruikers (read), root kan meer schrijven
/root Home directory van de root-gebruiker /root/.bashrc alleen root
/run Tijdelijke runtime bestanden (PID files, sockets) /run/sshd.pid root (volledig), gebruikers meestal beperkt
/sbin Systeembinaire bestanden (beheercommando’s) /sbin/reboot, /sbin/fsck root (execute & wijzigen), gebruikers meestal alleen read
/srv Data voor services (web, FTP, databases) /srv/www/, /srv/ftp/ root (beheer), servicespecifieke gebruikers
/tmp Tijdelijke bestanden /tmp/testfile.txt alle gebruikers (read/write), wordt vaak geleegd bij reboot
/usr Gebruikerssoftware, libraries en documentatie /usr/bin/python3, /usr/share/doc/ root (beheer), alle gebruikers read/execute
/var Variabele data zoals logs, spool, databases /var/log/syslog, /var/spool/mail/ root (beheer), sommige servicespecifieke gebruikers

/bin – Essentiële binaire bestanden

De /bin map bevat essentiële commando’s die door alle gebruikers gebruikt kunnen worden. Deze bestanden zijn nodig voor dagelijks systeemgebruik en basisbeheer.

Bestand / Directory Functie
ls Lijst de inhoud van mappen
cp Kopieert bestanden en mappen
mv Verplaatst of hernoemt bestanden
cat Toont de inhoud van bestanden
bash De standaard shell voor gebruikers
touch Maakt lege bestanden of update timestamps
Tip

/bin bevat commando’s die voor alle gebruikers beschikbaar zijn. Pas op bij wijzigingen: gewone gebruikers kunnen meestal alleen uitvoeren, root kan ook wijzigen.

Waarschuwing

Verwijder of wijzig geen bestanden in /bin.
Onjuist gebruik kan leiden tot het niet meer functioneren van basiscommando’s, wat het systeemgebruik ernstig kan belemmeren.

/boot – Kernel en bootloader bestanden

De /boot map bevat alle bestanden die nodig zijn om het systeem op te starten. Dit omvat de kernel, initramfs, de bootloaderconfiguratie en gerelateerde bestanden.

Bestand / Directory Functie
vmlinuz-* De Linux-kernel zelf; het belangrijkste bestand dat het systeem opstart
initrd.img-* Initramfs image, gebruikt tijdens het opstarten om modules en drivers te laden
grub/ Directory met configuratiebestanden en modules voor GRUB (de bootloader)
System.map-* Symbolische informatie over kernelfuncties; wordt gebruikt voor debugging en debugging tools
config-* Kernelconfiguratiebestand dat aangeeft hoe de kernel is gecompileerd
lost+found (soms) Reserveplaats voor herstelde bestanden na een fout; meestal automatisch door ext4 aangemaakt
Tip

Alleen root kan schrijven naar /boot. Gewone gebruikers kunnen de bestanden meestal alleen lezen.

Waarschuwing

Verwijder of wijzig nooit bestanden in /boot zonder volledig begrip van de gevolgen.
Onjuist gebruik kan leiden tot een niet-opstartbaar systeem.
Bij kernel-updates of GRUB-configuraties voegen pakketten meestal automatisch de benodigde bestanden toe of passen deze aan.

/dev – Apparaatbestanden

De /dev map bevat apparaatbestanden die hardware en virtuele apparaten representeren. Deze bestanden worden gebruikt door het systeem en applicaties om te communiceren met harde schijven, USB-sticks, terminals, printers, en andere apparaten.

Bestand / Directory Functie
/dev/sda Eerste harde schijf (block device)
/dev/sdb Tweede harde schijf of externe schijf
/dev/tty Terminal interface
/dev/null Speciale "null device", alles wat hiernaartoe wordt geschreven verdwijnt
/dev/random / /dev/urandom Bron van willekeurige gegevens voor cryptografie en beveiliging
/dev/loop0 Loopback device voor gemounte images
Tip

Gebruik bestanden in /dev via de juiste commando’s of toepassingen, zoals mount, dd of cat. Deze bestanden representeren apparaten en geen gewone bestanden.

Waarschuwing

Onjuist gebruik van /dev kan leiden tot dataverlies, hardwareproblemen of systeeminstabiliteit.
Wijzig of verwijder geen bestanden hier zonder kennis van de impact.

/etc – Configuratiebestanden van systeem en applicaties

De /etc map bevat alle systeem- en applicatieconfiguraties. Hier staan instellingen voor gebruikersbeheer, netwerk, services en software. Gewoonlijk kan alleen root bestanden hier aanpassen.

Bestand / Directory Functie
/etc/passwd Gebruikersaccounts en informatie over gebruikers
/etc/shadow Beveiligde wachtwoordhashes
/etc/fstab Configuratie voor automatisch mounten van bestandenystemen
/etc/hosts Lokale hostnaam- en IP-adres mapping
/etc/ssh/sshd_config Configuratiebestand voor de SSH-server
/etc/network/ Netwerkconfiguratiebestanden
/etc/systemd/ Configuraties voor systemd-services
Tip

Maak altijd een backup voordat je wijzigingen aanbrengt in /etc. Hierdoor kun je configuraties herstellen als iets misgaat.

Waarschuwing

Alleen root kan bestanden in /etc aanpassen.
Onjuiste wijzigingen kunnen leiden tot systeemproblemen, netwerkuitval of dienstuitval.

/home – Home directories van gebruikers

De /home map bevat de persoonlijke directories van alle normale gebruikers. Elke gebruiker heeft hier volledige controle over zijn eigen bestanden en instellingen, zonder toegang tot de home directories van anderen.

Bestand / Directory Functie
/home/alice/ Persoonlijke bestanden en configuraties van gebruiker Alice
/home/bob/ Persoonlijke bestanden en configuraties van gebruiker Bob
Documents/ Standaardmap voor documenten
Downloads/ Standaardmap voor gedownloade bestanden
Pictures/ Standaardmap voor afbeeldingen
.config/ Gebruikersspecifieke configuratiebestanden voor applicaties
.ssh/ SSH-sleutels en configuratiebestanden
Tip

Bewaar persoonlijke bestanden altijd in /home. Hierdoor blijft het systeem georganiseerd en kunnen gebruikers zonder rootrechten veilig werken.

Waarschuwing

Gewone gebruikers hebben geen toegang tot andere home directories.
Root kan natuurlijk overal bij, maar wijzigingen in andermans home directory kunnen gegevensverlies of configuratieproblemen veroorzaken.

/lib – Essentiële libraries voor binaries

De /lib map bevat bibliotheken die nodig zijn door binaries in /bin en /sbin om correct te functioneren. Deze bibliotheken bevatten gedeelde code die door verschillende programma’s wordt gebruikt, zoals standaard C-bibliotheken en kernelmodules.

Bestand / Directory Functie
libc.so.6 Standaard C-bibliotheek gebruikt door vrijwel alle programma’s
libm.so.6 Wiskundige functies en routines
/lib/modules/ Kernelmodules voor hardware en drivers
ld-linux.so.* Dynamische linker/loader voor uitvoerbare bestanden
Tip

Wijzig of verwijder nooit bestanden in /lib. Deze bibliotheken zijn cruciaal voor de werking van het systeem.

Waarschuwing

Alleen root kan bestanden in /lib beheren. Onjuist gebruik kan leiden tot niet-functionerende programma’s of een onbruikbaar systeem.

/media – Automountpunt voor externe media

De /media map wordt gebruikt door het systeem om automatisch externe apparaten zoals USB-sticks, cd/dvd’s of externe harde schijven te koppelen (mounten).
Elke gebruiker krijgt meestal een submap wanneer hij of zij een apparaat aansluit.

Bestand / Directory Functie
/media/usb Automatisch aangekoppelde USB-stick
/media/cdrom Automatisch aangekoppelde cd/dvd
/media/<username>/ Gebruikersspecifieke submap voor gemounte apparaten
Tip

/media wordt vooral door desktop-omgevingen gebruikt (zoals GNOME of KDE) om apparaten automatisch te mounten.
Voor handmatig mounten wordt meestal /mnt gebruikt.

Waarschuwing

Zorg ervoor dat je apparaten veilig unmount met umount of via de desktopomgeving voordat je ze verwijdert.
Onjuist loskoppelen kan leiden tot datacorruptie of verlies van bestanden.

/mnt – Tijdelijk mountpunt voor schijven

De /mnt map wordt gebruikt voor tijdelijk koppelen (mounten) van externe of interne schijven. Systeembeheerders gebruiken deze map vaak om schijven handmatig te mounten voor onderhoud, back-ups of testdoeleinden.

Bestand / Directory Functie
/mnt/data Voorbeeld van een handmatig aangekoppelde schijf
/mnt/usb Tijdelijk aangekoppelde USB-stick
/mnt/backup Tijdelijke locatie voor back-ups
Tip

Gebruik /mnt voor tijdelijke mounts. Verwijder na gebruik de koppeling met umount om systeemconflicten te voorkomen.

Waarschuwing

Alleen root kan schijven mounten of unmounten in /mnt. Onjuist gebruik kan leiden tot dataverlies of beschadiging van bestanden.

/opt – Optionele software pakketten

De /opt map wordt gebruikt voor extra of optionele software die niet standaard deel uitmaakt van het basissysteem.
Applicaties die buiten de pakketmanager (zoals apt) om worden geïnstalleerd, plaatsen hier vaak hun bestanden.

Bestand / Directory Functie
/opt/google/ Bestanden van Google Chrome of andere Google-apps
/opt/vmware/ VMware Workstation of VMware-tools
/opt/<app>/bin/ Uitvoerbare bestanden van de geïnstalleerde applicatie
/opt/<app>/lib/ Bibliotheken van de applicatie
Tip

Gebruik /opt voor derde-partij software die niet via de standaard pakketmanager wordt geïnstalleerd.
Dit houdt het systeem overzichtelijk en scheidt optionele applicaties van systeembestanden.

Waarschuwing

Alleen root kan bestanden in /opt installeren of wijzigen.
Onjuist beheer kan leiden tot conflicten met pakketbeheer of kapotte applicaties.

/proc – Virtueel bestandssysteem voor processen en kernelinformatie

De /proc map is een virtueel bestandssysteem dat informatie bevat over draaiende processen en de kernel.
Het bestaat niet echt op de schijf, maar wordt dynamisch door de kernel aangemaakt.
Hier vind je systeeminformatie, hardwaredetails en per-proces directories.

Bestand / Directory Functie
/proc/cpuinfo Informatie over de processor(s)
/proc/meminfo Gegevens over het RAM-geheugen
/proc/uptime Hoelang het systeem actief is
/proc/1234/ Directory voor proces-ID 1234 met info en status
/proc/modules Lijst van geladen kernelmodules
/proc/sys/ Kernelparameters die dynamisch aangepast kunnen worden via sysctl
Tip

Je kunt bestanden in /proc vaak bekijken met commando’s zoals cat, less of grep.
Handig voor troubleshooting en systeemmonitoring.

Waarschuwing

Pas nooit bestanden in /proc/sys/ handmatig aan zonder te weten wat ze doen.
Onjuiste wijzigingen kunnen leiden tot instabiliteit of beveiligingsproblemen.

/root – Home directory van de root-gebruiker

De /root map is de persoonlijke home directory van de root-gebruiker. Alleen root heeft volledige toegang tot deze map.
Hier worden persoonlijke configuratiebestanden, scripts en tijdelijke bestanden van de administrator opgeslagen.

Bestand / Directory Functie
.bashrc Shell-configuratiebestand voor root
.profile Omgevingsinstellingen bij inloggen
.ssh/ SSH-sleutels en configuratiebestanden
admin-scripts/ Eventuele door root gemaakte scripts of hulpmiddelen
Tip

Gebruik /root alleen voor beheer- en systeemtaken. Bewaar persoonlijke bestanden van gewone gebruikers hier niet.

Waarschuwing

Alleen root heeft toegang tot deze map.
Onjuist gebruik of wijzigingen door andere gebruikers kunnen systeembeheerproblemen veroorzaken of de veiligheid van het systeem in gevaar brengen.

/run – Runtime bestanden

De /run map bevat tijdelijke runtime-gegevens die nodig zijn zolang het systeem actief is.
Hier worden onder andere proces-ID’s (PID-bestanden), sockets en lockfiles opgeslagen.
Omdat /run een tijdelijk bestandssysteem is (vaak tmpfs), wordt het bij een reboot geleegd.

Bestand / Directory Functie
/run/sshd.pid PID-bestand van de SSH-daemon, nodig voor procesbeheer
/run/systemd/ Runtime data voor systemd-services
/run/lock/ Lock-bestanden die voorkomen dat resources dubbel worden gebruikt
/run/user/<UID>/ Gebruikersspecifieke runtime-directory, vaak gebruikt voor sessiegegevens
Tip

Gebruik /run voor tijdelijke bestanden die alleen tijdens de huidige sessie nodig zijn.
Voor permanente opslag zijn /var of /etc geschikter.

Waarschuwing

Verwijder of wijzig geen bestanden in /run handmatig.
Onjuist gebruik kan leiden tot dienstuitval of vastlopende processen.

/sbin – Systeembinaire bestanden

De /sbin map bevat beheer- en systeemcommando’s die meestal alleen door de root-gebruiker worden uitgevoerd. Deze bestanden zijn essentieel voor systeembeheer, onderhoud en herstel.

Bestand / Directory Functie
fsck Controleert en repareert bestandenystemen
reboot Opnieuw opstarten van het systeem
ifconfig / ip Configuratie en beheer van netwerkinterfaces
shutdown Uitschakelen of herstarten van het systeem
mount / umount Aankoppelen en loskoppelen van bestandenystemen
iptables Beheer van firewallregels
Tip

/sbin bevat essentiële systeemcommando’s die meestal alleen door root uitgevoerd mogen worden. Gewone gebruikers kunnen sommige commando’s alleen lezen of uitvoeren als de permissies dit toelaten.

Waarschuwing

Gebruik /sbin-commando’s alleen met rootrechten en volledige kennis van het systeem.
Onjuist gebruik kan leiden tot systeemuitval, netwerkproblemen of het uitschakelen van kritieke systeemfuncties.

/srv – Service data

De /srv map wordt gebruikt voor data die door services aan gebruikers wordt aangeboden.
Denk hierbij aan webservers, FTP, databases of andere netwerkservices. Het biedt een vaste plek voor service-specifieke data, zodat deze gescheiden blijft van systeembestanden.

Bestand / Directory Functie
/srv/www/ Data voor webservers (bijvoorbeeld websites of webapplicaties)
/srv/ftp/ Bestanden beschikbaar via FTP-server
/srv/git/ Git-repositories die via een server worden aangeboden
/srv/<service>/ Service-specifieke data voor andere toepassingen
Tip

Gebruik /srv om service-data georganiseerd te beheren. Dit helpt bij onderhoud en maakt back-ups overzichtelijker.

Waarschuwing

Alleen root of service-gebruikers mogen hier schrijven.
Onjuist beheer kan leiden tot dataverlies of onbeschikbare services.

/tmp – Tijdelijke bestanden

De /tmp map wordt gebruikt voor tijdelijke bestanden die door programma’s en gebruikers worden aangemaakt.
Bestanden hier zijn vaak slechts nodig tijdens een sessie en kunnen bij een herstart automatisch worden verwijderd.

Bestand / Directory Functie
/tmp/testfile.txt Voorbeeld van een tijdelijk bestand
/tmp/.X11-unix/ Socket-bestanden voor X11 (grafische interface)
/tmp/systemd-private-* Tijdelijke bestanden en sockets voor systemd-services
Tip

Gebruik /tmp alleen voor tijdelijke opslag. Voor langere termijn kun je beter /var/tmp gebruiken, omdat die bestanden ook na een reboot bewaard blijven.

Waarschuwing

Alle gebruikers hebben lees- en schrijfrechten in /tmp.
Dit kan een veiligheidsrisico zijn als bestanden onjuist beveiligd zijn.
Let op dat gevoelige data hier niet per ongeluk terechtkomt.

/usr – Gebruikerssoftware, libraries en documentatie

De /usr map bevat de meeste gebruikersprogramma’s, libraries en documentatie die niet strikt noodzakelijk zijn voor het opstarten van het systeem (dat doet /bin en /sbin).
Het is een van de grootste directories en bevat zowel applicaties als gedeelde resources.

Bestand / Directory Functie
/usr/bin/ Uitvoerbare programma’s en commando’s (bijvoorbeeld python3, nano, git)
/usr/sbin/ Systeembeheercommando’s die niet essentieel zijn tijdens boot (bijv. apache2, nginx)
/usr/lib/ Bibliotheken die nodig zijn voor de binaries in /usr/bin en /usr/sbin
/usr/share/ Gedeelde bestanden zoals documentatie, manpages en icons
/usr/local/ Voor lokaal geïnstalleerde software, buiten de pakketbeheerder om
Tip

Gebruik /usr/local voor software die je zelf installeert en niet via de pakketmanager komt.
Zo blijft systeemsoftware gescheiden van eigen toevoegingen.

Waarschuwing

Verwijder of wijzig geen bestanden handmatig in /usr.
Dit kan leiden tot gebroken software, ontbrekende libraries of een instabiel systeem.

/var – Variabele data en logs

De /var map bevat variabele bestanden die constant veranderen tijdens het gebruik van het systeem.
Dit zijn bijvoorbeeld logbestanden, mailspools, databases en caches. Omdat deze data groeit, kan een volle /var leiden tot systeemproblemen.

Bestand / Directory Functie
/var/log/ Logbestanden van systeem en applicaties (bijv. syslog, auth.log)
/var/spool/ Wachtrijen voor e-mail, printopdrachten en cronjobs
/var/cache/ Cachebestanden van applicaties en package managers (zoals apt)
/var/lib/ Applicatiedata (bijv. databases, dpkg-status)
/var/run/ (symlink naar /run) Compatibiliteitspad naar runtime data
Tip

Monitor regelmatig de schijfruimte van /var, vooral /var/log en /var/cache.
Tools zoals du of ncdu kunnen helpen bij het opschonen.

Waarschuwing

Het verwijderen van bestanden in /var zonder kennis kan leiden tot verlies van logs, corrupte databases of vastlopende services.
Gebruik altijd de juiste commando’s (apt clean, logrotate, etc.) in plaats van handmatig verwijderen.