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

Οι εντολές df και du αναφέρουν τη χρήση χώρου στο δίσκο μέσα από το κέλυφος Bash που χρησιμοποιείται σε Linux, macOS και πολλά άλλα λειτουργικά συστήματα παρόμοια με το Unix. Αυτές οι εντολές σάς επιτρέπουν να αναγνωρίζετε εύκολα τι καταναλώνει τον αποθηκευτικό χώρο του συστήματός σας.

Προβολή του συνολικού, του διαθέσιμου και του χρησιμοποιημένου χώρου στο δίσκο

Το Bash περιέχει δύο χρήσιμες εντολές που σχετίζονται με το χώρο στο δίσκο. Για να μάθετε τον διαθέσιμο και χρησιμοποιημένο χώρο στο δίσκο, χρησιμοποιήστε df (συστήματα αρχείων δίσκου, που μερικές φορές ονομάζονται χωρίς δίσκο). Για να ανακαλύψετε τι καταλαμβάνει τον χρησιμοποιημένο χώρο στο δίσκο, χρησιμοποιήστε το du (χρήση δίσκου).

Πληκτρολογήστε df και πατήστε enter σε ένα παράθυρο τερματικού Bash για να ξεκινήσετε. Θα δείτε πολλά αποτελέσματα παρόμοια με το στιγμιότυπο οθόνης παρακάτω. Η χρήση df χωρίς καμία επιλογή θα εμφανίσει τον διαθέσιμο και χρησιμοποιούμενο χώρο για όλα τα προσαρτημένα συστήματα αρχείων. Με την πρώτη ματιά, μπορεί να φαίνεται αδιαπέραστο, αλλά είναι αρκετά εύκολο να το καταλάβεις.

df

Κάθε γραμμή της οθόνης αποτελείται από έξι στήλες.

Fileystem: Το όνομα αυτού του συστήματος αρχείων.
1K-Blocks: Ο αριθμός των μπλοκ 1K που είναι διαθέσιμα σε αυτό το σύστημα αρχείων.
Χρησιμοποιείται: Ο αριθμός των μπλοκ 1K που έχουν χρησιμοποιηθεί σε αυτό το σύστημα αρχείων.
Διαθέσιμο: Ο αριθμός των μπλοκ 1K που δεν χρησιμοποιούνται σε αυτό το σύστημα αρχείων.
Χρήση%: Η ποσότητα χώρου που χρησιμοποιείται σε αυτό το σύστημα αρχείων δίνεται ως ποσοστό.
Αρχείο: Το όνομα του συστήματος αρχείων, εάν καθορίζεται στη γραμμή εντολών.
Mounted on: Το σημείο προσάρτησης του συστήματος αρχείων.

Μπορείτε να αντικαταστήσετε τις μετρήσεις μπλοκ 1K με πιο χρήσιμα αποτελέσματα χρησιμοποιώντας την επιλογή -B (μέγεθος μπλοκ). Για να χρησιμοποιήσετε αυτήν την επιλογή, πληκτρολογήστε df, ένα κενό και, στη συνέχεια, -B και ένα γράμμα από τη λίστα των K, M, G, T, P, E, Z ή Y. Αυτά τα γράμματα αντιπροσωπεύουν το κιλό, το μέγα, το giga, το tera, τιμές peta, exa, zeta και yotta από το πολλαπλάσιο της κλίμακας 1024.

Για παράδειγμα, για να δείτε τα στοιχεία χρήσης του δίσκου σε megabyte, θα χρησιμοποιούσατε την ακόλουθη εντολή. Σημειώστε ότι δεν υπάρχει κενό μεταξύ του B και του M.

df -BM

Η επιλογή -h (human readable) δίνει εντολή στο df να χρησιμοποιήσει την πιο κατάλληλη μονάδα για το μέγεθος κάθε συστήματος αρχείων. Στην επόμενη έξοδο σημειώστε ότι υπάρχουν συστήματα αρχείων με μεγέθη gigabyte, megabyte, ακόμη και kilobyte.

df -h

