soluzioni


Le quote disco si riferiscono alle due risorse del file system, e cioè lo spazio disco e il numero di inodes occupati.
Si può andare fuori quota anche occupando poco spazio disco ma troppi inodes.
Se il comando
du -sh .
ci dice quanto spazio disco stiamo occupando, per sapere quanti sono gli inodes occupati in ogni directory possiamo provare a contarli
steffe@lab1:~$ date
Sun Oct 25 11:52:33 CET 2015
steffe@lab1:~$ cd
steffe@lab1:~$ find . -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
....
....
   105 ./XaoS-3.1/examples
   108 ./AUDIO-CD-FRANCO/rock
   110 ./.googleearth/Cache/unified_cache_leveldb_leveldb2
   115 ./WaveLab802/Workouts/Toons
   132 ./.googleearth/Temp/ge3777/kmz
   133 ./AUDIO-CD-SERGIO/rock
   136 ./Java-snns/examples
   145 ./.kde/share/config
   149 ./.compiz-1/session
   170 ./.cache/upstart
   192 ./.cache/chromium/Default/Cache
   194 ./.googleearth/Temp/ge3546/kmz
   205 ./xlife/life
   277 ./SMCSolver_2.1/min_blas_lapack/lapack
   308 .
   573 ./.googleearth/Cache/webdata
  2331 ./.local/share/gvfs-metadata
  3515 ./.cache/mozilla/firefox/b0jidq21.default/cache2/entries
steffe@lab1:~$
Il comando find trova i files nella mia home rimanendo nello stesso filesystem(-xdev) e ne stampa la directory di appartenenza (%h).
sort mette in ordine alfabetico.
uniq -c conta quanti sono e stampa numero e nome
sort -n mette in ordine numerico

Il risultato che ci interessa sono le ultime voci, che ci dicono quali directories contengono più files.
Nell'esempio ho oltre 3500 files nella cache di mozilla...

Uno script analogo può essere il seguente:

find . -type d | 
while 
  read line  
do 
  echo "$( find "$line" -maxdepth 1 | wc -l) $line"  
done | 
sort -rn | less
 
CHIUDI

Laboratorio di Comunicazione mediante Calcolatore - Sergio Steffè - AA 2016/2017 - PISA