One thing that hasn’t been mentioned here is the file hierarchy.
On a Windows-based PC, files tend to be placed in folders that have logical names. Some programs, when installing, do scatter things around, but for the most part it’s easy to find most of the files associated with a program you’ve installed by going to the “c:\program files” folder, see system files in “c:\windows”, and so on. There are multiple directory trees - one tree for each hard drive or partition.
With Linux, the file hierarchy is very logical – some might say much more so than Windows – but it’s also quite complex. I’ve got Linux running as the main OS on my second PC, and I don’t even fully understand the hierarchy.
Personal documents are in your home folder, /home/[yourusername], with subfolders or hidden files (filenames starting with a dot, usually ending in the letters “rc”) for personalized settings for your window manager and programs. Off the root directory (/), there’s /bin, /boot, /dev, /etc, /initrd, /lib, /mnt, /usr, /opt, /sbin, /var, and several others, each serving a very specific purpose. For instance, programs (called “binaries” in Linux-speak) that are included in the distribution dealing with system administration and maintenance are usually found in /sbin. User-installed programs for such tasks are in /usr/local/sbin. The /usr directory includes subdirectories for some programs (/usr/bin), help files (/usr/man), and other things, but the programs for basic commands are in /bin. It can be difficult, unless you’re very familiar with the underpinnings of Unix, to find the executable file related to a specific program.
Some proposals have been made to simplify the Linux file hierarchy, but they’re not popular among hardcore geeks, who still make up the vast majority of Linux users.
The Linux filesystem treats multiple hard drives much differently than Windows. Instead of multiple trees for each partition, there is one directory tree encompassing all drives and partitions. Physical and virtual drives are secondary; /home could be on one drive or partition, while the other directories under root (/) on another partition. This has its shortcomings; if you run out of hard drive space, for instance, expanding your storage space isn’t as simple as plugging in another drive.