What is the difference between Windows and Linux?

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.

Admittedly, it’s been a couple years for me since my last go-round trying to get Linux to work. I tried some version of Mandrake, since I heard it was user-friendly. (Incidentally, while I’ll probably try another Linux distribution sometime, these comments about usability have been the same ever since the first time I gave up on Linux, seven or eight years ago.)

I’ve never had trouble getting any Linux distribution installed. I have, however, never been able to make it useful. Software is impossible to install for me. I’ve never gotten anything beyond Mozilla installed - everything else required compiling, and I’ve never had a makefile actually work. (This is after trying Mandrake and Red Hat, both no-doubt out-of-date versions.) This meant I couldn’t get basic functionality, because I couldn’t install a thing that wasn’t in the box. I didn’t have the expertise to figure out those problems, and while there’s great Linux resources available out there, none seem geared to people who are as clueless as me.

I’m not all that clueless. Friends come to me with their computer problems. I’m not an expert, as I said, but I’m pretty competent at handling Windows. My complete inability to accomplish anything in Linux suggests to me that it’s not for those who don’t have a great deal of expertise in computers and a great deal of spare time.

I’m sure things have improved. But then, the rhetoric about it being useful as a normal working OS for normal people was pretty much the same the last two times I tried it. So I’m not inclined to believe it this time. Ironically, installation of it (including partitioning hard drives) was simple, despite what everyone says. But I was completely lost when it came to doing simple things like installing software.

I love the idea of Linux. As a matter of fact, I thought X-Windows worked quite well, and it’s so easy to stick different UIs on it that it can function pretty near exactly how you like it to from an interface perspective, and you can make it look pretty slick too. But I couldn’t make anything work. Plus, Linux’s out-of-the-box fonts were unbearable to look at. I found instructions to make TrueType fonts work, and I had plenty on my Windows partition. But, unfortunately, that involved installing a program. And programs don’t install for me. (I also think it’s problematic if the OS doesn’t have acceptable font handling straight out of the box. The fonts in X-Windows were simply unbearable for reading. They looked awful.)

I felt like I gave it the ol’ college try. I have no fear of command lines (I remember manually editing configuration files back in the days of DOS, and this is no different.) I have no fear of tinkering. But on Linux, nothing worked, no matter what I tried.

On the contrary!
I feel that the combination of mount points and true symbolic links makes it very easy to change the physical underpinnings of my system without affecting the apparent directory tree one bit.

I recently set up a Linux file server with a small drive for the OS and a big drive for my Samba partitions. I mounted the big drive as “/mnt/samba” and used symlinks to create “/export/common/music”, “/export/common/video”, “/export/common/photos” and the like, mapping to physical directories on my single big hard drive.

That drive was so cheap that I bought another big hard drive, moved the OS to a small partition on it and mounted the remaining space as a large partition under “/mnt/samba2”

It was trivial to twiddle with my symlinks so that the very same Samba shares existed, with no one knowing that the underlying storage for the Samba stuff went from one drive to two. If I look at the Samba machine from a Windows machine, I see the exact same shares today that I saw last week. I’m a Linux newbie, so this stuff is really giving me a geek rush :cool:.

That is, no doubt they are currently out of date, and subsequent versions have been released. At the time, they were new.

rkts, thanks for the tips, but it was just a little experiment, and despite the fact that I couldn’t achieve a lot, I installed it and had a play around, which was what I’d hoped to do.
I’ll just stick with windows for now.

I’m a long time Windows user who has just started experimenting with Xandros Linux a few weeks ago.

I was very pleasntly surprised with Xandros itself. Its slick, its shiny and its stable. But the applications available for it are simply horrible.

One example in the Xine media player. It has one of the most unintuitive user interfaces I have ever come accross, and it is seriously unstable. If it can’t play a file it just locks up and so far i have not been able to find out a way to it shut down once this happens.

Unfortunatley most of the Linux applications I have used seem to be of poor quality with the notable exception of Open Office.

Have you tried xmms? I love that as a music player, but it doesn’t do movies. (I live behind a slow dialup link. I’m lucky I can download the few legally-available mp3s and oggs in the world.) For my DVDs, I do like to use XINE but my defintion of intuitive and friendly is obviously different from yours. mplayer might be more your style.

As for the rest of the application world, check out Freshmeat for a ton of different software packages. It can probably find you compatible replacements for most of the applications you’re having problems with.

Thanks for the link…

Perhaps I am misinterpreting you, but can’t this be done with the “which” and “whereis” commands?

But I’m a little confused as to why this matters. The vast majority of users don’t need to know where their executables and libraries and system-wide configuration files are; only the “hardcore geeks,” as you call them, do.

There seems to be a presumption that usability means putting ignorant users in absolute control over their system. I don’t think the filesystem hierarchy should be made deliberately obscure, but I wouldn’t sacrifice good design just to empower people who don’t know what they are doing.

First rule of making a system suitable for the average user - don’t even think about using such commands.