In this article we will start discussing about the basics of Linux and will serve as an introduction to this Operating System. I’m still in the process of learning things about Unix/Linux platform so I will appreciate any guiding or feedback from you. UNIX was an operating system developed in 1969 by the Bell Labs who was a subdivision of AT&T. Because it was a revolutionary system, this OS became more and more popular. Unlike other systems, UNIX offered the possibility of multiple interactions from different users at the same time, a term that in our days it’s called multitasking. Multiple versions of UNIX were later developed and one of the most known versions of UNIX, the BSD was developed in 1977. More and more companies took the source code from UNIX and developed proprietary Operating Systems. In 1984 Richard Stallman created GNU to provide free access to UNIX systems for consumers all around the world. They also released the GPL (General Public License) who imposed that software should also be distributed with the source codes. In 1991 Linus Torvalds created the first version of a kernel for a OS compatible with IBM-PC. GNU saw the potential of this new OS and from the combination between these two entities the Linux Operating System was born.
Over time, more than 300 versions of Linux were released world-wide. We can divide these distributions in two main categories:
- Complex: Gentoo, Debian.
- User-friendly: RedHat, Ubuntu, Knoppix, Mandriva
Linux /UNIX operating systems are composed of three elements:
- kernel – provides the means for inter-communication between hardware components (drivers, CPU, memory) and the OS
- shell – the command line interpreter, offers the possibility to interact with the computer using input commands (the interface between user and kernel). One of the most renown shells for Linux is bash (Bourne-again Shell)
- file system – It is a structured system presented in forms of files and directories responsible for managing users data and applications
In Linux, the common way of interacting with the Operating System is by using the remote virtual consoles because in most situations, the user does not have physical access to the equipment. If you are using a Linux without graphical interface, the shell will be opened automatically after login. If the OS is booted in the graphical server, the user will need to login using the interface and then open up a terminal console.
The structure of a Linux command look similar to:
command_name [options] [arg1][arg2]
the available command options begin with –
it’s important to remember that commands in Linux are case-sensitive which means that you’ll need to remember the syntax of the command precisely.
Linux commands support piping which means that the output of a command can be used as the input for another command. The piping symbol used in Linux is | (for example ls | sort which will list directories in the present location and will sort the result).
Just like Windows, Linux offers help capabilities to any available commands (In Command Prompt /?, in Powershell Get-Help). Unix Programmer’s Manual can be view for any command using man tool. For example, use man ls to view the help documentation for list directories command:
man can be used with -k option to search for a certain keyboard in man pages or with -s to search in a certain section. You can also view the available help menu using –help syntax.
I recommend using the Linux introduction to user commands by typing man intro:
That’s it for this introductory article, in the next post we will talk about the Linux file system and we will learn about different file types that exists in these Operating Systems. We will also talk about the structure of files and directories in Linux. In the meantime don’t forget to relax and enjoy your day. Wish you all the best and stay tuned for the following articles.