Computergebruikers verzamelen in de loop der jaren veel gegevens, of het nu gaat om belangrijke persoonlijke projecten, digitale foto's, video's, muziek of codebestanden.
Hoewel harde schijven tegenwoordig vrij groot zijn, moet je soms een stapje terug doen en inventariseren wat je eigenlijk op je schijven bewaart.
De klassieke Linux opdrachten df
en du
zijn snelle manieren om inzicht te krijgen in wat er op je schijf staat, en ze geven een betrouwbaar rapport dat gemakkelijk te analyseren en te verwerken is.
Dat is geweldig voor scripts en verwerking, maar het menselijk brein reageert niet altijd goed op honderden regels ruwe gegevens.
De ncdu opdracht heeft als doel een interactief rapport te geven over de ruimte die je gebruikt op jouw harde schijf.
In openSUSE Leap 15.4 installeer je ncdu via de standaard softwarebronnen met de opdracht:
dany@pindabook:~> sudo zypper install ncdu
[sudo] wachtwoord voor root:
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...
Het volgende NIEUWE pakket zal worden geïnstalleerd:
ncdu
1 nieuw te installeren pakket.
Totale downloadgrootte: 55,7 KiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 96,9 KiB worden gebruikt.
Doorgaan? [j/n/v/...? alle opties tonen] (j):
pakket ncdu-1.16-bp154.1.19.x86_64 wordt opgehaald (1/1), 55,7 KiB ( 96,9 KiB uitgepakt)
Ophalen: ncdu-1.16-bp154.1.19.x86_64.rpm ......................................................................................[gereed]
Controleren op conflicten tussen bestanden: ...................................................................................[gereed]
(1/1) Installeren van: ncdu-1.16-bp154.1.19.x86_64 ............................................................................[gereed]
De interface van ncdu gebruikt de ncurses bibliotheek, die van je terminalvenster een rudimentaire grafische toepassing maakt, zodat je de pijltjestoetsen kunt gebruiken om door visuele menu's te navigeren.
Dat is een van de belangrijkste troeven van ncdu, en wat het onderscheidt van de oorspronkelijke du opdracht.
Om de volledige inhoud van een map, standaard de huidige map, weer te geven:
dany@pindabook:~> ncdu
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help --- /home/dany ------------------------------------------------------- 212,9 MiB [##########] /.cache 26,1 MiB [# ] /.mozilla 11,3 MiB [ ] /.local 1,8 MiB [ ] /Downloads 796,0 KiB [ ] /.config 76,0 KiB [ ] /.pki 16,0 KiB [ ] /.kde4 16,0 KiB [ ] .bash_history 12,0 KiB [ ] /.ssh 8,0 KiB [ ] /Bureaublad 8,0 KiB [ ] /.fonts e 4,0 KiB [ ] /bin 4,0 KiB [ ] /.pinda 4,0 KiB [ ] .xim.template Total disk usage: 253,1 MiB Apparent size: 242,0 MiB Items: 6121
De lijst toont de grootste map eerst (in dit voorbeeld is dat de ~/.cache map).
Met de pijltoetsen op het toetsenbord kun je door de inhoud navigeren om dieper in een map te gaan, zodat je beter inzicht krijgt in wat de meeste ruimte in beslag neemt.
Je kunt ncdu uitvoeren op een willekeurige map door het pad van een map op te geven bij het opstarten:
dany@pindabook:~> ncdu Muziek
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help --- /usr/home/Documents/Muziek --------------------------------------- 336,9 MiB [##########] /Radio 1 - De Lage Landenlijst 4 331,9 MiB [######### ] /De Lage Landenlijst 2 314,7 MiB [######### ] /De Lage Landenlijst 3 92,1 MiB [## ] /Katie Melua 45,0 MiB [# ] /Amy MacDonald 28,5 MiB [ ] /DLNA 24,0 KiB [ ] startup.ogg 24,0 KiB [ ] shutdown.ogg 4,0 KiB [ ] .sync.ffs_db Total disk usage: 1,1 GiB Apparent size: 1,1 GiB Items: 186
Standaard toont ncdu alles wat het kan, inclusief symbolische links en pseudo-bestandssystemen zoals procfs en sysfs.
Je kunt deze uitsluiten met --exclude-kernfs
.
Je kunt willekeurige bestanden en mappen uitsluiten met de optie --exclude
, gevolgd door een overeen te komen patroon.
dany@pindabook:~> ncdu --exclude ".cache"
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help --- /home/dany ------------------------------------------------------- 26,1 MiB [##########] /.mozilla 11,2 MiB [#### ] /.local 1,8 MiB [ ] /Downloads 796,0 KiB [ ] /.config 76,0 KiB [ ] /.pki 16,0 KiB [ ] /.kde4 16,0 KiB [ ] .bash_history 12,0 KiB [ ] /.ssh 8,0 KiB [ ] /Bureaublad 8,0 KiB [ ] /.fonts e 4,0 KiB [ ] /bin 4,0 KiB [ ] /.pinda 4,0 KiB [ ] .xim.template 4,0 KiB [ ] .emacs Total disk usage: 40,1 MiB Apparent size: 39,6 MiB Items: 542
Als alternatief kun je in een bestand een lijst van uit te sluiten bestanden en mappen opnemen, en het bestand aanhalen met de optie --exclude-from
:
dany@pindabook:~> ncdu --exclude-from uitsluiten.txt
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help --- /home/dany ------------------------------------------------------- 1,8 MiB [##########] /Downloads 16,0 KiB [ ] .bash_history 8,0 KiB [ ] /Bureaublad e 4,0 KiB [ ] /bin 4,0 KiB [ ] .bashrc 4,0 KiB [ ] .xinitrc.template 4,0 KiB [ ] .profile 4,0 KiB [ ] .inputrc 4,0 KiB [ ] .wget-hsts 4,0 KiB [ ] .gtkrc-2.0 4,0 KiB [ ] uitsluiten,.txt 4,0 KiB [ ] .i18n 4,0 KiB [ ] log.txt @ 0,0 B [ ] Afbeeldingen Total disk usage: 1,8 MiB Apparent size: 1,8 MiB Items: 32
Je kunt wat kleur toevoegen aan ncdu met de optie --color dark
.
dany@pindabook:~> ncdu --exclude-from uitsluiten.txt --color dark
De ncdu-uitvoer behandelt symlinks letterlijk, wat betekent dat een symlink die verwijst naar een bestand van 9 GB slechts 40 bytes in beslag neemt.
dany@pindabook:~> ncdu /bin
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help --- /bin ------------------------------------------------------------- 128,0 KiB [##########] ps 44,0 KiB [### ] login H 28,0 KiB [## ] pkill H 28,0 KiB [## ] pgrep 12,0 KiB [ ] usleep 12,0 KiB [ ] fsync @ 0,0 B [ ] dbus-update-activation-environment @ 0,0 B [ ] dbus-cleanup-sockets @ 0,0 B [ ] showconsolefont @ 0,0 B [ ] dbus-test-tool @ 0,0 B [ ] unicode_start @ 0,0 B [ ] spawn_console @ 0,0 B [ ] psfstriptable @ 0,0 B [ ] unicode_stop Total disk usage: 228,0 KiB Apparent size: 222,3 KiB Items: 126
Je kunt ncdu dwingen symlinks te volgen met de optie --follow-symlinks
:
dany@pindabook:~> ncdu /bin --follow-symlinks
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help --- /bin ------------------------------------------------------------- 3,9 MiB [##########] vim 3,9 MiB [##########] vi 3,9 MiB [##########] ex 992,0 KiB [## ] sh 992,0 KiB [## ] bash 632,0 KiB [# ] ip 604,0 KiB [# ] gawk 604,0 KiB [# ] awk 504,0 KiB [# ] tar 384,0 KiB [ ] mail 300,0 KiB [ ] find 252,0 KiB [ ] systemctl 228,0 KiB [ ] dbus-daemon 212,0 KiB [ ] loadkeys Total disk usage: 22,1 MiB Apparent size: 21,9 MiB Items: 126
Het is niet leuk om schijfruimte tekort te komen, dus is het belangrijk om het schijfgebruik in de gaten te houden. De ncdu opdracht maakt het gemakkelijk en interactief. Probeer ncdu de volgende keer dat je nieuwsgierig bent naar wat je op je PC hebt opgeslagen, of gewoon om je bestandssysteem op een nieuwe manier te verkennen.
In openSUSE Leap 15.4 verwijder je ncdu van de computer met de opdracht:
dany@pindabook:~> sudo zypper remove -u ncdu
[sudo] wachtwoord voor root:
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...
Het volgende pakket zal worden VERWIJDERD:
ncdu
1 te verwijderen pakket.
Na de bewerking zal 96,9 KiB worden vrijgemaakt.
Doorgaan? [j/n/v/...? alle opties tonen] (j): j
(1/1) Verwijderen van ncdu-1.16-bp154.1.19.x86_64 .............................................................................[gereed]