Everybody knows Windows, and not always for the right reasons. Linux on the other hand can seem like dark magic only known to geeks and computer nerds to those of us on the outside. While it is harder to master than Windows, it is much more rewarding in that you finally gain control of your own PC. No more nagging from the operating system telling you it didn’t like what you just did, or not allowing you to delete that file you wanted to get rid of. If Linux tells you not to do something you can be sure it’s for a good reason!
Linux is an operating system that has its roots in Unix. It can do (almost) everything Windows can, and most of the time it can do it better. The fundamental difference between Windows and Linux is the approach. Windows is a commercial product designed to appeal to the widest possible audience and their various computers. It makes things as easy as possible to use, and hides all the workings from the user. This entails compromise.
Any system that tries to covers as wide a field as Windows isn’t going to be able to do everything well. To make it appeal and work for the widest audience the users have to be ‘protected’ from damaging the system and cede most of the control to it. Linux on the other hand has a more sensible approach. It has a core system which you can then bolt extras onto if you need them. You can tailor it to an amazing degree to your specific needs. It (mostly) isn’t a commercial product, and is maintained and developed by enthusiasts throughout the world.
The differenced I think can be summed up in one sentence. Windows was designed to sell, Linux was created to work.
Most distributions or ‘distros’ are free. You can download them, use them, abuse them, and pretty much do what you like with them. Most of the utilities and applications are also free. This is the other main attraction to new Linux users. Freedom. Not only do you not have to pay for any of the software, although I would encourage donations where appropriate, you have the freedom to do what you like. There are no lengthy Terms and Conditions to read, or copy protection because the software is free to use and distribute.
Linux main downside is that it is harder to manage to begin with. It can seem daunting at first, but well worth it once you get the hang of things. A lot of work has been done, and is being done to make the system easier for the newbie. The documentation is pretty good, and because the following of Linux is pretty fanatical there are hundreds of online forums and resources to help you along the way.
Linux, like your PC itself is made up of several components which I shall briefly describe below.
Even though you can see it, your operating system is doing several things at once. Most of them will have to go through your processor. Linux has a scheduler which prioritizes all the different demands and gives them to the processor in order. It decides what is important and what isn’t and ensures the processor deals with the important ones first.
Linux tries to use your available memory as much as possible as it works much faster than your hard drive. The processes mentioned above are stored here while they are being worked on. If you memory gets full then it has an overflow called Swap Space which pretends to be memory so your processor can use it.
Your PC is made up of any number of combinations of hardware. Sound cards, video cards, network cards, hard drives, the list is endless. Somehow Linux manages to support the majority of them while remaining a decent size. It does this by using modules. These are like ‘bolt-ons’ that can be added if they are needed by the system. This allows the flexibility to add and remove hardware as you need to.
The kernel is the heart of Linux. It is the sun around which everything orbits and receives life. This is what makes Linux what it is. It is a core program that controls everything around it. It coordinates everything that goes on within the system.
Where you had FAT and NTFS in Windows, here we have ext2, ext3 and others. Think of them as a library. Your hard drive is the book shelf, and the file system is how the books are arranged. There has to be a system for you to quickly find your book and the same for computer files.
The Graphical User Interface (GUI) is the pretty desktop you see. Windows is purely GUI driven, in that everything you do is dragging and dropping from one window to another, which is where it got its name. Although Linux can do the same, it works differently. At its core Linux is controlled from the command line. You type in commands and the machine does its thing.
These are software addons you can install to achieve a certain goal. Things like music players, office tools, web browsers etc. Exactly the same as buying a firewall or office suite for Windows, except for the most part, applications for Linux are free. There are commercial applications out there which you have to pay for, but they are in the minority, and unless your needs are extremely specific, not really necessary.
These are similar to applications in that you can install them on your system for a specific purpose. However that purpose is very different. Applications are like productivity tools, they help you produce something. Utilities help you manage your system like managing hard drives, monitoring networks, firewalls and that kind of thing.
That is your Linux system in a nutshell. As with everything, there is as much technical detail as you could wish for if that’s your thing, but this was just an overview to familiarize you with Linux. Pretty straightforward once explained isn’t it?
The Working Directory is the location of the directory that you are currently in. For example if you log into the system, it is designed so that you will begin in your home directory. For example, if your username was tom then your home directory by default would be /home/tom. When tom logs into the system it places him in the /home/tom directory, which is the current working directory. So if tom issues the command ls, then it will list the contents of /home/tom. If tom moves to the /usr directory by using the command cd /usr (which means change directories to /usr) then the current working directory is /usr Current working directory is the current directory that a command will interact with. Now, that does not mean that you have to be located in a directory to issue a command in the shell. Regardless of your current working directory you can use a command that interacts with any directory by using a path. For example, if you were located in the /home/tom directory you could list the contents of the /usr/share directory by using the path of that directory so the command would look like this:
One command that will verify your working directory is the command pwd, which stands for print working directory.
Moving Around in Directories
The cd command is the basic way to move around in the directory system. Cd followed by the directory location will move the users current working directory. For example,
This command moves a user to the /home directory where all user directories are located. If the user fred wanted to move to their /home directory they would use:
There is a shortcut to moving to your home directory. The ~ is equivalent to the home directory. As a result fred can move to his home directory with this command:
This makes it easier than typing the full path.