Linux is an Open Source Software, as of now the most widely used Software in the world, Our Mobile phones, Tabs, Laptops, etc use Linux. Also, Android is based on Linux and, Many of the Shared Servers use Linux such as E-mail servers, Web servers, File servers, Database servers, etc. Especially, In Web Servers.
Is Everything in Linux a File?
It would not be a surprise if I say that Linux is nothing but a collection of Files.
Well, You may say that let's suppose we believe that everything is a file but what about directories? They contain files, right? But my answer would be a "No" because a directory in Linux lists files or can be listed as a file containing names of other files.
The reason for this can be that from handling I/O devices to inter-processes and network communications everything is the stream of bytes that are prone to the file system.
Is Linux a Kernel, Not an OS?
When it comes to describing Linux, The thoughts become distinct, For some Linux is an OS whereas for some Linux is a Kernel. First of all, We must look at what exactly is an OS. So, What are the features of an OS? We may say that an Operating System:
Provides UI(User Interface).
Manages the software as well as the hardware of a computer system.
Handles memory management, and I/O Management.
Provides file system abstraction.
Supports Multiuser and Multitasking.
Supports Application Development.
But, All of the above are completely applicable to Some Linux Distros. Now, Let's get a sketch of what exactly is a Linux kernel, Linux kernel:
Directly interacts with the computer's hardware
Is the core of Linux Software
Manages all the scheduling, process management
Becomes the medium for the interaction between hardware and processes
Has access to oversee all the existing file system services.
Thus, We can say that Linux is at its core a Kernel and with some GNU Tools may be called an OS such as some of the Linux Distros.
There are various Flavors of Linux called Linux Distros(Distributions) such as Ubuntu, Debian, Fedora, CentOS, etc.
Linux Terminologies
Here is a quick description of some Linux Terminologies in simple words:
Terminal: It's a window that is the first to open up whenever we click on the terminal in Linux and where we can type in commands.
CLI: This is an abbreviation of Command Line Interface, It accepts lines of text and processes them into instructions for the computer system. Sometimes, CLI and Terminal are referred to as the same.
GUI: This is an abbreviation of Graphical User Interface, It's an abstraction of CLI.
GNU: This is an abbreviation of "GNU's Not Unix". GNU comes via the GNU Project(Free Software Foundation).
GNOME: This is an abbreviation of GNU Network Object Model Environment and is an open-source desktop environment or in simple words visual desktop interface which is similar to Windows.
Command: Commands are the lines of text that we feed to the CLI which in turn performs tasks based on the instructions.
Shell: Shell is an interface that accepts user input in form of commands and these commands are the basis of the internal execution of the system's processes and services or system as a whole.
Prompt: When we open the Terminal window then, we can see the user name and the distribution name before the $ sign that is called the Prompt. For example, user@ubuntudistro:~$
Root: Root is a superuser and has the highest rights to the system. For identifying a root user we can look at the prompt if the prompt has # instead of $ then, it means that the current user is root.
Package Manager: Package Manager is a tool provided by Linux to look for the installed software, download new software, and update the software and these can be done very conveniently using Package Manager.
Binaries: Binary package contains files called binary files and these are built from the source code, are irreversible, and are called the "Pre-Built Executables" meaning they are executable files that are pre-built.
Therefore, The main key takeaways from the above-presented content are:
Linux is a Kernel and with some GNU Tools can be referred to as an OS.
Although Linux has overwhelming commands and concepts, New users should not feel nervous or hesitant while trying out this technology.
If you want to learn more about Linux's history and origin then, you can refer to this link.
As said by the creator of Linux Mr. Linus Torvalds "Talk is cheap. Show me the code."
Thus, We'll proceed further onto the Practical aspects of Linux in our next blog post.
You can mention me on Twitter and can write your key takeaways from this blog.
And, Don't forget to Follow me on Hashnode for the upcoming Simply Linux series where I'll be discussing the concepts and commands of Linux in the most simple way possible.
(Twitter - satyamtwts)
Thank You!!