Ποιες εντολές χρειάζομαι για το ls
του Linux για να εμφανίζει το μέγεθος του αρχείου σε MB;
Το ls -l --block-size=M
θα σας δώσει μια λίστα μακράς μορφής (που χρειάζεται για να δείτε πραγματικά το μέγεθος του αρχείου) και θα *στρογγυλοποιήσει τα μεγέθη των αρχείων στο πλησιέστερο MiB.
Αν θέλετε μονάδες MB (10^6 bytes) αντί για MiB (2^20 bytes), χρησιμοποιήστε --block-size=MB
.
Αν δεν θέλετε το επίθημα M
να επισυνάπτεται στο μέγεθος του αρχείου, μπορείτε να χρησιμοποιήσετε κάτι σαν --block-size=1M
. Ευχαριστούμε τον Stéphane Chazelas που το πρότεινε αυτό.
Αν απλά θέλετε μεγέθη αρχείων σε "λογικές" μονάδες, αντί για συγκεκριμένα megabytes, τότε μπορείτε να χρησιμοποιήσετε το -lh
για να λάβετε μια λίστα μακράς μορφής και μια ανθρώπινη αναγνώσιμη παρουσίαση του μεγέθους των αρχείων. Αυτό θα χρησιμοποιήσει μονάδες μεγέθους αρχείου για να διατηρήσει τα μεγέθη των αρχείων που παρουσιάζονται με περίπου 1-3 ψηφία (έτσι θα δείτε μεγέθη αρχείων όπως 6.1K
, 151K
, 7.1M
, 15M
, 1.5G
και ούτω καθεξής.
Η παράμετρος --block-size
περιγράφεται στη σελίδα man για το ls- man ls
και αναζητήστε SIZE
. Επιτρέπει και άλλες μονάδες εκτός από MB/MiB, και από ό,τι φαίνεται (δεν το δοκίμασα) και αυθαίρετα μεγέθη μπλοκ (έτσι θα μπορούσατε να δείτε το μέγεθος του αρχείου ως έναν αριθμό μπλοκ 429 byte αν θέλετε).
Σημειώστε ότι τόσο το --block-size
όσο και το -h
είναι επεκτάσεις GNU πάνω στο the Open Group's ls
, οπότε αυτό μπορεί να μην λειτουργήσει αν δεν έχετε GNU userland (που οι περισσότερες εγκαταστάσεις Linux έχουν). Το ls
από το GNU Coreutils 8.5 υποστηρίζει τα --block-size και -h όπως περιγράφεται παραπάνω. Ευχαριστούμε τον kojiro που το επισήμανε αυτό.
Το ls -lh
δίνει τα μεγέθη των αρχείων που διαβάζονται από τον άνθρωπο, μακράς μορφής.
Χρησιμοποιεί τις καταλήξεις k, M, G και T (ή καμία κατάληξη για bytes) ανάλογα με τις ανάγκες, ώστε ο αριθμός να παραμένει μικρός, π.χ. 1.4K
ή 178M
.
Το -h
είναι μια επέκταση του GNU coreutils, όχι η βασική γραμμή POSIX.
Σημειώστε ότι αυτό δεν απαντά στην ερώτηση όπως ακριβώς τέθηκε. Αν θέλετε μεγέθη αυστηρά σε MiB ακόμα και για μικρά ή γιγαντιαία αρχεία, η απάντηση του Michael Kjörling'το κάνει αυτό για το GNU coreutils ls
.