lower case is important
-t option is to declare filesystem type
msdos is the value used for filesystem type
/dev/hda1 is the disk and partition number to be mounted

but important element is missing from your string
that is the mount point
you first need to
mkdir /mount-point
the label "mount-point" is your choice as long as it doesn't conflict with existing

the end result will be that the device "/dev/hda1"
will appear as a drive on the system as "/mount-point"

you must use the filesystem type which is already on the device
(or maybe alter it later when you are ready for that)
that is why you need to scan the drives first with the listing only invocation of fdisk

forget about HAL (& udev) for now, I just wasn't certain what you were asking

most of the details on each command are spelled out by checking the "man pages" thusly

man halt

several good books exist on system basics
Authors I recommend are Mark Sobel and Nemeth. Et al

Like with most Linux commands this information can be accessed by entering in a terminal '[command] --help' . For example: " mount --help".
Also check 'man [command] for additional information. For example: "man mount". No quotation marks of course.

Pay attention to the blank spaces as well as to the upper or lower case of the fonts. Unix/Linux is case sensitive.