Linux Tutorial
Linux tutorial provides basic and advanced concepts of Linux. Our Linux tutorial is designed for beginners and professionals.
Linux is an open-source operating system.
Our Linux tutorial includes all topics of Linux OS such as Linux commands, Directories, Files, Man Pages, File Contents, File Permissions, shells, VI editor etc. There is also given Linux interview questions to help you better understand the Linux operating system.
Prerequisite
Before learning Linux, you must have the basic knowledge of Operating System.
Audience
Our Linux tutorial is designed to help beginners and professionals.
Problem
We assure that you will not find any problem in this Linux tutorial. But if there is any mistake, please post the problem in contact form.
What Is Linux
In the simple language Linux is an operating system (OS). We all are familiar with other operating systems like Microsoft windows, Apple Mac OS, iOS, Google android, etc, just like them linux is also an operating system.
An operating system is a software that enables communication between computer hardware and software. It conveys input to get processed by the processor and brings output to the hardware to display it. This is the basic function of an operating system. Although, it performs many other important tasks, let's not talk about that.
Linux is around us since mid 90s. It can be used from wristwatches to supercomputers. It is everywhere in our phones, laptops, PCs, cars and even in refrigerators.It is very much famous among the developers and normal computer users.
Structure Of Linux Operating System
An operating system is a collection of software, each designed for a specific function.
Linux OS has following components:
device management: A system has many devices connected to it like CPU, memory device, sound cards, graphic cards, etc. A kernel stores all the data related to all the devices in device driver (without this kernel won't be able to control the devices). Thus kernel knows what a device can do and how to manipulate it to bring out the best performance. It also manages communication between all the devices. Kernel has certain rules that has to be followed by all the devices.
Memory management: Another function that kernel has to manage is the memory management. Kernel keeps a track of used and unused memory and make sure that processes shouldn't manipulate data of each other using virtual memory address.
Process management: In process management kernel assign enough time and gives priorities to processes before handling CPU to other process. It also deals with security and ownership information.
Handling system calls: Handling system calls means a programmer can write a query or ask the kernel to perform a task.
Most well known system library for Linux is glibc (GNU C library).
With the help of commands you can access your files, edit and manipulate data in your directories or files, change location of files or anything.
Development Tools
With the above three components your OS is running and working. But to update your system you have additional tools and libraries. These additional tools and libraries are written by the programmers and are called tool chain. A tool chain is a vital development tool used by the developers to produce a working application.
End User Tools
These end tools make a system unique for a user. End tools are not required for the operating system but are necessary for a user.
Some examples of end tools are graphic design tools, office suites, browsers, multimedia players, etc.
Open Source Operating System
Most OS come in a compiled format means the main source code has run through a program called compiler that translates the source code into a language which is known to the computer.
Modifying this compiled code is really a tough job.
On the other hand, open source is completely different. The source code is included with the compiled version and allows modification by anyone having some knowledge. It gives us freedom to run the program, freedom to change the code according to our use, freedom to redistribute its copies and freedom to distribute copies which are modified by us.
In short, Linux is an operating system that is "for the people, by the people".
next →← prev
Linux History
Evolution of Computer
In earlier days, computers were as big as houses or parks. So you can imagine how difficult it was to operate them. Moreover, every computer has a different operating system which made it completely worse to operate on them. Every software was designed for a specific purpose and was unable to operate on other computer. It was extremely costly and normal people neither can afford it nor can understand it.
Evolution of Unix
In 1969, a team of developers of Bell Labs started a project to make a common software for all the computers and named it as 'Unix'. It was simple and elegant, used 'C' language instead of assembly language and its code was recyclable. As it was recyclable, a part of its code now commonly called 'kernel' was used to develop the operating system and other functions and could be used on different systems. Also its source code was open source.
Initially, Unix was only found in large organizations like government, university, or larger financial corporations with mainframes and minicomputers (PC is a microcomputer).
Unix Expansion
In eighties, many organizations like IBM, HP and dozen other companies started creating their own Unix. It result in a mess of Unix dialects. Then in 1983, Richard Stallman developed GNU project with the goal to make it freely available Unix like operating system and to be used by everyone. But his project failed in gaining popularity. Many other Unix like operating system came into existence but none of them was able to gain popularity.
Evolution of Linux
In 1991, Linus Torvalds a student at the university of Helsinki, Finland, thought to have a freely available academic version of Unix started writing its own code. Later this project became the Linux kernel. He wrote this program specially for his own PC as he wanted to use Unix 386 Intel computer but couldn't afford it. He did it on MINIX using GNU C compiler. GNU C compiler is still the main choice to compile Linux code but other compilers are also used like Intel C compiler.
He started it just for fun but ended up with such a large project. Firstly he wanted to name it as 'Freax' but later it became 'Linux'.
He published the Linux kernel under his own license and was restricted to use as commercially. Linux uses most of its tools from GNU software and are under GNU copyright. In 1992, he released the kernel under GNU General Public License.
Linux Today
Today, supercomputers, smart phones, desktop, web servers, tablet, laptops and home appliances like washing machines, DVD players, routers, modems, cars, refrigerators, etc use Linux OS.
next →← prev
Linux Features
Multiuser capability: Multiple users can access the same system resources like memory, hard disk, etc. But they have to use different terminals to operate.
Multitasking: More than one function can be performed simultaneously by dividing the CPU time intelligently.
Portability: Portability doesn't mean it is smaller in file size or can be carried in pen drives or memory cards. It means that it support different types of hardware.
Security: It provides security in three ways namely authenticating (by assigning password and login ID), authorization (by assigning permission to read, write and execute) and encryption (converts file into an unreadable format).
Live CD/USB: Almost all Linux distros provide live CD/USB so that users can run/try it without installing it.
Graphical User Interface (X Window system): Linux is command line based OS but it can be converted to GUI based by installing packages.
Support's customized keyboard: As it is used worldwide, hence supports different languages keyboards.
Application support: It has its own software repository from where users can download and install many applications.
File System: Provides hierarchical file system in which files and directories are arranged.
Open Source: Linux code is freely available to all and is a community based development project.
Why Use Linux
Linux is completely different from other operating systems in many ways.
It is an open source OS which gives a great advantage to the programmers as they can design their own custom operating systems.
It gives you a lot of option of programs having some different features so you can choose according to your need.
A global development community look at different ways to enhance its security, hence it is highly secured and robust so you don't need an anti virus to scan it regularly. Companies like Google, Amazon and Facebook use linux in order to protect their servers as it is highly reliable and stable.
Above all you don't have to pay for software and server licensing to install Linux, its absolutely free and you can install it on as many computers as you want.
Its completely trouble free operating system and don't have an issue with viruses, malware and slowing down your computer.
Unix Vs Linux
Today Linux is in great demand. You can see the use of Linux everywhere. It's dominating on our servers, desktop, smartphones and even used in some electrical devices like refrigerators.
Some people think Unix and Linux as synonyms, but that's not true. Many operating systems were developed to be like Unix but none of them got the popularity as Linux. Linux is the clone of Unix. It has several features similar to Unix, still have some key differences. Before Linux and Windows, computer world was dominated by Unix. Unix is a copyrighted name and IBM AIX, HP-UX and Sun Solaris are only Unix operating system remained till date.