Πώς να αποκτήσετε το μέγεθος ενός αρχείου ή καταλόγου στο Linux

Όταν χρησιμοποιείτε την εντολή Linux du, λαμβάνετε τόσο την πραγματική χρήση του δίσκου όσο και το πραγματικό μέγεθος ενός αρχείου ή καταλόγου. Θα εξηγήσουμε γιατί αυτές οι τιμές δεν είναι ίδιες.

Πραγματική χρήση δίσκου και πραγματικό μέγεθος

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

  Πώς να αναβαθμίσετε το Debian Linux σε νέα έκδοση

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

Χρησιμοποιούνται δύο μετρήσεις σε σχέση με το μέγεθος του αρχείου. Το πρώτο είναι το πραγματικό μέγεθος του αρχείου, το οποίο είναι ο αριθμός των byte περιεχομένου που απαρτίζουν το αρχείο. Το δεύτερο είναι το πραγματικό μέγεθος του αρχείου στον σκληρό δίσκο. Αυτός είναι ο αριθμός των μπλοκ συστήματος αρχείων που απαιτούνται για την αποθήκευση αυτού του αρχείου.

  Πώς να χρησιμοποιήσετε το Gkill για να σταματήσετε προβληματικά προγράμματα που εκτελούνται σε Linux

Ενα παράδειγμα

Ας δούμε ένα απλό παράδειγμα. Θα ανακατευθύνουμε έναν χαρακτήρα σε ένα αρχείο για να δημιουργήσουμε ένα μικρό αρχείο:

echo "1" > geek.txt

ο εντολή geek.txt” σε παράθυρο τερματικού.’ width=”646″ ύψος=”57″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Τώρα, θα χρησιμοποιήσουμε τη λίστα μεγάλης μορφής, ls, για να δούμε το μήκος του αρχείου:

ls -l geek.txt

ο

Το μήκος είναι η αριθμητική τιμή που ακολουθεί τις καταχωρήσεις dave dave, η οποία είναι δύο byte. Γιατί είναι δύο byte όταν στείλαμε μόνο έναν χαρακτήρα στο αρχείο; Ας ρίξουμε μια ματιά στο τι συμβαίνει μέσα στο αρχείο.

Θα χρησιμοποιήσουμε την εντολή hexdump, η οποία θα μας δώσει έναν ακριβή αριθμό byte και θα μας επιτρέψει να “δούμε” χαρακτήρες που δεν εκτυπώνονται ως δεκαεξαδικές τιμές. Θα χρησιμοποιήσουμε επίσης την επιλογή -C (κανονική) για να αναγκάσουμε την έξοδο να εμφανίζει δεκαεξαδικές τιμές στο

  Οι 5 καλύτεροι πελάτες Torrent για Linux