Tips en Trucs 2020

Handige du (Disk Usage) opdrachten

De du opdracht toont de door mappen en bestanden gebruikte schijfruimte. Het is het belangrijkste hulpmiddel om de schijfruimte via opdrachten te analyseren.

Basisgebruik

Geef bij het opstarten van de du opdracht een map mee om de gebruikte schijfruimte ervan weer te geven. Voor elke submap wordt het schijfgebruik in een regel weergegeven. Grote mappen met veel submappen kunnen duizenden regels produceren en dit neemt wat tijd in beslag. Maar je kunt de du Opdracht sturen met extra opties. De opties kan je naar hartenlust combineren om het gewenste rapport weer te geven. Let wel dat dommige opties elkaar uitsluiten. Een voorbeeld:

dany@pindabook:~> du Muziek/
14244   Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29204   Muziek/DLNA/Celadon Candy - Celadonia
43452   Muziek/DLNA
322232  Muziek/De Lage Landenlijst/De Lage Landenlijst 3
157020  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
182808  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
339832  Muziek/De Lage Landenlijst/De Lage Landenlijst 2
227120  Muziek/De Lage Landenlijst/De Lage Landenlijst
889188  Muziek/De Lage Landenlijst
932696  Muziek/

De uitvoer bepalen

De -c (--total) optie geeft op het einde de totale gebruikte schijfruimte weer:

dany@pindabook:~> du -c Muziek/
14244   Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29204   Muziek/DLNA/Celadon Candy - Celadonia
43452   Muziek/DLNA
322232  Muziek/De Lage Landenlijst/De Lage Landenlijst 3
157020  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
182808  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
339832  Muziek/De Lage Landenlijst/De Lage Landenlijst 2
227120  Muziek/De Lage Landenlijst/De Lage Landenlijst
889188  Muziek/De Lage Landenlijst
932696  Muziek/
932696  totaal

De -s opdracht toont enkel de door de map gebruikte schijfruimte:

dany@pindabook:~> du -s Muziek/
932696  Muziek/

Om een analyse in een tekstbestand op te slaan, sluis (redirect) je die door naar een bestand. De cat opdracht toont de in het bestand opgeslagen analyse.

dany@pindabook:~> du Muziek/ > du-rapport.txt
dany@pindabook:~> cat du-rapport.txt 
14244   Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29204   Muziek/DLNA/Celadon Candy - Celadonia
43452   Muziek/DLNA
322232  Muziek/De Lage Landenlijst/De Lage Landenlijst 3
157020  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
182808  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
339832  Muziek/De Lage Landenlijst/De Lage Landenlijst 2
227120  Muziek/De Lage Landenlijst/De Lage Landenlijst
889188  Muziek/De Lage Landenlijst
932696  Muziek/

Voor verdere bewerking kan je de uitvoer doorgeven aan (pipe) een andere opdracht. Zo kan je via de more opdracht pagina per pagina de uitvoer volgen. Druk op te toets q (quit) om more af te breken.

dany@pindabook:~> du / | more
du more

De weergave bepalen

Om de uitvoer voor ons mensen beter leesbaar weer te geven, gebruik je de optie -h (--human-readable). Zo wordt de ingenomen schijfruimte weergegeven in KB, MB, GB, TB, enz.

dany@pindabook:~> du -h Muziek/
14M     Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29M     Muziek/DLNA/Celadon Candy - Celadonia
43M     Muziek/DLNA
315M    Muziek/De Lage Landenlijst/De Lage Landenlijst 3
154M    Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
179M    Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
332M    Muziek/De Lage Landenlijst/De Lage Landenlijst 2
222M    Muziek/De Lage Landenlijst/De Lage Landenlijst
869M    Muziek/De Lage Landenlijst
911M    Muziek/

Wil je de gebruikte schijfruimte steeds in KB:

dany@pindabook:~> du -k Muziek/
14244   Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29204   Muziek/DLNA/Celadon Candy - Celadonia
43452   Muziek/DLNA
322232  Muziek/De Lage Landenlijst/De Lage Landenlijst 3
157020  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
182808  Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
339832  Muziek/De Lage Landenlijst/De Lage Landenlijst 2
227120  Muziek/De Lage Landenlijst/De Lage Landenlijst
889188  Muziek/De Lage Landenlijst
932696  Muziek/

Of in MB:

