Παρακολούθηση χρήσης δίσκου από το τερματικό με pydf και watch

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

Κατ αρχάς γιατί να μπούμε στον κόπο αφού υπάρχουν τόσα καλά γραφικά προγράμματα για να το δεις αυτό; Για μένα είναι θέμα χώρου στην οθόνη και αν θέλετε και γούστου. Ο εγκέφαλος μου βρίσκει την πληροφορία από το τερματικό ποιο εύκολα ερμηνεύσιμη. Διαφωνήστε μαζί μου αν θέλετε, μου είναι αδιάφορο :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue:

Η εντολή df υπάρχει εγκατεστημένη και δίνει την πληροφορία. Με την παράμετρο -h, από το human, θα την δείξει σε μονάδες που καταλαβαίνουμε όπως G,M,T, αλλά δεν δείχνει τις μπάρες και δεν δείχνει χρώμα. Σε αυτά τα προβλήματα θα μας σώσει η εντολή pydf που όπως το όνομα της λέει είναι γραμμένη σε γλώσσα Python. Αυτή δεν υπάρχει εγκατεστημένη, αλλά θα την βρεις στα αποθετήρια.

Η εντολή watch θα τρέξει μια εντολή κάθε λίγα δευτερόλεπτα και την έχεις εγκατεστημένη. Η λύση λοιπόν είναι το παρακάτω μακρυνάρι

   watch -c -d -t pydf -h

όπου -c για να βλέπει το χρώμα, -t για να κρύψει τον τίτλο, -d για να τονίζει τις διαφορές.

Για να μην το γράφουμε κάθε φορά θα φτιάξουμε ένα alias με όνομα ddf ή όποιο άλλο θέλουμε. Θα προσθέσουμε μια γραμμή στο αρχείο ~/.bashrc' ή στο αρχείο ~/.bash_aliases` με το παρακάτω

alias ddf='watch -c -d -t pydf -h'

Επειδή είναι τόσο μικρό δεν το έκανα ένα χωριστό αρχείο εντολών Bash.

Αν κρατάτε αυτό το αρχείο ~/.bash_aliases και το μεταφέρετε από υπολογιστή σε υπολογιστή το alias καλύτερα να οριστεί με το παρακάτω τρόπο, ώστε να κάνει έλεγχο αν υπάρχει το pydf εγκατεστημένο πριν το ορίσει κατάλληλα

if [ -x "$(command -v pydf)" ] ; then
	alias ddf='watch -c -d -t pydf -h'
else
	alias ddf='watch -d -t df -h'
fi

Και ιδού με ελάχιστο κόπο φτιάξαμε ένα μικρό εργαλείο. Δεν είναι όμορφος ο κόσμος του Linux;

ΥΓ: Στον υπολογιστή της εικόνας το σύστημα αρχείων είναι το btrfs. Αυτό έχει πολλές δυνατότητες όπως subvolumes και snapshots, κάτι που κάνει την έννοια του “ελεύθερου χώρου” και του “εν χρήση χώρου” του δίσκου αρκετά ασαφείς έννοιες :dizzy_face: :exploding_head: :face_with_head_bandage:. Για αυτόν τον λόγο και οι πολλαπλές καταχωρήσεις του /dev/sda4.

4 Likes