Εάν θέλετε να δείτε τις πληροφορίες που αντιπροσωπεύονται σε αριθμούς inodes, χρησιμοποιήστε την επιλογή -i (inodes). Το inode είναι μια δομή δεδομένων που χρησιμοποιείται από συστήματα αρχείων Linux για την περιγραφή αρχείων και την αποθήκευση μεταδεδομένων σχετικά με αυτά. Στο Linux, τα inodes κρατούν δεδομένα όπως το όνομα, την ημερομηνία τροποποίησης, τη θέση στον σκληρό δίσκο και ούτω καθεξής για κάθε αρχείο και κατάλογο. Αυτό δεν πρόκειται να είναι χρήσιμο για την πλειονότητα των ανθρώπων, αλλά οι διαχειριστές συστήματος πρέπει μερικές φορές να αναφέρονται σε αυτού του είδους τις πληροφορίες.

df -i

Εκτός και αν σας ζητηθεί, το df θα παρέχει πληροφορίες για όλα τα προσαρτημένα συστήματα αρχείων. Αυτό μπορεί να οδηγήσει σε ακατάστατη οθόνη με μεγάλη απόδοση. Για παράδειγμα, οι καταχωρήσεις /dev/loop στις λίστες είναι ψευδο συστήματα αρχείων που επιτρέπουν την προσάρτηση ενός αρχείου σαν να ήταν διαμέρισμα. Εάν χρησιμοποιείτε τη νέα μέθοδο snap του Ubuntu για την εγκατάσταση εφαρμογών, μπορείτε να αποκτήσετε πολλές από αυτές. Ο διαθέσιμος χώρος σε αυτά θα είναι πάντα 0, επειδή δεν είναι πραγματικά ένα σύστημα αρχείων, επομένως δεν χρειάζεται να τα δούμε.

  Πώς να δημιουργήσετε ένα αρχείο Swap στο Linux

Μπορούμε να πούμε στο df να αποκλείσει συστήματα αρχείων συγκεκριμένου τύπου. Για να γίνει αυτό, πρέπει να γνωρίζουμε ποιον τύπο συστήματος αρχείων θέλουμε να εξαιρέσουμε. Η επιλογή -T (τύπος εκτύπωσης) θα μας δώσει αυτές τις πληροφορίες. Δίνει εντολή στο df να συμπεριλάβει τον τύπο του συστήματος αρχείων στην έξοδο.

df -T

Οι καταχωρήσεις /dev/loop είναι όλες συστήματα αρχείων squashfs. Μπορούμε να τα αποκλείσουμε με την ακόλουθη εντολή:

df -x squashfs

Αυτό μας δίνει ένα πιο διαχειρίσιμο αποτέλεσμα. Για να λάβουμε ένα σύνολο, μπορούμε να προσθέσουμε την επιλογή –total.

df -x squashfs --total

Μπορούμε να ζητήσουμε από το df να συμπεριλάβει μόνο συστήματα αρχείων συγκεκριμένου τύπου, χρησιμοποιώντας την επιλογή -t (type).

df -t ext4

Εάν θέλουμε να δούμε τα μεγέθη για ένα σύνολο συστημάτων αρχείων, μπορούμε να τα προσδιορίσουμε με το όνομα. Τα ονόματα των μονάδων δίσκου στο Linux είναι αλφαβητικά. Η πρώτη μονάδα δίσκου ονομάζεται /dev/sda, η δεύτερη μονάδα δίσκος είναι /dev/sdb και ούτω καθεξής. Τα χωρίσματα είναι αριθμημένα. Έτσι το /dev/sda1 είναι το πρώτο διαμέρισμα στη μονάδα δίσκου /dev/sda . Λέμε στο df να επιστρέψει πληροφορίες σε ένα συγκεκριμένο σύστημα αρχείων περνώντας το όνομα του συστήματος αρχείων ως παράμετρο εντολής. Ας δούμε το πρώτο διαμέρισμα του πρώτου σκληρού δίσκου.

df /dev/sda1

Σημειώστε ότι μπορείτε να χρησιμοποιήσετε χαρακτήρες μπαλαντέρ στο όνομα του συστήματος αρχείων, όπου * αντιπροσωπεύει οποιοδήποτε σύνολο χαρακτήρων και ? αντιπροσωπεύει οποιονδήποτε μεμονωμένο χαρακτήρα. Για να δούμε λοιπόν όλα τα διαμερίσματα στην πρώτη μονάδα δίσκου, θα μπορούσαμε να χρησιμοποιήσουμε:

