Ga naar inhoud

Het mkdir commando

Controleren of mkdir aanwezig is

Het mkdir-commando is een veelgebruikt Linux-commando en staat bijna altijd standaard op je systeem geΓ―nstalleerd.
Het maakt deel uit van het pakket GNU coreutils, dat basiscommando’s levert zoals cp, ls, mv, rm, en touch.

Wil je controleren of mkdir aanwezig is, dan kun je de versie opvragen:

mkdir --version
Voorbeeldoutput
mkdir (GNU coreutils) 9.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.

βš™οΈ Installeren van mkdir

Het commando mkdir maakt deel uit van het pakket GNU coreutils.
Dit pakket bevat de meest gebruikte basiscommando’s in Linux, zoals cp, ls, mv, rm, en touch.

πŸ‘‰ Daarom is mkdir op vrijwel alle Linux-distributies standaard geΓ―nstalleerd, inclusief Debian en Ubuntu.
Alleen in uitzonderlijke gevallen, zoals zeer minimale systemen of custom builds, moet je het handmatig installeren.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install coreutils

Voorbeeldoutput
mkdir (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Hieronder vind je enkele veelgebruikte combinaties van het mkdir-commando:

  • mkdir mapnaam β†’ Maak een nieuwe map aan
Voorbeeld gebruik van mkdir mapnaam

Commando:

mkdir Documenten
Voorbeeldoutput:
# Nieuwe map "Documenten" is aangemaakt

  • mkdir -v mapnaam β†’ Toon melding bij aanmaak

  • mkdir -m 755 mapnaam β†’ Stel permissies in bij aanmaak

  • mkdir -p map1/map2/map3 β†’ Maak recursief meerdere mappen aan

  • mkdir --parents map1/map2 β†’ Zelfde als -p, maakt ontbrekende bovenliggende mappen aan

  • mkdir --mode=700 mapnaam β†’ Stel rechten expliciet in bij aanmaak

  • mkdir --verbose mapnaam β†’ Laat zien welke mappen worden aangemaakt

  • mkdir --help β†’ Toon alle opties en hulpinformatie

Het mkdir-commando heeft weinig configuratie, maar je kunt aliases gebruiken voor standaardopties.

1. Per gebruiker instellen

Plaats instellingen in je shell-configuratie:

alias mkdir='mkdir -v'

Dit zorgt dat altijd een melding wordt weergegeven bij aanmaken van mappen.

2. System-wide instellen

Plaats dezelfde alias in /etc/bash.bashrc of /etc/profile.

Voordelen: - Alle gebruikers krijgen dezelfde standaardopties.

Logging van het mkdir-commando

Het mkdir-commando schrijft zelf geen logbestanden weg.
Wil je gebruik van mkdir monitoren, dan kan dat met auditd.

Voorbeeld auditd regel

sudo auditctl -w /bin/mkdir -p x -k mkdir_monitor
  • -w /bin/mkdir β†’ bewaak het bestand /bin/mkdir
  • -p x β†’ log bij uitvoeren
  • -k mkdir_monitor β†’ tag voor herkenning

Logs bekijken:

ausearch -k mkdir_monitor

Of rechtstreeks in:

less /var/log/audit/audit.log

Coreutils en het mkdir-commando

Het mkdir-commando maakt deel uit van coreutils.
Je kunt mkdir dus niet apart updaten, alleen het hele pakket.

sudo apt update
sudo apt install --only-upgrade coreutils

Verwijderen van mkdir

Het mkdir-commando is een fundamenteel onderdeel van Linux.
Het verwijderen kan scripts of systeemfunctionaliteit breken.
Gebruik liever permissies of een alias als je het wilt beperken.

Voorbeeld alias om mkdir te blokkeren:

alias mkdir='echo "mkdir is uitgeschakeld"'

Permissies aanpassen:

sudo chmod 700 /bin/mkdir
(Alleen root kan het uitvoeren)

πŸ“– Handleiding

De ingebouwde handleiding van Linux-commando’s is altijd beschikbaar via man.
Voor mkdir:

man mkdir
Voorbeeld
MKDIR(1)                   User Commands                   MKDIR(1)

NAME
       mkdir - make directories

SYNOPSIS
       mkdir [OPTION]... DIRECTORY...

DESCRIPTION
       Create the DIRECTORY(ies), if they do not already exist.