De quelles commandes ai-je besoin pour que Linux lsaffiche la taille du fichier en Mo?
De quelles commandes ai-je besoin pour que Linux lsaffiche la taille du fichier en Mo?
Réponses:
ls -l --block-size=Mvous donnera une liste longue de format (nécessaire pour voir réellement la taille du fichier) et arrondit les tailles de fichier jusqu'au MiB le plus proche.
Si vous souhaitez utiliser des Mo (10 ^ 6 octets) plutôt que des unités MiB (2 ^ 20 octets), utilisez --block-size=MBplutôt.
Si vous ne voulez pas que le Msuffixe soit attaché à la taille du fichier, vous pouvez utiliser quelque chose comme --block-size=1M. Merci Stéphane Chazelas pour cette suggestion.
Si vous souhaitez simplement que la taille des fichiers soit exprimée en unités "raisonnables", plutôt qu'en mégaoctets , vous pouvez utiliser -lhune liste longue et une taille lisible par l'homme . Il utilisera des unités de taille de fichier pour maintenir la taille des fichiers présentés avec environ 1-3 chiffres (vous verrez la taille des fichiers comme 6.1K, 151K, 7.1M, 15M, 1.5Get ainsi de suite.
Le --block-sizeparamètre est décrit dans la page de manuel de ls; man lset rechercher SIZE. Cela permet également d’utiliser des unités autres que MB / MiB, et à première vue (je n’ai pas essayé cela), des tailles de blocs arbitraires (vous pouvez donc voir la taille du fichier sous forme de blocs de 429 octets si vous le souhaitez). à).
Notez que les deux --block-sizeet -hsont des extensions GNU sur Open Groupls , cela risque donc de ne pas fonctionner si vous n'avez pas de domaine utilisateur GNU (comme la plupart des installations Linux). La version lsde GNU Coreutils 8.5 prend en charge --block-size et -h comme décrit ci-dessus. Merci à kojiro pour l'avoir signalé.
ls? Standardls n'a pas un tel argument. Avec l' extension xsi, ls l' -sindicateur est indiqué, ce qui lui permet d'indiquer le nombre de blocs, mais il n'y a pas d'indicateur standard --block-size.
--block-sizecomme coreutils 8.5, ce qui est installé sur mon système Debian Squeeze. Puisque la question était explicitement pour Linux et ne spécifiait rien d'autre, je dois admettre que je supposais un environnement utilisateur centré sur GNU Coreutils. J'ai mis à jour la réponse pour clarifier cela. (En outre, le groupe ouvert ne semble pas avoir -h non plus. :))
--block-sizeest une extension GNU. Je soupçonne que Mac OS X n’utilise pas GNU ls.
ls -lh donne des tailles de fichiers lisibles par l'homme, format long.
Il utilise les suffixes k, M, G et T (ou pas de suffixe pour les octets) selon les besoins, de sorte que le nombre reste petit, par exemple 1.4Kou 178M.
-h est une extension GNU coreutils, pas une base POSIX.
Notez que cela ne répond pas exactement à la question posée. Si vous voulez des tailles strictement en MiB, même pour des fichiers petits ou gigantesques, la réponse de Michael Kjörling le fait pour GNU coreutilsls .
hest beaucoup plus facile d'écrire que--block-size=M
ls -ldu tout sinon les humains? : p
ls -lsortie est la mauvaise façon de faire les choses, 99% du temps. unix.stackexchange.com/questions/128985/why-not-parse-ls . Ce 1% est généreux et se limite plutôt à des lignes uniques écrites de manière interactive pour une utilisation unique, et non à un script que vous allez utiliser de manière répétée sur des noms de fichiers inconnus.
ls -lhS trier par taille, dans un format lisible par l'homme
ls -lhréponse pour les raisons pour lesquelles cela ne répond pas vraiment à la question.
Et c’est l’option permettant de répertorier tous les éléments d’un répertoire par ordre de taille du fichier (toujours lisible par l’être humain) par ordre croissant.
ls -lSrh
--block-size=MunMsuffixe à côté de la taille et l’utiliser--block-size=1Mpour l’omettre. Il convient également de mentionner que vous avez besoin de GNU ls pour cela (la plupart des systèmes Linux non embarqués auront GNU ls).