df /dev/sda*

Μπορούμε να ζητήσουμε από το df να κάνει αναφορά για ένα σύνολο ονομαζόμενων συστημάτων αρχείων. Ζητάμε τα μεγέθη των συστημάτων αρχείων /dev και /run και θα θέλαμε ένα σύνολο.

df -h --total /dev /run

Για περαιτέρω προσαρμογή της οθόνης, μπορούμε να πούμε στο df ποιες στήλες να συμπεριλάβει. Για να το κάνετε αυτό, χρησιμοποιήστε την επιλογή –output και παρέχετε μια λίστα διαχωρισμένη με κόμματα των απαιτούμενων ονομάτων στηλών. Βεβαιωθείτε ότι δεν έχετε συμπεριλάβει κενά στη λίστα διαχωρισμένων με κόμματα.

  Τα 5 καλύτερα Docks για χρήση σε Linux

πηγή: Το όνομα του συστήματος αρχείων.
ftype: Ο τύπος του συστήματος αρχείων.
itot: Το μέγεθος του συστήματος αρχείων σε inodes.
iused: Ο χώρος που χρησιμοποιείται στο σύστημα αρχείων σε inodes.
iavail: Ο διαθέσιμος χώρος στο σύστημα αρχείων σε inodes.
ipcent: Το ποσοστό του χρησιμοποιούμενου χώρου στο σύστημα αρχείων σε inodes, ως ποσοστό.
μέγεθος: Το μέγεθος του συστήματος αρχείων, από προεπιλογή σε μπλοκ 1K.
χρησιμοποιείται: Ο χώρος που χρησιμοποιείται στο σύστημα αρχείων, από προεπιλογή σε μπλοκ 1K.
avail: Ο διαθέσιμος χώρος στο σύστημα αρχείων, από προεπιλογή σε μπλοκ 1K.
%: Το ποσοστό του χρησιμοποιούμενου χώρου στο σύστημα αρχείων σε inodes, από προεπιλογή σε μπλοκ 1K.
αρχείο: Το όνομα του συστήματος αρχείων εάν καθορίζεται στη γραμμή εντολών.
στόχος: Το σημείο προσάρτησης για το σύστημα αρχείων.

Ας ζητήσουμε από το df να κάνει αναφορά για το πρώτο διαμέρισμα στην πρώτη μονάδα δίσκου, με αριθμούς αναγνώσιμους από τον άνθρωπο και με τις στήλες πηγή, ftype, μέγεθος, χρησιμοποιημένο, όφελος και τοις εκατό:

df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent

Οι μακριές εντολές είναι τέλειοι υποψήφιοι για να μετατραπούν σε ψευδώνυμο. Μπορούμε να δημιουργήσουμε ένα ψευδώνυμο dfc (για df custom ) πληκτρολογώντας τα παρακάτω και πατώντας Enter:

alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"

Δημιουργία ψευδωνύμου με την εντολή ψευδώνυμο dfc=

Πληκτρολογώντας dfc και πατώντας enter θα έχει το ίδιο αποτέλεσμα με την πληκτρολόγηση της μεγάλης εντολής. Για να κάνετε αυτό το ψευδώνυμο μόνιμο, προσθέστε το στο αρχείο .bashrc ή .bash_aliases.

Ψάχνουμε τρόπους για να βελτιώσουμε την έξοδο από το df, ώστε οι πληροφορίες που εμφανίζει να ταιριάζουν με τις απαιτήσεις σας. Εάν θέλετε να ακολουθήσετε την αντίθετη προσέγγιση και το df να επιστρέψει όλες τις πληροφορίες, μπορεί ενδεχομένως να χρησιμοποιήσει την επιλογή -a (all) και την επιλογή -output όπως φαίνεται παρακάτω. Η επιλογή -a (όλα) ζητά από το df να συμπεριλάβει κάθε σύστημα αρχείων και η χρήση της επιλογής –output χωρίς λίστα στηλών διαχωρισμένη με κόμμα προκαλεί το df να συμπεριλάβει κάθε στήλη.