dany@pindabook:~> du -m Muziek/
14      Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29      Muziek/DLNA/Celadon Candy - Celadonia
43      Muziek/DLNA
315     Muziek/De Lage Landenlijst/De Lage Landenlijst 3
154     Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
179     Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
332     Muziek/De Lage Landenlijst/De Lage Landenlijst 2
222     Muziek/De Lage Landenlijst/De Lage Landenlijst
869     Muziek/De Lage Landenlijst
911     Muziek/

Inclusief koppelingen en bestanden

Symbolische koppelingen nemen bijna geen schijfruimte in, maar wel de bestanden waar ze naartoe wijzen. Met de -L (--dereference) optie wordt de effectief door de bestanden ingenomen schijfruimte weergegeven:

dany@pindabook:~> du -h -s
8,2G    .
dany@pindabook:~> du -L -h -s
31G     .

Wil je niet alleen de schijfruimte van de mappen, maar ook van de afzonderlijke bestanden weergeven, gebruik dan de -a (--all) optie:

dany@pindabook:~> du -a Muziek/
4       Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/License.txt
2160    Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/04 - Marcin Szczepankiewicz - Chattanooga Choo-Choo.mp3
3140    Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/02 - Marcin Szczepankiewicz - My Blue Heaven.mp3
3604    Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/03 - Marcin Szczepankiewicz - At Last.mp3
20      Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/Marcin Szczepankiewicz - Moonlight Piano.jpg
5308    Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/01 - Marcin Szczepankiewicz - Moonlight Serenade.mp3
4       Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano/playlist.m3u
14244   Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
3020    Muziek/DLNA/Celadon Candy - Celadonia/02 - Celadon Candy - Libertines.ogg
4       Muziek/DLNA/Celadon Candy - Celadonia/License.txt
...
32      Muziek/DLNA/Marcin Szczepankiewicz - Moonlight Piano
29204   Muziek/DLNA/Celadon Candy - Celadonia
29240   Muziek/DLNA
4       Muziek/De Lage Landenlijst/De Lage Landenlijst 3
4       Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 2
4       Muziek/De Lage Landenlijst/De Lage Landenlijst 2/CD 1
12      Muziek/De Lage Landenlijst/De Lage Landenlijst 2
4       Muziek/De Lage Landenlijst/De Lage Landenlijst
24      Muziek/De Lage Landenlijst
29320   Muziek/

Ben je enkel geïnteresseerd in mappen met een minimum grootte, gebruik dan de -t (--threshold) optie:

dany@pindabook:~> du Muziek/ --threshold=300MB
322232  Muziek/De Lage Landenlijst/De Lage Landenlijst 3
339832  Muziek/De Lage Landenlijst/De Lage Landenlijst 2
889188  Muziek/De Lage Landenlijst
932696  Muziek/

Om niet alle submappen in detail weer te geven, kan je met de optie -d (--max-depth) aangeven, hoeveel niveau's van submappen moeten worden weergegeven. In het voorbeeld wordt enkel de map en de mappen in die map geanalyseerd:

dany@pindabook:~> du Muziek/ -d 1
43452   Muziek/DLNA
889188  Muziek/De Lage Landenlijst
932696  Muziek/

De kracht van doorgeven

Het doorgeven van de uitvoer van een opdracht aan een andere opdracht is een zeer krachtig middel om het gewenste resultaat te bereiken. Om bijvoorbeeld de tien grootste bestanden in de Persoonlijke map te vinden, ga je als volgt te werk. Analyseer het schijfgebruik van alle bestanden en mappen in de Persoonlijke map met de du opdracht. Het resultaat sorteren we numeriek van klein naar groot. Van het sorteerresultaat tonen we enkel de laatste 10 regels. Dit wordt de opdracht:

dany@pindabook:~> du -a | sort -n -r | head -n 10
8535860 .
7646452 ./Downloads
2867204 ./Downloads/volumio-2.834-2020-09-24-pi.img
2383732 ./Downloads/NOOBS_v3_4_1.zip
1159460 ./Downloads/2020-08-20-raspios-buster-armhf.zip
495556  ./.cache
403792  ./Downloads/volumio-2.834-2020-09-24-pi.img.zip
333548  ./.cache/mozilla
333544  ./.cache/mozilla/firefox
333536  ./.cache/mozilla/firefox/w39yccc4.default-esr78