Jan 082010
 

Here is a CLI du command one liner to list all of the files and folders in a directory nicely sorted by size. This is handy for when someones /var or /usr directory is full and causing issues on the server;


du -sk ./* | sort -nr | awk 'BEGIN{ pref[1]="K"; pref[2]="M"; pref[3]="G";} { total = total + $1; x = $1; y = 1; while( x > 1024 ) { x = (x + 1023)/1024; y++; } printf("%g%s\t%s\n",int(x*10)/10,pref[y],$2); } END { y = 1; while( total > 1024 ) { total = (total + 1023)/1024; y++; } printf("Total: %g%s\n",int(total*10)/10,pref[y]); }'

Enjoy!

 Posted by at 8:45 pm