Linux
- Pronunciation
- LIN-uks
In short
Linux is an open-source operating system kernel that powers most servers, cloud platforms, containers, and Android phones, usually packaged as a distribution.
What is Linux?
Linux is an open-source operating system kernel, the core program that manages a computer's CPU, memory, storage, and devices and lets other software use them. It was first released by Linus Torvalds in 1991 and is developed by thousands of contributors under the GPL license. In everyday speech, Linux also refers to the complete operating systems built around that kernel.
Those complete systems are called distributions, or distros, such as Ubuntu, Debian, Fedora, Red Hat Enterprise Linux, and Alpine. Each distribution bundles the kernel with system tools, a package manager for installing software, and optionally a desktop environment. On servers, most work happens in a command-line shell such as Bash, using commands like ls, cd, grep, and ssh.
Linux runs the vast majority of web servers and cloud virtual machines, every one of the world's 500 fastest supercomputers, Android phones, and countless embedded devices such as routers and smart TVs. It also underpins containers: Docker and Kubernetes rely on Linux kernel features such as namespaces and cgroups, which is why containers on macOS and Windows usually run inside a small Linux virtual machine. For developers, basic Linux command-line skills are among the most useful in DevOps.
A simple analogy is a car: the kernel is the engine, and a distribution is the complete car built around it, with different makers offering different models. People often confuse Linux with Unix; Linux is Unix-like, following similar designs and the POSIX standards, but it was written from scratch and contains no original Unix code. macOS, by contrast, is a certified Unix system, but it is not Linux.
Key takeaways
- Linux is an open-source kernel; distributions add tools to make a full operating system.
- It runs most servers, cloud infrastructure, supercomputers, and Android devices.
- Containers depend on Linux kernel features such as namespaces and cgroups.
- Servers are usually managed through a command-line shell such as Bash.
- Linux is Unix-like but is not the same as Unix or macOS.
Example
# Show the distribution and kernel version
cat /etc/os-release
uname -r
# Move into a folder and list its files with sizes
cd ~/projects && ls -lh
# Search a file for a word, check disk space, and list running processes
grep -i "error" app.log
df -h
ps aux
# Install a package (Debian and Ubuntu use apt; Fedora uses dnf)
sudo apt install htopReaders ask
Is Linux an operating system or a kernel?
Strictly speaking, Linux is the kernel. In common usage, the word also means a complete operating system built on that kernel, called a Linux distribution, which some people call GNU/Linux because it includes many GNU tools.
Which Linux distribution should I learn first?
Popular beginner-friendly choices include Ubuntu, Debian, and Fedora, which are well documented and widely used. The core command-line skills you learn on one distribution transfer to all the others.
Why do most servers run Linux?
Linux is free, stable, and highly customizable, and it runs well without a graphical interface, which saves resources. Most server software, cloud tooling, and container technology is also built and tested on Linux first.
See also
- ContainerDevOps & Cloud, p. 12A container is a lightweight, isolated package that bundles an application with its dependencies and runs it on the host's shared operating system kernel.
- DockerDevOps & Cloud, p. 17Docker is an open-source platform for packaging an application and everything it needs into a container that runs the same way on any machine.
- Virtual MachineDevOps & Cloud, p. 53A virtual machine is a software-based computer that runs its own operating system on shared physical hardware, isolated from other machines on the same host.
- DevOpsDevOps & Cloud, p. 14DevOps is a set of practices and a culture that brings software development and IT operations together to deliver software faster and more reliably.
- GitVersion Control, p. 10Git is a free, open-source distributed version control system that tracks changes to files over time, so developers can collaborate and undo mistakes.
- Environment VariableDevOps & Cloud, p. 20An environment variable is a named value set outside a program, by the operating system or runtime, that the program reads to configure its behavior.
- BashProgramming Languages, p. 2Bash is a Unix shell and scripting language, the default on most Linux systems, used both to type commands interactively and to automate tasks with scripts.
- Operating SystemOperating Systems, p. 21An operating system (OS) is the core software that manages a computer's hardware, shares it out among programs and gives them a common way to use it.
- sudoOperating Systems, p. 29sudo lets a permitted user run a single command with root's or another user's privileges, after confirming their own password, and logs what was run.
Spotted a mistake or something missing on this page?Suggest an edit