Linux - The beginning

We begin this series of Linux with this article as its first blog-post. In this article, we will start with the basics on Linux kernel and not dive deep into the commands aspect of Linux. So, sit back, relax and enjoy the article.

Linux History:

Before we begin, it's important for us to know how it all began. I promise I won't bore you all. In fact, I will keep it so short that you won't even know that the history section of the article is long over.

It was in the year 1984 that the GNU project and the free software foundation created open source version of the UNIX utilities.

Fast forward to 1991, a visionary, Mr. Linus Torvalds, created UNIX like kernel along with some GNU utilities that were released under the GPL license.

Linux Principles:

Now, let us understand a few key characteristics and principles in Linux.

  • Everything is a file in Linux, even the hardware.
  • Linux enables us to create small single purpose programs.
  • Linux has the ability to chain programs together for complex operations.
  • Linux helps to avoid captive user interface.
  • If all I mentioned already wasn't enough, the configuration files in Linux are stored as text files which makes it easier to access and make any modifications to them.

There are so many operating systems out there. Then what might be the reason that the developer community is so obsessed with Linux. Let's understand.

  1. Linux is an open source software which means, huge community support.
  2. Linux supports wide variety of hardware.
  3. Ample customization possible with Linux
  4. Most of the servers and super computers out there run of Linux
  5. Automation is easy to do on Linux
  6. Last but not the least, Linux is a secure and stable OS.
  1. Ubuntu
  2. Linux Mint
  3. CentOS
  4. Arch Linux
  5. Fedora
  6. Debian
  7. Open SUSE
  1. Red Hat Enterprise Linux - Not open source
  2. Ubuntu server - open source
  3. Centos - open source
  4. SUSE Enterprise Linux - open source

Below are most used Linux Distributions currently used extensively in the IT industry:

RPM( Red Hat Package Manager) based: Centos, Oracle Linux Debian based: Ubuntu server, Kali Linux

Packaging method of the software is the major difference between RPM and Debian based Linux. Debian based Linux are easy to get, easy to install, and focuses more on user friendliness.

Some important directories in Linux file system:

  1. Home Directory:

/root: root user

/home/username: non-root user

  1. User executable commands stored in: /bin, /usr/bin, /usr/local/bin

  2. System executable commands stored in: /sbin, /usr/sbin, /usr/local/sbin

  3. Other mountpoints: /media, /mnt

  4. Configuration: /etc

  5. Temporary files: /tmp

  6. Kernels and bootloader: /boot

  7. Server data: /var, /srv

  8. System info: /proc, /sys

  9. Shared libraries: /lib, /usr/lib, /usr/local/lib.

Let us wrap it here today. I know it's not a lot but as the first article in the Linux series, I feel I should be stopping now and come back with the next article tomorrow that would have more of commands and utilities of Linux in much more detail.

Stay tuned.