Please could you tell me what an inode is/does?
I know each file/device has one and that they are used to provide easy soft links but I do not know what an inode contains, how big it is, where it is stored etc...
The inode encapsulates all the information about one file or device (except for its name, typically). File size, dates of modification, ownership, protection bits, location of disk blocks; that sort of thing.
In other types of file systems, which do not use inodes, this information is stored directly in the directory entry. For example, if a directory contained three files, the directory itself would contain all of the above information for each of the three files. In an inode system, the directory only contains the names and inode numbers of the three files. To discover the size (say) of the first file, you would have to look in the file's inode (which could be found from the inode number stored in the directory).
How big is an inode. Well, it depends on the system (how many direct and indirect block pointers the inode contains, for example, or how many bytes are used to store the file dates and protection bits). One version of BSD UNIX, for example, appears to store 24 words of information in its inode (17 of which are direct and indirect block pointers). If each word is 32 bits (4 bytes), a BSD inode would work out at 96 bytes in size. With a block size of 1024, you could fit 10 inodes into a disk block.
Inodes are stored on the disk (on disk blocks), as part of the filesystem. In UNIX systems, the inodes are clustered together; on some UNIX systems, you decide in advance (when the disk is formatted) how many inodes you want to make room for.
Inodes are not necessarily involved in forming soft links. You can have soft links in a system without inodes, since a soft link is simply a file which contains the name of another file. For example, Windows 95 allows you to have soft links---which it calls shortcuts---and it doesn't use an inode based filesystem.
Hard links do require inodes: a hard link to a file is a directory entry which contains the inode number of that file. Several hard links to the same file means several directory entries, all containing the same inode number.
(The abovereferenced page, on BSD UNIX inodes, has a picture of an inode, including representational images of index blocks and indirection, as a bonus.)