Here is a POSIX function that will work with:

- A file
- Files
- A directory
- Directories

<!-- language: lang-r -->

 file_size() {
 ls -ARn "$@" | awk '{z += $5} END {print z}'
 }

[Source](//github.com/svnpenn/stdlib/blob/46a4e00/libstd.sh#L48-L50)