The command name indicates its use: first letter indicates data format or general functionality followed by a dot and a short word indicating the task that the command performs:
d.* - display commands for graphical screen output: d.rast, d.vect, d.sites, d.mon
g.* - general file management commands: g.list, g.copy
i.* - image processing commands
r.* - raster processing commands: r.slope.aspect, r.mapcalc
v.* - vector processing commands: v.digit, v.to.rast
s.* - site processing commands (point data): s.univar, s.surf.rst
m.* - miscellaneous commands: m.in.e00
p.* / ps.* - map creation ('print') commands
... - unix scripts (some ending in .sh, some imitating GRASS module names)
Almost all modules can be used either directly on the command line (module call and parameters together on one line) or interactively, i.e. you can call each module without parameters, then you will be prompted for required information like map names etc.
You can read the manual pages of the commands of GRASS 5.0 online or with the g.manual command in a running GRASS session (Help->Manual pages in TclTkGRASS). There is also an (incomplete) one-line reference containing a short explanation of many commands.