Is there a straightforward way to adjust the colors used by vim and bash? Hex color values, for example?
The colors used by bash are really actually used by the specific applications within bash. The colors used by LS can be changed by modifying the LSCOLORS variable. In your ~/.bashrc you would add something like:
VIM colors can be changed by simply specifying a theme.
Many terminal applications can be configured to use colored instead of monochrome output, see e.g. moshen's answer.
There are a few things to get clear on here:
Bash is a shell, which itself is not so much where you want to manage color - that's more a matter of the terminal (gnome-terminal, rxvt, xterm, etc). Terminals typically either have 16, 88, or 256 color palettes, which are pre-defined colors it can render to the console. Each color has a number, from 0 to 15/87/255. Some terminals will let you adjust what specific RGB colors are assigned to which numbers, but typically its 0 for black, 1 for red, etc.
As for vim, do you mean vim, or gvim (the GUI application)? These are configured differently with respect to color. Vim allows you to change which of the available (numbered) terminal colors are assigned to which types of text (normal text, comment text, visually selected text, etc). Have a look at the vim help on the "colorscheme" and "highlight" commands. In terminal applications, you are confined to the colors available from your terminal (see above) but can assign them freely, defining your own color scheme.
Gvim, on the other hand, typically can let you specify RGB color triplets and thus have much more flexibility over your color scheme.
For example, in gvim, this will set your "normal" text color to an arbitrary hex RRGGBB triplet:
:hi Normal guifg=#123456
While in vim, this will set your "normal" text color to terminal color 1, which generally is red:
:hi Normal ctermfg=1
Your terminal application (xterm, gnome-terminal, rxvt) may then let you adjust what "red" really means, in terms of RGB. Some people, for instance find that the default "blue" in terminal applications is too dark to read, so adjust it to be brighter.
Another application which allows you to choose colors for its output is