Home / Operating systems & Linux
>_

Operating systems & Linux

Shell, permissions, processes, filesystems, boot and maintenance of Linux, Windows and macOS.

Bash scripting basics: variables, conditions and loops

How to write your first useful Bash scripts: shebang, variables, quoting, arguments, if, for and while loops, exit codes and safer script options.

5 min

Which Linux distribution to choose: practical criteria

How to choose a Linux distribution: fixed or rolling release, long-term support, desktop, hardware, and how Ubuntu, Mint, Fedora, Debian and Arch differ.

4 min

Environment variables and PATH: configuring the shell with .bashrc

Environment variables on Linux and macOS: how PATH works, .bashrc versus .profile, useful aliases and the common mistakes that break a terminal.

5 min

Filesystems compared: ext4, Btrfs, XFS, NTFS, APFS and exFAT

How to choose a filesystem: the strengths of ext4, Btrfs and XFS on Linux, NTFS and APFS on Windows and macOS, and exFAT for drives used everywhere.

4 min

Finding files and text on Linux: find, grep and locate

How to find files by name, date and size with find, search text inside files with grep and ripgrep, and use locate for fast lookups, with examples.

5 min

First Linux shell commands: moving between files and folders

The essential Linux terminal commands explained with examples: pwd, ls, cd, mkdir, cp, mv, rm, absolute and relative paths, completion and history.

5 min

Archives and compression on Linux: tar, gzip, xz, zstd and zip

Creating and extracting archives on Linux with tar, how gzip, bzip2, xz and zstd differ, when to use zip and how to check an archive before extracting.

5 min

How Linux boots: UEFI, GRUB, kernel, initramfs and systemd

The stages of a Linux boot explained in order: UEFI firmware, EFI partition, GRUB, kernel, initramfs and systemd, plus commands for troubleshooting.

4 min

The Linux directory structure: what /etc, /var and /usr are for

A guide to the Linux filesystem hierarchy: what /etc, /var, /usr, /home, /tmp, /proc and /dev contain, where configs and logs live, what to leave alone.

4 min

Disk full on Linux: finding what takes up space with df and du

A method for freeing space on Linux: reading df, finding heavy folders with du and ncdu, cleaning logs, caches and old kernels, inodes and open files.

4 min

Memory and swap on Linux: reading free and the OOM killer

How Linux uses RAM: cache, available memory and swap, how to read free, create a swap file, tune swappiness and understand when the OOM killer steps in.

5 min

Linux package managers: apt, dnf and pacman compared

How software is installed on Linux: packages, repositories and dependencies, equivalent apt, dnf and pacman commands, Flatpak, Snap and rules to stay safe.

5 min

Disks and partitions on Linux: lsblk, mount and /etc/fstab

How to identify disks and partitions on Linux, create a partition with parted, format it, mount it by hand and make it permanent in /etc/fstab using UUIDs.

4 min

Linux permissions: read, write, execute and chmod

How file permissions work on Linux: owner, group and others, rwx, octal notation, chmod, chown, umask and the special setuid, setgid and sticky bits.

5 min

Linux processes: ps, top, kill and signals explained

What Linux processes are and how to manage them: PID, parent process, states, ps, top and htop, SIGTERM and SIGKILL, nice priority and background jobs.

5 min

Linux system logs: reading journalctl and dmesg

How to read Linux logs with journalctl and dmesg: filter by service, priority and time range, follow messages live and keep their disk usage in check.

5 min

Users, groups and sudo on Linux: managing access

How Linux users and groups work: UIDs, /etc/passwd and /etc/shadow, creating and changing accounts, and granting privileges with sudo and visudo.

5 min

Live USB and dual boot: installing Linux alongside Windows

How to try Linux from a live USB stick, install it alongside Windows in dual boot and solve the typical Secure Boot, BitLocker and clock problems.

5 min

macOS from the Terminal: Homebrew, launchd and system tools

macOS under the hood: Terminal and zsh, installing software with Homebrew, launchd services, Activity Monitor, logs and commands unique to Apple's system.

5 min

Shell pipes and redirection: stdin, stdout and stderr

Combining Linux commands with pipes and redirection: standard input, output and error, the > >> 2> and | operators, tee, /dev/null and log examples.

5 min

SSH on the client side: keys, config file, scp and rsync

Everyday SSH without hassle: ed25519 keys, ssh-agent, the ~/.ssh/config file with server aliases, copying files with scp and syncing with rsync.

4 min

Managing services with systemd: systemctl and unit files

How to start, stop and enable services on Linux with systemctl, read a unit's status and write a simple .service file without touching the system ones.

5 min

Windows, macOS and Linux compared: the differences that matter

The real differences between Windows, macOS and Linux: architecture, installing software, updates, security, supported hardware and who each one suits.

5 min

Windows maintenance: sfc, DISM, chkdsk and recovery

Built-in tools for repairing Windows: sfc for system files, DISM for the image, chkdsk for the disk, Event Viewer, restore points and the WinRE tools.

4 min

WSL: running Linux inside Windows without virtual machines

What the Windows Subsystem for Linux is, how to install it and pick a distribution, where to keep files for good performance and which limits to expect.

4 min