Γρήγορη εύρεση κατανομής δίσκου σε Linux partition

0 Flares Twitter 0 Facebook 0 LinkedIn 0 Filament.io Made with Flare More Info'> 0 Flares ×

Πολλές φορές βρίσκω να χρειάζομαι ένα εργαλείο που να μου δείχνει πού συσσωρεύονται αρχεία και καταλαμβάνουν πολύ χώρο, με τρόπο που δίνει εύκολα να καταλάβω το μέγεθος των directories.

Θα μπορούσα σίγουρα να κάνω μία εύρεση για μεγάλα αρχεία π.χ.

RedHat/CentOS/Fedora

$ find . -type f -size +5000k -exec ls -lh {} ; | awk '{ print $9 ": " $5 }'

Debian/Ubuntu

$ find . -type f -size +10000k -exec ls -lh {} ; | awk '{ print $8 ": " $5 }'

αλλά κάτι τέτοιο δεν θα έβρισκε σημεία όπου πολλά μικρότερα αρχεία (π.χ. η cache των browser ή τα log files) συνοστίζονται σε ένα directory.

Μετά από κάποιο πειραματισμό μπόρεσα και μεταποίησα λίγο την συμπεριφορά της εντολής du με λίγη βοήθεια από την perl. Το παρακάτω είναι αποτέλεσμα αρκετής αναζήτησης στο ίντερνετ και δεν είναι μόνο δική μου δουλειά αλλά ενός συνόλου ανθρώπων, οι οποίοι είναι ανέφικτο να αναφερθούν όλοι εδώ.

Η εντολή θα αναζητήσει το μέγεθος των αρχείων στο τρέχων directory, θα τα αναταξινομήσει σύμφωνα με τον αύξων αριθμό και μετά θα εμφανίσει το μέγεθος σε μορφή KB, MB & GB ανάλογα με το μέγεθος.

alias duf='du -sk .[a-z]* * | sort -n | perl -ne '''($s,$f)=split(m(t)); for (qw( K M G)) {if($s<1024) {printf("%.1f",$s);print "$_t$f";last};$s=$s/1024}''''

Προσθέτοντας το παραπάνω, σε ένα από τα αρχεία:

~/.zshrc || ~/.bashrc

θα μπορείτε να εκτελείται αυτή την εντολή με το alias duf στο τρέχον directory.

Αν σας βοήθησε το συγκεκριμένο, απλά προωθήστε το!


0 Flares Twitter 0 Facebook 0 LinkedIn 0 Filament.io Made with Flare More Info'> 0 Flares ×