How to force ls terminal command to show results in Bytes while I have set the default to ls -h in bash profile?
I am following the snippet here to improve my terminal command in Mac OSX.
It sets the default value of ls results to human readable by exporting alias ls='ls -GFh'
to bash profile file. This is very handy, but occasionally I want to see exact size of a file in bytes (in order to compare it with another file).
How can I do that? is there a command I can use ls with to force it show results in bytes?
Is there other command I can use to get file size?
I thought of du -s
but it would give me just an estimation of used disk space for that file and also minimum size is kilobyte blocks.
Solution 1:
Is there other command I can use to get file size?
Use one of the following:
wc -c file
-c
prints the byte count.
\ls -ln file
\
escapes the ls
alias.
Linux:
stat --format="%s" file
OS X:
stat -f "%z bytes" file
See Stack Overflow question Portable way to get file size (in bytes) in shell? for other alternatives.