GNU/Linux >> Tutoriels Linux >  >> Linux

Un moyen portable d'obtenir la taille du fichier (en octets) dans le shell ?

wc -c < filename (abréviation de nombre de mots, -c imprime le nombre d'octets) est une solution POSIX portable. Seul le format de sortie peut ne pas être uniforme sur toutes les plates-formes car certains espaces peuvent être ajoutés (ce qui est le cas pour Solaris).

N'omettez pas la redirection d'entrée. Lorsque le fichier est passé en argument, le nom du fichier est imprimé après le nombre d'octets.

J'avais peur que cela ne fonctionne pas pour les fichiers binaires, mais cela fonctionne bien sous Linux et Solaris. Vous pouvez essayer avec wc -c < /usr/bin/wc . De plus, les utilitaires POSIX sont garantis pour gérer les fichiers binaires, sauf indication contraire explicite.


J'ai fini par écrire mon propre programme (vraiment petit) pour n'afficher que la taille. Plus d'informations ici :http://fwhacking.blogspot.com/2011/03/bfsize-print-file-size-in-bytes-and.html

Les deux manières les plus propres à mon avis avec les outils Linux courants sont :

$ stat -c %s /usr/bin/stat
50000

$ wc -c < /usr/bin/wc
36912

Mais je ne veux tout simplement pas taper des paramètres ou diriger la sortie juste pour obtenir une taille de fichier, donc j'utilise mon propre bfsize.


Même si du imprime généralement l'utilisation du disque et non la taille réelle des données, GNU coreutils du peut imprimer la "taille apparente" du fichier en octets :

du -b FILE

Mais cela ne fonctionnera pas sous BSD, Solaris, macOS, ...


Linux
  1. Différence de calcul de taille de répertoire ?

  2. Obtenir l'heure de création/création du fichier ? ?

  3. Pourquoi Ls et Hexdump ne sont-ils pas d'accord sur la taille du fichier ?

  4. Obtenir la taille d'un fichier distant à partir du terminal ?

  5. Obtenir le temps d'exécution du programme dans le shell

Réduire la taille du fichier PDF sous Linux

Comment rechercher tous les fichiers avec une taille de fichier de zéro (0) octet dans un répertoire de manière récursive

Comment obtenir la taille de tar.gz dans le fichier (Mo) en python

Qu'est-ce qu'un fichier .sh ?

Comment obtenir la taille d'un fichier/dossier avec SSH sous Linux ?

Obtenir la taille totale des fichiers à partir d'un fichier contenant une liste de fichiers