What is Linux?
As a computer operating system, linux establishes communication between the hardware and the software that runs on it. It performs numerous functions, including conveying input to the processor for processing and displaying output on the screen. It can be used on a wide variety of devices, from desktop computers to mobile phones and tablet computers. It is even used on servers that host web sites and provide other services to the Internet.
Unlike proprietary systems such as Microsoft Windows and Apple Mac OS, linux is distributed under an open source license. This means that anyone can create a version of the operating system and make it available for free (although companies often charge for support). This is one of the reasons why linux has become so popular.
Linus Torvalds owns the copyright to the name “Linux”, but anyone can create a distribution of Linux by combining different open source components. The components of a Linux system are typically licensed under a free software license, such as the GNU General Public License (GPL).
Some commercial suppliers of Linux distributions offer specialized business versions of their product for users who want more features than are available in the freely available community editions. These specialized distributions may include additional software packages and tools to help with security, manage higher numbers of installations and simplify administration tasks.
Most Linux distributions are based on the Unix-like GNU operating system, created in 1983 by Richard Stallman, president of the Free Software Foundation. The FSF prefers to use the name GNU/Linux to describe the entire family of open source Unix-like operating systems. Many people, however, continue to use the name Linux alone.
A linux system starts with an init program, such as the traditional sysvinit and the newer systemd, OpenRC or Upstart. This program is responsible for starting other programs and processes, such as a graphical login prompt or the text-mode command line. Most Linux distributions also include traditional, specific-purpose programming languages for scripting and text processing, such as awk, sed and the advanced text editor GNU Emacs.
The command line interface is the dominant method of interacting with a Linux system. It is known as the “bash” shell, derived from the Bourne Again Shell (BASH). The underlying low-level software components of a linux system are typically written in the C language. However, other languages such as Python, Perl, PHP and the dynamic programming language Guile Scheme are widely supported.
Most Linux systems use a package management system to manage software installs and updates. For example, RPM or Debian’s dpkg are popular choices. Some systems, such as Fedora and Ubuntu, have a reputation for incorporating more experimental features than the more stable, professional-oriented Red Hat Enterprise Linux (RHEL). In some cases, this makes them more desirable for advanced users who are willing to spend more time managing their own installation and maintenance.