Understanding Linux from a Windows User Perspective

What Is Linux?

Like Windows XP, Vista, and 7, and Mac OSX, GNU/Linux (often simply Linux) is a computer operating system (or OS). However, Linux differs from Windows OSes in a number of ways.

  • Linux is Free and Open Source Software. This means that all the source code of the Linux Kernel, as well as almost all the programs you will use with Linux, is freely available to anyone who wants to read and edit it. Linux is thus distinct from both Windows and OSX. N.B. In this context, Free Software is not always gratis, though it often (usually) is. To use the common metaphor, Linux is necessarily free as in speech, and usually free as in beer.
  • In common with OSX and the BSDs, Linux is derived from UNIX.
  • Linux is much more highly configurable than Windows. In Windows, the user can easily change many settings. On a Linux Distro, though, the user can change much more. The Desktop Environment or Window Manager used, for example, is much simpler to change in Linux, and has many more available options.

Linux is the Wikipedia of operating systems

The most distinguishing trait of Linux is its un-unified development process. No single entity makes or runs Linux. The Linux kernel, the core of the operating system, is developed and maintained by Linus Torvalds’ Linux Foundation, but distributions are created by many organizations and individuals all over the world, some paid for by donations and some completely voluntary. Each Linux Distro has it own development cycle, which is separate from the kernel development. In addition to this, the Desktop Environments and Window Managers are developed by yet other groups. This contrasts with the Microsoft way of doing things, where one company develops the whole OS: kernel, desktop environment, and much of the pre-installed software.

‘Linux’ technically isn’t just Linux

Linux is really just the kernel and the drivers packed with the kernel. The other 90% of the OSes typically called “Linux” are many little programs running together, made by many people in many organizations like GNU, Xorg, KDE,XFCE, etc. But instead of saying “I just installed Linux/Ubuntu/KDE/Xorg/GNU/Bob’s Email Program” we typically just call the whole thing Linux. Formally, though, Linux should only be used to refer to the Kernel. When referring to the whole operating system, GNU/Linux is preferable.

Distributions are the key for end-users

If you’re looking to try Linux, what you want to look for is a ‘distribution.’ Examples are Ubuntu, Fedora, Debian, and SuSE etc. Try googling “Linux Distributions” – there are a lot out there. Most Linux Distributions include instructions on how to make a ‘Live CD’, which allows you to boot your machine into Linux to try it without actually installing it.

A distribution takes care of the hundreds of hours of tweaking and brainwork to pull all of the separate programs which run on top of Linux together, and gets them playing nicely together before you (the end-user) try to use this blob of programs as a whole. The distribution you choose is fairly important: it’s almost like an OS in itself.

There aren’t really any EXEs in Linux

Linux doesn’t rely on filename extensions like DOS/Windows does. You can give a file almost any name and it will not affect the type of file it is. This is because the filesystems used by Linux use something called an “execute bit.” This is a switchable setting (kind of like read-only) on Linux/Unix files which says whether or not Linux should try to ‘run’ the file. When the user tries to run the file, Linux looks at the file header information for hints on how to run it, rather than depending on the file extension to determine what to do (as Windows does).

Most software is not installed by downloading and running a program

Most forms of Linux have an awesome thing called a Package Manager. The package manager accesses a huge online database of programs written for Linux and lists them. It’s kind of like Add/Remove Programs in Windows, except that most Linux applications can be installed right from the package manager, without visiting any websites, inserting any discs, or running any programs.

There are many advantages to using package managers over downloading software as an executable or binary (as you might on Windows from the website of the developer).

  • The packages are tested with your distro extensively. Since there are so many Linux distros, this could potentially otherwise become a problem.
  • Because the packages are ‘signed’ by testers, you can ensure that you are downloading what you think you are downloading.
  • You do not download unneccessary libraries, which you already have installed on your system. In WIndows, there is no way for the developer to tell what libraries your system already uses, so they must package all that are necessary, leading to larger downloads, longer install times, and software bloat.
  • You can easily uninstall completely, or even revert back to an older version number.
  • Software updates are much easier for the system to manage.

Linux loves scripting

If you can do it with a mouse in Linux, there is probably a command that will do the same thing. That means you can automate a lot of things right off the bat. A considerable number of developers recognize this culture, and write command-line programs first. Then, they write a GUI with all of the pictures and buttons we know and love. The GUI simply converts your clicks into commands which are run in the background.

The Terminology of Linux

The different terminology used in the Linux world can be confusing for a new user.

Some of the more common differences are:

  • Folders are referred to as ‘Directories’
  • The administrator account for a Linux system is called the root account.
  • The ‘command prompt’ in Windows is equivalent to the Terminal in Linux.

Devices and drive partitions are represented as files

USB ports, hard drives, any detected partitions on those hard drives, temperature sensors, and most any other device is represented by a file and placed in the ‘dev’ directory. Linux will give it some cryptic name once it is detected. The nice thing about this is that when you need to tell a program what port or hard drive to use, you simply point it to that file.

Filesystems are represented by directories

Directories have the ability to act like portals into other filesytems. You can tell almost any directory in Linux to lead into another filesystem on the same drive, another drive, a network drive, or even a ZIP file. This is called ‘mounting.’ For example, if you plugged a drive in with your movies you would then create a directory somewhere on your machine and tell Linux to mount the filesystem of that new drive to that directory. What that would do is cause that directory to represent that filesystem. When you go into that directory, you’re going into the drive. What’s crazier, you can create a directory in that filesystem and mount another filesystem on another drive on that first filesystem. This can make things tricky because one moment you’re on one filesystem on one drive, you enter a directory there, and suddenly you’re seamlessly on another filesystem on another drive… or in your printer’s FTP server, and you might not even realize it unless you actively check.

Everything revolves around the root directory

The root directory is the beginning of it all. This is basically your C: drive. To access other filesystems on other drives and their partitions, directories are created within this root directory which act as portals to those other filesystems. Remember, you can make almost any directory into a portal to another filesystem (it’s called mounting).


Sources : wikia


About Rahul K Upadhyaya
I am a software developer. My core areas of interest lies in Openstack as a technology,Python as the Programming language and Linux (Ubuntu/CentOS) as my favoraite OSs. When I am not at work, you would find me with my Camera , clicking random weird Stuff and People. You can have a look at the pictures on http://rakrup.wordpress.com

One Response to Understanding Linux from a Windows User Perspective

  1. Pingback: What is Linux? | Kunal Dawn

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: