Tips en Trucs 2022

Vrije schijfruimte opsporen met ncdu

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.

Ncdu installeren

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]

Ncdu gebruiken

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.

De grootte van een specifieke map

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

Mappen uitsluiten

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

Kleur

Je kunt wat kleur toevoegen aan ncdu met de optie --color dark.

dany@pindabook:~> ncdu --exclude-from uitsluiten.txt --color dark
ncdu

Inclusief symbolische koppelingen

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

Schijfgebruik

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.

Ncdu van de computer verwijderen

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]