// freedom begins
at the command line
Linux is a philosophy

Open kernel. Infinite possibilities. Millions of developers worldwide building the future on the foundation of free software.

bash — 80×24
user@arch:~$ uname -a
Linux arch 6.9.3-arch1-1 #1 SMP x86_64 GNU/Linux

user@arch:~$ neofetch --off
OS: Arch Linux x86_64
Kernel: 6.9.3-arch1-1
Shell: zsh 5.9
DE: Hyprland
CPU: AMD Ryzen 9 7950X (32) @ 5.70 GHz
RAM: 2847 MiB / 65536 MiB

user@arch:~$ uptime -p
up 14 days, 7 hours, 32 minutes

user@arch:~$
6.9
Kernel version
600+
Distributions
97%
Top-500 servers
33M+
Lines of kernel code

$ ls /distros/

Popular distributions

From beginners to seasoned sysadmins — everyone finds their fit.

🟠
Ubuntu
The most popular desktop distro. A great starting point for beginners.
Beginners
🔵
Arch Linux
Rolling release. Maximum control. RTFM. Customization without limits.
Advanced
🟢
Fedora
Bleeding edge tech from Red Hat. A playground for developers.
Developers
🔴
Debian
Stability first. The base for Ubuntu and hundreds of other distros.
Servers
🟩
NixOS
Declarative configuration. Reproducible builds. The future of Linux.
Experts
🟣
Gentoo
Compile from source. Optimize for your hardware. Emerge everything.
Hardcore

$ man cheatsheet

Essential commands

A cheatsheet for the most important Linux commands.

Command Description Flags Category
ls
$ ls -lah /etc
List files and directories -l  -a  -h  -R files
grep
$ grep -rn "error" /var/log
Search through file contents -r  -i  -n  -v text
chmod
$ chmod 755 script.sh
Change file access permissions -R  +x  u+rwx perms
ps
$ ps aux | grep nginx
Information about running processes aux  -ef  --forest process
ss
$ ss -tlnp
Socket and connection statistics -t  -u  -l  -p network
find
$ find / -name "*.conf" -type f
Search files by criteria -name  -type  -mtime files
systemctl
$ systemctl status nginx
Manage systemd services start  stop  enable process
curl
$ curl -X POST -d @data.json url
Transfer data over network protocols -X  -H  -d  -o network
awk
$ awk '{print $1,$3}' access.log
Text processing and transformation -F  -v  NR text
strace
$ strace -p 1234 -e trace=open
Trace system calls of a process -p  -e  -f process

$ git log --oneline kernel

Linux kernel history

From a student hobby project to the backbone of the internet.

1991
Torvalds' first commit
Linus Torvalds announces a "small hobby project" on the MINIX mailing list. Version 0.01 is released in September.
1992
GPL license
Linux switches to the GNU GPL v2 license. The era of open collaboration by thousands of developers begins.
1994
Linux 1.0
First stable release. 176,250 lines of code. Support for TCP/IP, ext2 filesystem, and loadable kernel modules.
2003
Linux Foundation
Open Source Development Labs is founded — the predecessor to the Linux Foundation. Major companies invest billions in development.
2008
Android on Linux
Google launches Android, built on the Linux kernel. Within 10 years — 3 billion active devices.
2016
Linux in WSL
Microsoft releases the Windows Subsystem for Linux. Linux's biggest rival acknowledges its indispensability.
2024
Rust in the kernel
Rust is officially adopted as the second kernel development language alongside C. A new era of safe systems programming begins.

$ git contributions --year=2024

Community activity

~4,200 kernel commits in the last year from 1,700+ developers worldwide.

Less
More
Ready to install Linux?
Download an image, flash it to a USB drive using dd or Ventoy, and welcome to the free world.