df -a --output

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

df -a --output | less

Μάθετε τι καταλαμβάνει τον χρησιμοποιημένο χώρο στο δίσκο

Ας κάνουμε λίγη έρευνα και ας μάθουμε τι καταλαμβάνει χώρο σε αυτόν τον υπολογιστή. Θα ξεκινήσουμε με μία από τις εντολές df μας.

df -h -t ext4

Υπάρχει 78% χώρος στο δίσκο που χρησιμοποιείται στο πρώτο διαμέρισμα του πρώτου σκληρού δίσκου. Μπορούμε να χρησιμοποιήσουμε την εντολή du για να δείξουμε ποιοι φάκελοι περιέχουν τα περισσότερα δεδομένα. Η έκδοση της εντολής du χωρίς επιλογές θα εμφανίσει μια λίστα με όλους τους καταλόγους και τους υποκαταλόγους κάτω από τον κατάλογο στον οποίο εκδόθηκε η εντολή du. Εάν το κάνετε αυτό από τον αρχικό σας φάκελο, η λίστα θα είναι πολύ μεγάλη.

du

Η μορφή εξόδου είναι πολύ απλή. Κάθε γραμμή δείχνει το μέγεθος και το όνομα ενός καταλόγου. Από προεπιλογή, το μέγεθος εμφανίζεται σε μπλοκ 1K. Για να αναγκάσετε το du να χρησιμοποιήσει διαφορετικό μέγεθος μπλοκ, χρησιμοποιήστε την επιλογή -B (μέγεθος μπλοκ). Για να χρησιμοποιήσετε αυτήν την επιλογή πληκτρολογήστε du, ένα κενό και μετά -B και ένα γράμμα από τη λίστα των K, M, G, T, P, E, Z και Y, όπως κάναμε παραπάνω για το df . Για να χρησιμοποιήσετε μπλοκ 1M, χρησιμοποιήστε αυτήν την εντολή:

du -BM

Ακριβώς όπως το df, το du έχει μια επιλογή αναγνώσιμη από τον άνθρωπο, -h, η οποία χρησιμοποιεί μια σειρά μεγεθών μπλοκ ανάλογα με το μέγεθος κάθε καταλόγου.

du -h

Η επιλογή -s (summarize) δίνει ένα σύνολο για κάθε κατάλογο χωρίς να εμφανίζει τους υποκαταλόγους σε κάθε κατάλογο. Η ακόλουθη εντολή ζητά από το du να επιστρέψει πληροφορίες σε μορφή σύνοψης, σε αναγνώσιμους από τον άνθρωπο αριθμούς, για όλους τους καταλόγους

du -h -s *

κάτω από τον τρέχοντα κατάλογο εργασίας.

du -sm Pictures/* | sort -nr

Ο φάκελος Picture περιέχει τα περισσότερα δεδομένα μακράν. Μπορούμε να ζητήσουμε να ταξινομήσει τους φακέλους σε μέγεθος από το μεγαλύτερο στο μικρότερο.

  Πώς να εγκαταστήσετε το Cisco Packet Tracer σε Linux

Βελτιώνοντας τις πληροφορίες που επιστρέφονται από τα df και du, είναι εύκολο να μάθετε πόσος χώρος στον σκληρό δίσκο χρησιμοποιείται και να ανακαλύψετε τι καταλαμβάνει αυτόν τον χώρο. Στη συνέχεια, μπορείτε να λάβετε μια τεκμηριωμένη απόφαση σχετικά με τη μεταφορά ορισμένων δεδομένων σε άλλο χώρο αποθήκευσης, την προσθήκη άλλου σκληρού δίσκου στον υπολογιστή σας ή τη διαγραφή περιττών δεδομένων. Αυτές οι εντολές έχουν πολλές επιλογές. Περιγράψαμε τις πιο χρήσιμες επιλογές εδώ, αλλά μπορείτε να δείτε μια πλήρη λίστα με τις επιλογές για το εντολή df και για το du εντολή

στις σελίδες man Linux.