Linux guides
34 guides in Command Line · beginner.
Use Newsboat — RSS in the Terminal
Set up Newsboat for terminal-based RSS reading: configure the urls file, customise key bindings, download podcasts with podboat, and version-control your dotfiles.
Use just as a Modern Task Runner
Learn to use just as a project task runner: write justfiles, define variables, chain recipe dependencies, and manage tasks across multiple projects.
Use foot, the Lean Wayland Terminal
Install and configure foot, the lean Wayland-native terminal. Covers foot.ini essentials, server mode, sub-10 ms launches with footclient, and systemd autostart.
Try Ghostty, the New Native-feeling Terminal
Ghostty is a fast, native-feeling GTK4 terminal written in Zig. Install it on Ubuntu, Fedora, or Arch, configure it, and see how it stacks up against Alacritty and Kitty.
Linux Terminal Emulator Shootout 2026
Alacritty, Kitty, WezTerm, Ghostty, and Foot compared on speed, features, Wayland support, and config — pick the right terminal for your workflow.
Manage Dotfiles with yadm
Manage, version, and sync your dotfiles across machines using yadm — covering bare repo setup, OS-specific alternates, classes, GPG encryption, and bootstrap scripts.
Manage Personal Tasks with Taskwarrior
Manage tasks from your terminal using Taskwarrior. Covers add/done/list, recurring tasks, contexts, sync, and the vit TUI — no GUI needed.
Configure Kitty (Including Image Protocol)
Set up Kitty terminal from scratch: kitty.conf, fonts, themes, splits, kittens, and the Kitty graphics protocol for inline image display.
Configure Alacritty for Daily Use
Set up Alacritty as a daily-driver terminal: configure alacritty.toml for themes, ligature fonts, key bindings, and an auto-attaching tmux session on launch.
Use direnv for Per-Project Environments
Learn to use direnv to automatically load per-project environment variables, with integration guides for pyenv, nvm, mise, and asdf.
Use mise (or asdf) for Tool Versioning
Install mise (or asdf) to manage Node, Python, Ruby, and more from one .tool-versions file — replacing nvm, pyenv, and rbenv with a single fast tool.
zsh vs bash: Which Shell Should You Use?
Bash vs zsh compared honestly: POSIX scripting, tab completion, history, Oh My Zsh, Starship prompts, and exactly when each shell is the right choice.
Replace grep and find with ripgrep and fd
Replace grep and find with ripgrep and fd for faster searches, automatic .gitignore support, and safer scripting patterns—with key gotchas explained.
Use Git Effectively from the Command Line
Master Git from the terminal: branches, merge vs rebase, interactive rebase to clean history, stash for context switching, and reflog to recover lost commits.
Modern Replacements: bat, eza, zoxide
Replace cat, ls, and cd with bat, eza, and zoxide for syntax highlighting, richer file listings, and instant directory jumping — with safe shell aliases.
Try the Fish Shell
Install Fish shell, configure autosuggestions, abbreviations, and functions, use the web UI, and understand where POSIX incompatibility will bite you.
Install and Configure zsh
Install zsh, set it as your default shell, and configure history, completions, zinit plugins, and a modern prompt like Starship or Powerlevel10k.
How to Use tldr for Quick Command Help
Install tealdeer or the Node.js tldr client, populate the offline cache, and look up practical command examples faster than man pages allow.
How to Use ripgrep (rg) Instead of grep
ripgrep (rg) is a fast, Rust-powered grep replacement with gitignore support built in. Learn installation, regex syntax, and the most useful flags.
How to Use fd Instead of find
Learn to use fd, the modern find alternative: friendlier syntax, smart defaults, .gitignore support, and parallel command execution with --exec.
How to Use bat as a Better cat
Learn how to use bat as a modern replacement for cat, with syntax highlighting, line numbers, paging control, and Git diff integration on Linux.
How to Learn Regular Expressions on Linux
Learn regex on Linux from the ground up: character classes, anchors, quantifiers, and hands-on practice with grep, sed, awk, and ripgrep.
Vim for Beginners
Learn Vim's modal editing model from scratch: modes, movement, editing, saving, search, and the essential commands every Linux user needs to know.
SSH: The Complete Guide
Master SSH from first login to port forwarding: key-based auth, client config files, the SSH agent, and local/remote tunnels on any Linux distribution.
Pipes and Redirection in Bash
Master Bash pipes and redirection: learn stdin, stdout, stderr, |, >, >>, 2>&1, /dev/null, tee, xargs, and how to build reliable command pipelines.
How to Monitor Processes on Linux
Learn to monitor Linux processes with ps, top, htop, and btop. Covers reading process states, killing processes safely, and tuning CPU priority with nice/renice.
Master the grep Command
Learn grep from plain string searches to recursive directory scans, regular expressions, context flags, and practical log-analysis one-liners on Linux.
The Linux Command Line for Absolute Beginners
Learn the Linux command line from scratch: what the shell is, how to navigate with cd/ls/pwd, manage files, and master your first essential commands.
Git from the Command Line
Learn Git from the terminal: install, configure, init or clone a repo, stage and commit changes, create branches, merge, and push to a remote.
How to Find Files on Linux
Learn to find files on Linux using find, locate, and fd — covering searches by name, size, modification time, and running actions on results.
Cron Jobs Explained
Master cron job scheduling on Linux: full crontab syntax, environment variables, output logging, and when to use systemd timers instead.
A C Programming Tutorial for Linux
Learn C on Linux from hello-world through gcc flags, header files, multi-file projects, make, and the standard library — with real commands and examples.
Bash Scripting for Beginners
Learn Bash scripting from scratch: shebang lines, variables, conditionals, loops, and arguments, plus a real backup script to tie it all together.
Bash Loops: for, while and until
Learn all three Bash loop types — for, while, and until — with practical, copy-paste examples covering file iteration, counting, polling, and safe line reading.