Η εντολή du (disk usage)

Ανώνυμος (χωρίς επαλήθευση) | Τετ, 01/19/2011 - 13:34 | 2' | 4

Έχετε παρατηρήσει ότι όσο μεγαλύτερο δίσκο έχετε, τόσο γρηγορότερα γεμίζει; :) Τα εκατοντάδες GB που σας φαίνονταν πριν μερικούς μήνες απεριόριστος χώρος, τώρα δείχνουν λίγα; Αργά ή γρήγορα, θα σκεφτείτε ότι έπρεπε να ήσασταν πιο προσεκτικοί με όσα αποθηκεύετε. Πως όμως θα βρείτε τι καταναλώνει τον πολύτιμο χώρο σας; Η εντολή du (disk usage) είναι μια λύση:

du -sch *

Η παραπάνω εντολή με τους διακόπτες -sch θα σας δείξει πόσο χώρο καταλαμβάνει κάθε αντικείμενο στον τρέχοντα κατάλογο.

Για να τα δείτε κατά σειρά μεγέθους, μπορείτε να δώσετε αυτό:

du -sm * | sort -n | tail -n 10

Τι κάνει αυτό το oneliner; Αρχικά η du -sm δείχνει το μέγεθος κάθε αντικειμένου σε MB. Μετά, η sort -n τα ταξινομεί κατά μέγεθος (χωρίς το -n, το 440 θα ήταν πριν από το 45) και η tail φιλτράρει τα πάντα εκτός από τα δέκα τελευταία (και πιο μεγάλα) αντικείμενα. Όταν βρείτε ένα κατάλογο που "τρώει" πολύ χώρο, μπορείτε να κάνετε το ίδιο για να δείτε τι ακριβώς είναι αυτό που καταλαμβάνει τόσο χώρο.

Φόρουμ
Δώσε αστέρια!
Σχόλια

Υπάρχει επίσης το εργαλείο ncdu, το οποίο χρησιμοποιεί ncurses για να δείξει στον χρήστη interactive menus, και έχει πολλά ωραία features όπως η ταξινόμηση, αλλά το αγαπημένο μου είναι οτι μπορείς να κάνεις navigate μέσα στους υποφακέλους και να τους δείς ποιό αναλυτικά.

Εδώ ένα επικό oneliner το οποίο με την βοήθεια της Perl μας δίνει μια λίστα με  φακέλους, οι  οποίοι είναι "δισκοβόροι', απο τον μικρότερο πρός τον μεγαλύτερο.

du -k | sort -n | perl -ne 'if ( /^(\d+)\s+(.*$)/){$l=log($1+.1);$m=int($l/log(1024)); printf  ("%6.1f\t%s\t%25s  %s\n",($1/(2**(10*$m))),(("K","M","G","T","P")[$m]),"*"x (1.5*$l),$2);}'

Καλό κ το one-liner :) Κ μιας κ το πήγαμε εκεί, υπάρχει κ ο γραφικός τρόπος του πολύ ωραίου baobab, εργαλείο που είναι μέρος των "gnome-utils". Επίσης, δεν είναι το μόνο, υπάρχουν κ άλλα παρόμοια γραφικά εργαλεία (το κάνει κ ο ίδιος ο konqueror νομίζω σε KDE).