wc with the -c option is a useful and portable way to get the size of a file (but not a directory) in bytes. The file does not have to be text for this to work:
$ wc -c /bin/bash 1099016
The output for the preceding command shows us that the /bin/bash binary is just over 1 MB in size.
The du program can show this information for a file or a directory, but its only portable unit size as specified in POSIX is 1 kibibyte (1024 bytes), with the -k option:
$ du -k /bin/bash 1076 /bin/bash $ du -k /bin 13796 /bin
GNU du has a -b option, which does allow byte counts, but this is not portable, meaning you cannot rely on it working on all Unix-like systems.