<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><id>https://echotint.com/en/</id><title>EchoTint · Writing</title><subtitle>Technical notes and personal writing.</subtitle><link href="https://echotint.com/en/"/><link href="https://echotint.com/en/atom.xml" rel="self"/><updated>2026-04-02T02:00:00.000Z</updated><author><name>Edwin</name></author><entry><id>https://echotint.com/en/2026/04/02/linux-basics/</id><title>Linux basics: versions and essential concepts</title><link href="https://echotint.com/en/2026/04/02/linux-basics/"/><published>2026-04-02T02:00:00.000Z</published><updated>2026-04-02T02:00:00.000Z</updated><summary>An introduction to Linux kernel versions, distributions, filesystems, permissions, processes, and the concepts that tie them together.</summary><content type="html">&lt;p&gt;Linux is not a single software package. It is an operating system ecosystem built around the Linux kernel, together with toolchains, package managers, service managers, and desktop environments. For a beginner, understanding how Linux versions are organized before learning a few essential concepts makes it easier to see the whole picture.&lt;/p&gt;
&lt;h2 id=&quot;linux-versions&quot;&gt;Linux versions&lt;/h2&gt;
&lt;p&gt;When people talk about a Linux version, they usually mean one of two things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The kernel version&lt;/li&gt;
&lt;li&gt;The distribution and its version&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;kernel-versions&quot;&gt;Kernel versions&lt;/h3&gt;
&lt;p&gt;The Linux kernel is the core of the operating system. It handles hardware, process scheduling, memory, filesystems, device drivers, and other fundamental tasks.&lt;/p&gt;
&lt;p&gt;A kernel version commonly looks like this:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;/_astro/ec.ap99l.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame has-title&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;Text&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#24292e;--1:#e1e4e8&quot;&gt;6.6.21&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy code&quot; data-copied=&quot;Copied&quot; data-code=&quot;6.6.21&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;A useful starting point for reading these numbers is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The first number identifies the major version.&lt;/li&gt;
&lt;li&gt;The second identifies the release series within that version.&lt;/li&gt;
&lt;li&gt;The third identifies a patch release.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kernel releases concern low-level capabilities, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for new hardware&lt;/li&gt;
&lt;li&gt;Improvements to scheduling and memory management&lt;/li&gt;
&lt;li&gt;Filesystem and driver enhancements&lt;/li&gt;
&lt;li&gt;Security vulnerability fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In enterprise environments, two kinds of releases commonly come up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stable kernels: releases maintained with fixes, used where stability matters.&lt;/li&gt;
&lt;li&gt;Long-term support (LTS) kernels: releases maintained for longer periods, suitable for long-lived production systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The kernel version determines much of what the underlying system can do and how reliably it does it.&lt;/p&gt;
&lt;h3 id=&quot;common-distributions&quot;&gt;Common distributions&lt;/h3&gt;
&lt;p&gt;A kernel alone is not a complete working environment. Users also need command-line tools, package managers, an installer, service management tools, and default configuration. Together, these form a Linux distribution.&lt;/p&gt;
&lt;p&gt;Common distributions include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu: approachable for beginners, with an active community and widespread desktop and server use.&lt;/li&gt;
&lt;li&gt;Debian: known for stability and used as the foundation for many other distributions.&lt;/li&gt;
&lt;li&gt;CentOS: historically common in server environments.&lt;/li&gt;
&lt;li&gt;Rocky Linux: one of the enterprise-compatible alternatives adopted after changes to CentOS.&lt;/li&gt;
&lt;li&gt;AlmaLinux: another enterprise-compatible option.&lt;/li&gt;
&lt;li&gt;Fedora: a way to try newer software and features.&lt;/li&gt;
&lt;li&gt;Red Hat Enterprise Linux (RHEL): a commercial enterprise distribution.&lt;/li&gt;
&lt;li&gt;Arch Linux: emphasizes customization and rolling releases, and suits users with some Linux experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These distributions differ in several ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Package management tools, such as &lt;code&gt;apt&lt;/code&gt;, &lt;code&gt;dnf&lt;/code&gt;, &lt;code&gt;yum&lt;/code&gt;, and &lt;code&gt;pacman&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Default configuration and directory conventions&lt;/li&gt;
&lt;li&gt;How recent their software versions are&lt;/li&gt;
&lt;li&gt;Stability and update policies&lt;/li&gt;
&lt;li&gt;Community support and commercial services&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An analogy can help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Linux kernel is the engine.&lt;/li&gt;
&lt;li&gt;The distribution is the complete vehicle built around it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Distributions may use similar kernels while providing noticeably different experiences for users and administrators.&lt;/p&gt;
&lt;h2 id=&quot;essential-linux-concepts&quot;&gt;Essential Linux concepts&lt;/h2&gt;
&lt;p&gt;The following ideas provide a foundation for understanding Linux.&lt;/p&gt;
&lt;h3 id=&quot;1-everything-is-a-file&quot;&gt;1. Everything is a file&lt;/h3&gt;
&lt;p&gt;Many Linux resources can be accessed and manipulated through file-like interfaces, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Regular files&lt;/li&gt;
&lt;li&gt;Directories&lt;/li&gt;
&lt;li&gt;Devices&lt;/li&gt;
&lt;li&gt;Pipes&lt;/li&gt;
&lt;li&gt;Sockets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This consistent approach makes the system easier to work with and automate through scripts.&lt;/p&gt;
&lt;h3 id=&quot;2-the-directory-structure&quot;&gt;2. The directory structure&lt;/h3&gt;
&lt;p&gt;Linux organizes its directories as a tree starting at the root directory, &lt;code&gt;/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Some common directories are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/home&lt;/code&gt;: home directories for regular users&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/root&lt;/code&gt;: the root administrator’s home directory&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc&lt;/code&gt;: system configuration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/bin&lt;/code&gt;: basic commands&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr&lt;/code&gt;: user-space programs and shared resources&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var&lt;/code&gt;: frequently changing data, such as logs and caches&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/tmp&lt;/code&gt;: temporary files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learning Linux means becoming familiar with where things belong as well as learning commands.&lt;/p&gt;
&lt;h3 id=&quot;3-users-and-permissions&quot;&gt;3. Users and permissions&lt;/h3&gt;
&lt;p&gt;Linux is a multi-user operating system. Different users have different permissions to access resources.&lt;/p&gt;
&lt;p&gt;Permissions commonly distinguish three groups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;u&lt;/code&gt;: the file owner&lt;/li&gt;
&lt;li&gt;&lt;code&gt;g&lt;/code&gt;: the group associated with the file&lt;/li&gt;
&lt;li&gt;&lt;code&gt;o&lt;/code&gt;: other users&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The three basic permissions are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;r&lt;/code&gt;: read&lt;/li&gt;
&lt;li&gt;&lt;code&gt;w&lt;/code&gt;: write&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x&lt;/code&gt;: execute&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame has-title&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;Bash&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;chmod&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#005CC5;--1:#79B8FF&quot;&gt;755&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;demo.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy code&quot; data-copied=&quot;Copied&quot; data-code=&quot;chmod 755 demo.sh&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;This grants:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read, write, and execute permissions to the owner&lt;/li&gt;
&lt;li&gt;Read and execute permissions to the group&lt;/li&gt;
&lt;li&gt;Read and execute permissions to other users&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Permissions are a foundation of the Linux security model.&lt;/p&gt;
&lt;h3 id=&quot;4-processes&quot;&gt;4. Processes&lt;/h3&gt;
&lt;p&gt;When a program runs, it becomes a process. Linux assigns each process a process ID (PID), and the kernel schedules its execution.&lt;/p&gt;
&lt;p&gt;A few useful ideas to keep in mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One program can start multiple processes.&lt;/li&gt;
&lt;li&gt;Processes can run in the foreground or the background.&lt;/li&gt;
&lt;li&gt;Processes compete for CPU time, memory, and other resources.&lt;/li&gt;
&lt;li&gt;Services are processes that usually run for extended periods.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Common commands include:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame has-title&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;Bash&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;ps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;top&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#005CC5;--1:#79B8FF&quot;&gt;kill&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy code&quot; data-copied=&quot;Copied&quot; data-code=&quot;pstopkill&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;5-the-shell&quot;&gt;5. The shell&lt;/h3&gt;
&lt;p&gt;A shell is the command interpreter between the user and the operating system. Common shells include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bash&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zsh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When a user enters a command in a terminal, the shell interprets it and arranges for it to run. Many administration and automation tasks are implemented as shell scripts.&lt;/p&gt;
&lt;h3 id=&quot;6-package-management&quot;&gt;6. Package management&lt;/h3&gt;
&lt;p&gt;On Linux, software is commonly installed through a package manager rather than by double-clicking an installer.&lt;/p&gt;
&lt;p&gt;Common tools include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apt&lt;/code&gt;: used on Debian, Ubuntu, and related distributions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;yum&lt;/code&gt; / &lt;code&gt;dnf&lt;/code&gt;: used in the RHEL, CentOS, Rocky Linux, and AlmaLinux ecosystem&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pacman&lt;/code&gt;: used on Arch Linux&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Package managers help you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install software&lt;/li&gt;
&lt;li&gt;Upgrade software&lt;/li&gt;
&lt;li&gt;Uninstall software&lt;/li&gt;
&lt;li&gt;Handle dependencies automatically&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;7-services-and-daemons&quot;&gt;7. Services and daemons&lt;/h3&gt;
&lt;p&gt;Many Linux capabilities are provided by background services, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web servers&lt;/li&gt;
&lt;li&gt;Databases&lt;/li&gt;
&lt;li&gt;SSH servers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These long-running background processes are often called daemons. Many modern Linux systems manage services through &lt;code&gt;systemd&lt;/code&gt;, with commands such as:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame has-title&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;Bash&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;stop&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;gutter&quot;&gt;&lt;div class=&quot;ln&quot; aria-hidden=&quot;true&quot;&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;status&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy code&quot; data-copied=&quot;Copied&quot; data-code=&quot;systemctl start nginxsystemctl stop nginxsystemctl status nginx&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;8-filesystems&quot;&gt;8. Filesystems&lt;/h3&gt;
&lt;p&gt;A filesystem determines how data is organized and stored. Common Linux filesystems include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ext4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;btrfs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;They differ in performance, reliability, snapshot capabilities, and extensibility. As a starting point, remember that data on a disk is organized through a filesystem.&lt;/p&gt;
&lt;h2 id=&quot;putting-it-together&quot;&gt;Putting it together&lt;/h2&gt;
&lt;p&gt;You can approach Linux along two main lines:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Versions: distinguish the kernel from the distribution.&lt;/li&gt;
&lt;li&gt;Everyday use: understand directories, permissions, processes, shells, package management, and services.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thinking of Linux as a complete system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The kernel provides the underlying capabilities.&lt;/li&gt;
&lt;li&gt;The distribution shapes how you use those capabilities.&lt;/li&gt;
&lt;li&gt;Concepts such as permissions, processes, and filesystems help you use the system effectively.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You do not need to memorize every command at the beginning. Build a clear mental model first. Learning common commands, user management, networking, and service deployment will be easier with that foundation.&lt;/p&gt;</content><category term="Linux"/><category term="Operating System"/></entry></feed>