Toont de grootste mappen op het systeem, gesorteerd op grootte. Handig om snel te achterhalen waar schijfruimte naartoe gaat.
#!/bin/bash
# schijfgebruik.sh — grootste mappen tonen
#
# Gebruik:
# ./schijfgebruik.sh # analyseert /
# ./schijfgebruik.sh /var # analyseert /var
# ./schijfgebruik.sh /var 20 # top 20 i.p.v. top 10
set -euo pipefail
PAD="${1:-/}"
AANTAL="${2:-10}"
echo "Schijfgebruik onder ${PAD} — top ${AANTAL} mappen"
echo "----------------------------------------------"
du -x --max-depth=4 "${PAD}" 2>/dev/null \
| sort -rh \
| head -n "${AANTAL}" \
| awk '{printf "%-10s %s\n", $1, $2}'
echo ""
echo "Totaal gebruik:"
df -h "${PAD}" | awk 'NR==2 {printf " Gebruikt: %s / %s (%s)\n", $3, $2, $5}'
chmod +x schijfgebruik.sh
./schijfgebruik.sh # analyseert /
./schijfgebruik.sh /var # analyseert /var
./schijfgebruik.sh /home 20 # top 20 onder /home
Schijfgebruik onder / — top 10 mappen
----------------------------------------------
18G /
6,2G /usr
4,1G /var
3,8G /var/lib
2,9G /var/lib/docker
1,4G /home
...
Totaal gebruik:
Gebruikt: 18G / 50G (37%)
Combineer met lsof om te kijken welk proces grote bestanden open heeft:
lsof +D /var/log | awk '{print $1, $2}' | sort | uniq -c | sort -rn | head