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.