$linuxjunkies
>

Linux guides

29 guides in Command Line · intermediate.

Command Line· 8 min read

Listen to Music in the Terminal with MPD + ncmpcpp

Set up MPD as a per-user systemd service, configure ncmpcpp with a spectrum visualiser, and control playback from the terminal on any Linux distro.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use mise for Tools, Tasks and Env Vars

Replace asdf, direnv, and task runners with a single mise binary. Covers installation, tool versioning, env vars, tasks, and secrets via sops.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

True Color, Image Protocols and Modern Terminal Features

Configure TERM, COLORTERM, sixel, Kitty graphics, and iTerm2 inline image protocols correctly across Kitty, WezTerm, foot, Alacritty, and tmux.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Manage Dotfiles with chezmoi

Track, template, and encrypt your dotfiles with chezmoi — then restore any machine to your exact config in one command.

IntermediateUbuntuDebianFedoraArch
Command Line· 12 min read

A Sysadmin's Daily Driver Setup

Build a complete sysadmin terminal workflow with tmux, Neovim, fzf, atuin, version-controlled dotfiles, clean multi-server SSH, and audit-ready habits.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Configure WezTerm with Lua

Configure WezTerm entirely in Lua: set fonts, colour schemes, key bindings, split panes and tabs, the built-in mux server, and SSH session integration.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use kubectl Effectively

Master kubectl contexts, namespace switching, built-in API docs with explain, structured output, live debugging with ephemeral containers, and Kustomize overlays.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Write a Makefile for Anything (Not Just C)

Learn how to write a Makefile for any project—targets, prerequisites, .PHONY, variables, pattern rules, and the classic gotchas explained with real examples.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

A Vim Config From Scratch

Build a Neovim config from scratch: sensible defaults, lazy.nvim plugin manager, Treesitter, LSP via Mason, and autocompletion — all explained step by step.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use yq to Process YAML

Learn to read, filter, transform, and safely edit YAML files in place using mikefarah/yq — the Go-based jq equivalent for YAML.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use curl Like a Pro

Master curl beyond basic GET requests: inspect and send headers, authenticate with tokens, POST JSON, upload files, manage cookies, and debug with -v.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Shell Script Strict Mode

Learn how set -euo pipefail, IFS, and traps protect bash scripts from silent failures, undefined variables, and leaked temporary files.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

rsync Recipes Every Sysadmin Needs

Practical rsync recipes for mirrors, SSH transfers, exclude lists, bandwidth throttling, hard-link snapshots, and safe dry-run verification. Ready to adapt.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Neovim From Scratch with Lua

Build a modern Neovim config from scratch using init.lua, lazy.nvim, Treesitter, nvim-lspconfig, and Mason — step by step with no pre-made distribution.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Mastering tmux (Power-User Guide)

Go beyond the basics with tmux: persistent sessions, pane layouts, vi copy mode, a production tmux.conf, session scripting, and TPM plugins including resurrect.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Mastering jq for JSON on the Command Line

Master jq from field access to map/select, object reshaping, type conversion, and safe shell variable injection for real-world JSON processing on the command line.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Globbing and Extended Glob Patterns

Master Bash globbing beyond * and ?: learn globstar recursive matching, extglob operators, brace expansion, and the gotchas that cause real-world bugs.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Build a Real Command-Line Tool in Shell

Build a proper CLI tool in Bash with strict mode, long/short argument parsing, --help, usage(), and clean packaging via install and a Makefile.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Functions and Variable Scoping

Master Bash function scoping with local variables, source-based libraries, correct use of return codes, and array passing techniques including namerefs.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Arrays and Associative Arrays

Master bash indexed and associative arrays: declaration, element access, looping, mapfile, namerefs, and practical patterns for real scripting work.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Write Portable POSIX Shell Scripts

Write shell scripts that run correctly under dash, BusyBox sh, and Bash by avoiding Bashisms, using POSIX constructs, and linting with shellcheck.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Write Bash Functions Properly

Learn to write reliable bash functions: safe argument handling, correct return values, proper use of local, error handling with set -e, and clean naming conventions.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Use jq for JSON on the Command Line

Learn to filter, transform, and reshape JSON on the command line with jq — covering selectors, map/select, object construction, and real API pipelines.

IntermediateUbuntuDebianFedoraArch
Command Line· 8 min read

How to Use fzf, the Fuzzy Finder

Install and configure fzf to fuzzy-search files, shell history, processes, and git branches — with shell integration for Bash, Zsh, and Fish.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Master Vim: A Practical Path Beyond the Basics

Go beyond the basics: master Vim buffers, registers, macros, and the help system, then add only the plugins that genuinely earn their place.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Writing Technical Documentation (the Linux way)

Write and publish Linux technical documentation using Markdown, AsciiDoc, man pages, DocBook, pandoc, and MkDocs—with CI integration and practical examples.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Use tmux

Master tmux sessions, windows, panes, detach/reattach, and a practical ~/.tmux.conf so you can manage persistent terminal workflows like a pro.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

A Practical Guide to sed and awk

Learn sed and awk through practical examples: substitutions, in-place edits, field splitting, pattern-action programs, and real pipeline use cases.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

C Pointers Explained

Understand C pointers from first principles: addresses, dereferencing, pointer arithmetic, arrays, common bugs like null dereferences and dangling pointers, and how to use ASan and Valgrind.

IntermediateUbuntuDebianFedoraArch