Réponses:
Peut -h
- être est-ce suffisant pour vous:
-h
Lorsqu'elle est utilisée avec l'option -l, utilisez les suffixes d'unité: octet, kilo-octet, mégaoctet, gigaoctet, téraoctet et pétaoctet afin de réduire le nombre de chiffres à trois ou moins en utilisant la base 2 pour les tailles.
ls -lah
Conseil général: Utilisez man commandname
pour lire le manuel / l'aide d'une certaine commande, par exemple ici man ls
.
ls --block-size=M
imprime les tailles en mégaoctets, mais affiche 1 Mo également pour les valeurs inférieures à 1 Mo. Je ne sais pas si cette option est acceptable dans votre version UNIX de ls, cependant.
En fait, ls -lh
imprime aussi les tailles en gigaoctets si le fichier est assez gros (enfin, de toute façon: sous Linux 64 bits, cela fonctionne:>)
Sur un nœud latéral: du -sh *
affiche également les tailles de répertoire dans le répertoire actuel
ls -h
n'a plus de sens while true ; do ls -al --block-size=M ; sleep 1 ; done
Vous devrez utiliser awk
pour faire le calcul pour vous:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
Cela n'affectera pas la sortie pour les fichiers plus petits que mega
.
Vous devrez peut-être ajuster le numéro de champ pour qu'il corresponde à la manière dont vous avez ls
disposé. Vous pouvez changer mega
à "1000000" si tel est votre préférence.
Cela imprimera plus de décimales que vous ne le souhaitez probablement. Vous pouvez implémenter une fonction d'arrondi.
ls -lh
ou ls --block-size=M
, mais AWK est très utile!
essayez ls -shR
un format lisible par l'homme récursif.
-h
de Tru64 et l'a fait plus de deux ans avant que cette réponse ne soit affichée.
Si vous ne voulez que la taille d'un fichier spécifique, la commande, une extrapolation triviale des réponses précédentes, est la suivante:
ls -sh nom du fichier (s)
-s
est pour la taille et le h
est pour Human Readable (comme mentionné ci-dessus à quelques reprises).
La sortie ressemblera à ceci:
753M myfilename
Si vous omettez le ou les noms de fichier, le répertoire sera répertorié, en plaçant la taille de chaque fichier à côté de son nom, comme ce qui est ls -la
fait quand invoqué sans arguments de nom de fichier.
J'espère que cela t'aides.
-h
option n'existe pas ls
sur ce système.
ls -l --block-size=MB
Pour le --block-size
paramètre:
MB
pour 10 ^ 6M
pour 2 ^ 201MB
. Pour cette raison, j'ai trouvé ls -l --block-size=kB
plus utile.
Si vous êtes simplement intéressé par la taille du fichier et que vous n'avez pas à utiliser la ls
commande, essayez ce qui suit:
# echo "Hello World" > file.txt
# ls -l file.txt
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12
Cela imprimera la taille du fichier sans avoir à analyser quoi que ce soit.