Check out links in my sig. Especially the tldp.org links. There are hands on guide and system administrator's guide that should answer almost all your questions.
Linux/Unix systems use a directory tree system. The lowest level is / which is 'root'. The root of the tree.
The system is abstracted in such a way that you don't realy have to know much (as a end user) about what sort of physical volumes are being used. Everything is part of the directory tree and different file systems get mounted to different mount points.
A mount point is basicly a directory, usually a empty one.
For instance I can have a partition mounted at root. Then I have several directories on root like /boot, /home, /etc, /var, /tmp.
Now I can have everything on root if I feel like it. But I like to have /home a seperate partition so that I can reformat the OS on the root partition, but not bother any of my user's files or preferences (which are all stored almost exclusively in that paticular user's home directory)
I can also have remote directories be mounted in this fasion also. They don't even have to be real file systems... For instance on most systems /dev/, /proc/, /sys/ and maybe others don't realy exist outside of your RAM.
A nice thing to do is often to run nfs or similar item and do remote /home directories. That way you can share out files over the network and have all a person's preferences for all their programs be equally aviable on whatever machine they happen to long into. As long as your network is fast, well designed, and reliable this can work out very well.
Generally I like to just have seperate /, /boot, and /home partitions and that's it. The 4th partition would be a swap partition.
The thing about the 'sda' thing is that in Linux/Unix almost everything is a file. Directories are files, files are files, /proc/cpuinfo is a dynamicly created files by the kernel, etc etc.
Well in your /dev/ directory these are special files to represent hardware and other resources.
For instance you have /dev/input/ directory that holds the output from your usb input stuff. (mice, keyboards, etc). If a program wants to interact with your mouse, they read from that file and get the data your generating from keypresses and movement or whatever.
You can usually see this for yourself if you use the program hexdump (you could use cat, but it can corrupt your terminal)
hexdump /dev/input/mice
Then move your mouse around. You may have to do it as root or lead it with the sudo command.
You have other files their for your tv capture cards, your sound cards, and also your harddrives, dvdroms and such.
If your using a traditional PATA ide controller this is how the device naming goes:
/dev/hda = primary master
/dev/hdb = primary slave
/dev/hdc = secondary master
/dev/hdd = secondary slave
Then any more controllers or whatnot will end up as /dev/hde /dev/hdf /dev/hdg etc etc.
SCSI drives will show up as /dev/sda /dev/sdb etc etc. Some SATA controllers when they use older fasion drivers will show up as hd* items, but mostly now they'd show up as scsi devices since they share the same subsystems in the kernel now.
Partitions show up as numbers added onto the drive's /dev/ file.
Like /dev/hdb3 would be the third partition on the primary slave IDE device. (although obviously on sata stuff the slave master relationship is not applicable anymore)
So say if you have some spare space on a harddrive that is unpartitioned or unformated you'd go like this:
cfdisk /dev/hda
(this will help you make a new partition.. lets say it's /dev/hda3)
mkfs.ext3 /dev/hda3
(this will format the new partition as ext3 file system, which is pretty much standard FS nowadays, although there are several to choose from)
mkdir /mnt/newpart
(to make a new directory)
mount /dev/hda3 /mnt/newpart
Then you will be able to move files and such to the new partition you just setup and formatted.
if you want to make it mount automaticly after you reboot, or allow users to mount it for whatever reason then you have to add information to the /etc/fstab file, which is the file that the OS uses to determine were to mount what were.
And it's not just harddrives, but usb mass storage devices (such as certain digital cameras, some mp3 players, or cf or sd cards plugged into a card readers via usb), data cdroms, data dvds, and floppies are accessed in a similar manner.
For instance if you ever wanted to make a iso image of a data cdrom in Linux you'd go:
dd if=/dev/cdrom of=mynew.iso
That would make a iso copy of the cdrom, you can then burn that to a blank cd and make a physical copy.
The cdrom will realy be a /dev/hda or a /dev/sda file since it's a IDE or SCSI device (usually), but it's customary for a installer to make a symbolic link (like a shortcut) from /dev/cdrom to /dev/whatever to make it easy for the end user.
So that's quite a bit different from the C: drive and the D: drive in Windows. I think it's superior in a number of ways, of course.