GNU/Linux >> Linux Esercitazione >  >> Linux

Modo portatile per ottenere la dimensione del file (in byte) nella shell?

wc -c < filename (abbreviazione di conteggio parole, -c stampa il conteggio dei byte) è una soluzione POSIX portatile. Solo il formato di output potrebbe non essere uniforme tra le piattaforme poiché alcuni spazi potrebbero essere preceduti (come nel caso di Solaris).

Non omettere il reindirizzamento dell'input. Quando il file viene passato come argomento, il nome del file viene stampato dopo il conteggio dei byte.

Ero preoccupato che non avrebbe funzionato per i file binari, ma funziona bene sia su Linux che su Solaris. Puoi provarlo con wc -c < /usr/bin/wc . Inoltre, le utility POSIX sono garantite per gestire i file binari, se non diversamente specificato in modo esplicito.


Ho finito per scrivere il mio programma (davvero piccolo) per visualizzare solo le dimensioni. Maggiori informazioni qui:http://fwhacking.blogspot.com/2011/03/bfsize-print-file-size-in-bytes-and.html

I due modi più puliti secondo me con i comuni strumenti Linux sono:

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

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

Ma non voglio digitare parametri o reindirizzare l'output solo per ottenere una dimensione del file, quindi sto usando il mio bfsize.


Anche se du di solito stampa l'utilizzo del disco e non la dimensione effettiva dei dati, GNU coreutils du può stampare la "dimensione apparente" del file in byte:

du -b FILE

Ma non funzionerà con BSD, Solaris, macOS, ...


Linux
  1. Descrittori di file e script di shell?

  2. Differenza nel calcolo della dimensione della directory?

  3. Linux:il modo portatile per ottenere l'indirizzo di origine del percorso predefinito?

  4. Come trovare tutti i file con dimensione del file zero (0) byte in una directory in modo ricorsivo

  5. Ottieni il tempo di esecuzione del programma nella shell

Ottieni la dimensione di un file remoto dal terminale?

Riduci le dimensioni del file PDF in Linux

Cos'è un file .sh?

Come ottenere le dimensioni di file/cartelle con SSH su Linux?

Come ottenere la dimensione fisica di un file in Linux?

Ottieni la dimensione totale dei file da un file contenente un elenco di file