Display the count of files

I am new to shell programming. Can anyone help me out with anyone of these?

Display a count of the number of regular files, the number of symbolic links, the number of sub-directories, the number of block-special files, and the number of character-special files in the directory.

I don't know how to do any of them. If you can help with one, I'm sure I can figure out the rest. Any help is useful. Thanks.

to find files of particular type, man find
to count files, man wc

>ls -l | cut -c1 | grep "-" | wc -l

list all files
cut the first character; type of entry
select for a file (not directory, etc)
give a count of number of lines

Thanks both of you. Both answers proved to be very useful. I now have a much better understanding of find and wc. also, I now feel very confident about the pipe key, whereas before I was somewhat unsure about it. thanks again.

-Kevin

you can combine cut and grep

# ls -l | awk '/^-/'|wc -l
184
# ls -l | awk '/^-/{c++}END{print c}'
184