Both Linux and Windows provide a GUI and a command line interface. The Windows GUI has changed from Windows 3.1 to Windows 95 (drastically) to Windows 2000 (slightly) to Windows XP (fairly large) and is slated to change again with the next version of Windows, the one that will replace XP. Windows XP has a themes feature that offers some customization of the look and feel of the GUI.
Linux typically provides two GUIs, KDE and Gnome. See a screen shot of Lycoris and Lindows in action from the Wal-Mart web site. The lynucs.org web site has examples of many substantially different Linux GUIs. Of the major Linux distributions, Lindows has made their user interface look more like Windows than the others. Here is a screen shot of Linux made to look like Windows XP. Then too, there is XPde for Linux which really makes Linux look like Windows. Quoting their web site "It's a desktop environment (XPde) and a window manager (XPwm) for Linux. It tries to make easier for Windows XP users to use a Linux box."
This is also known as a command interpreter. Windows users sometimes call it a DOS prompt. Linux users refer to it as a shell. Each version of Windows has a single command interpreter, but the different flavors of Windows have different interpreters. In general, the command interpreters in the Windows 9x series are very similar to each other and the NT class versions of Windows (NT, 2000, XP) also have similar command interpreters. There are however differences between a Windows 9x command interpreter and one in an NT class flavor of Windows. Linux, like all versions of Unix, supports multiple command interpreters, but it usually uses one called BASH (Bourne Again Shell). Others are the Korn shell, the Bourne shell, ash and the C shell (pun, no doubt, intended).
One thing that Linux can do that Windows can not, is run from a CD. To run Windows, it has to first be installed to your hard disk. Normally Linux also runs from a hard disk, but there are quite a few versions of Linux that run completely from a CD without having to be installed to a hard disk. The term for this is a "Live" CD.
Running a Live CD version of Linux is a great way for Windows users to experience Linux for the first time. Among the Linux distros that have a CD-only version are Knoppix, Ubuntu and Open SuSE). I tried SuSE Live Eval version 9 in October 2003 and had some gripes. FreeBSD, a version of Unix (rather than Linux), also has a LiveCD.
That said, if Windows is broken to the point that it can't start up, there is a free program called Bart's Preinstalled Environment (BartPE) that can run a few Windows programs from a bootable CD. However, this is not from Microsoft and is only intended to fix a broken copy of Windows, it is not for everyday use. BartPE can only run a handful of programs that have been set up ahead of time for use with it. BartPE fills an important need, but creating the CD is not trivial, it requires a Windows CD (not recovery CDs or DVDs) and it only works with Windows XP and 2003 (not sure about Vista). The main point stands, in and of itself, Windows can not run from a CD.
The CD based versions of Linux differ in their use of the hard disk. Some, such as Lindows, do not write anything at all to your hard disk, making it the safest and easiest way to experience Linux. The downside of this is speed (CDs are much slower than hard disks) and continuity (being able to save data between uses). Other versions, such as SuSE 9 (this is now up to v10.2), do use your hard disk (SuSE 9 creates over 200 MB worth of files). What you give up in safety, you gain in speed. For reviews of Linux distributions that run from a CD see A Taste of Linux by Jim Lynch at ExtremeTech January 23, 2004 and A Taste of Linux, Part Two by Jim Lynch March 5, 2004.
In addition , a Live CD can also be used to insure that your hardware is supported by that specific version of Linux. Bootable Linux CDs are also used to recover files when Windows breaks to the point of not being able to start up. A recent Live Linux CD should be able to see all Windows files (they can read NTFS) and copy them to an external USB device or another computer on a LAN. Older CD based versions of Lindows and SuSE could not read files stored in an NTFS partition.
In October 2005 a whole new way of running Linux without installing it was introduced: Virtual Machines from VMware. Virtual machines let you run multiple operating systems on one computer at the same time. You can't beat it (virtual machines are used to run Windows on the Intel based Macs).
Using the free VMware Player you can download pre-built Linux virtual machines. Think of the VMware Player as analogous to the Adobe Acrobat Reader. Creating virtual machines costs money, but playing them does not.A program written for Linux will not run under Windows and vice versa.
For example, Microsoft makes a version of Office for Windows and another version for the Mac. They are two different products, each capable of only running on the operating system it was designed for. There is no version of Microsoft Office for Linux.
On the other hand, some programs, such as Firefox, are available for multiple operating systems. Firefox runs on Linux, Windows, Macs and more. Open Office competes with Microsoft Office and comes in versions for Windows (all the way from Windows 98 up to Vista), GNU/Linux ("Linux"), Sun Solaris, Mac OS X (under X11), and FreeBSD.
The process of making a new version of a program that will run on a different operating system is called "porting". But there are other ways to get a program to run on an operating system other than the one it was designed for.
The vast majority of malicious software (of all types) runs on Windows. I don't know the actual percentages, but it wouldn't surprise me if it was 98% or so. Windows users are burdened with the need for anti-virus and anti-spyware software.
Linux [has] ... the notion of an administrative (root) user that maintains and operates the system, and desktop users who only run the software on the system, is completely ingrained in most Linux distributions. Now it’s true that many Linux users ignore these features and run all their software from a root-level account anyway, but that’s a choice that they’ve made. The system defaults to protecting the operating system components from its user’s actions (intentional or otherwise). That feature alone must account in large degree for the dearth of viruses and other malicious vermin on Linux and UNIX platforms. Windows, on the other hand, started life as a single user system, with that single user being all-powerful. Although that’s no longer the case, the general attitude can still be found in many Windows-based software products – many of which just can’t be installed and/or run properly without desktop administrator privileges. This is all changing for the better, but it took Microsoft far too long to adopt this default-secure configuration practice.
Both Linux and Windows 2000/XP require a userid and password and boot time. That said, Windows XP supports users without a password (a very bad idea), I'm not sure if Linux does.
Windows can be configured to either ask for the userid/password at startup time or a default can be set instead. In Windows 2000 it is very easy to set a default userid/password, in Windows XP the method varies between the Home and Pro versions - in one it is straightforward, in the other it's a pain.
I've been told that in Linux the KDM and GDM login managers support automatic login. I've also been told that most versions of Linux do not allow the root user to login automatically. Windows, in contrast, is happy to let an Administrative user auto-login. Get started faster in Ubuntu
A new Windows XP machine used by a home user is likely to not ask for a userid/password at start-up. However, this depends on the number of users defined to Windows. When you create a new user in XP the default is not to require a password (user friendly triumphs over security - the Microsoft way). Windows 98, never mind.
Windows XP, 2000 and Linux all support different types or classes of users. Windows XP Home Edition supports Administrator class users that have full and total access to the system and restricted users that, among other restrictions, can't install software. Windows XP Pro and Windows 2000 support additional levels of users.
The first item on his list strikes me as very important - you can update "every single piece of software on my system with a single action." Windows and Microsoft Update only do a handful of Microsoft applications. With Linux, the OS updater application handles software from other companies too. Huge plus for Linux. Huge.
An interesting point was the ability to "Run Internet Explorer 5.0, 5.5, 6.0, and 7.0 on the same desktop" using software called IEs4Linux. Other points included the fact that most updates don't require a re-boot, Linux has a lesser need for anti-malware software and the ability to take "settings" with you when traveling.
Overall, Mr. Martin is very biased. For example, with portable applications, Windows users can carry entire applications with them with traveling. He also brags that Linux users can understand everything going on inside their computer, but, he doesn't offer software for doing this. Windows users have the excellent Process Explorer program which shows tons of information about what's going on under the hood. Process Explorer is a great program. Finally, some items on his list strike me as un-important.
They both do TCP/IP. Linux can do Windows networking, which means that a Linux computer can appear on a network of Windows computers and share its files and printers. Linux machines can participate on a Windows based network and vice versa.
Linux is a multi-user system, Windows is not. That is, Windows is designed to be used by one person at a time. Databases running under Windows allow concurrent access by multiple users, but the Operating System itself is designed to deal with a single human being at a time. Linux, like all Unix variants, is designed to handle multiple concurrent users. Windows, of course, can run many programs concurrently, as can Linux. There is a multi-user version of Windows called Terminal Server but this is not the Windows pre-installed on personal computers.
Windows allows programs to store user information (files and settings) anywhere. This makes it impossibly hard to backup user data files and settings and to switch to a new computer. In contrast, Linux stores all user data in the home directory making it much easier to migrate from an old computer to a new one. If home directories are segregated in their own partition, you can even upgrade from one version of Linux to another without having to migrate user data and settings.