All of this is nice but none of those commands counts hidden files/directories (starting with ".") so flag -a should be included in ls command:
ls -a1 | wc -l (for files, links and directories)
or
ls -la | grep ^- | wc -l <- for files
ls -la | grep ^d | wc -l <- for directories*
ls -la | grep ^l | wc -l <- for symbolic links
Note: Parent directory (..) and current directory are included in result(.) for directories so 2 should be subtracted from result in order do get proper data
|