3.1 Shell & Linux
Every entry filed under Shell & Linux and its subtopics.
What kind of help
What do these mean?
- Beginner
- You are new to this topic.
- Intermediate
- You use it, and want to get better.
- Advanced
- You know it well and need the details.
- Guided project
- Build something small from start to finish, step by step.
- Explains an idea
- Plain words on how something works and why.
- Step by step
- Numbered steps to get one task done.
- Cheat sheet
- Commands and options in a table, to look up fast.
- Fixes an error
- An error message, what it means, and how to solve it.
34 entries match these filters
- 0424 Cron-safe wrapper: lock, log and report failures for any scheduled command Wrap any cron or timer job so it never runs twice at once, writes a timestamped log, keeps the exit code and… Intermediate · Step by step · Linux Script cron & timers · Shell scripting 15 Oct 2026
- 0418 Bash scripting fundamentals: variables, conditions, loops, functions The core building blocks of a bash script: variables and quoting, if and test, for and while loops, functions, exit codes and… Beginner · Explains an idea · Linux, macOS Article Basics · Shell scripting 15 Oct 2026
- 0419 Quoting and word splitting in bash: why “$var” and arrays save you Single quotes, double quotes, no quotes and arrays: how bash splits words and expands globs, and the small set of habits that… Intermediate · Explains an idea · Linux, macOS Article Basics · Shell scripting 15 Oct 2026
- 0423 Fix: bad interpreter or command not found after a script is copied from Windows (CRLF) A script edited on Windows carries invisible carriage returns, so Linux looks for /bin/bash^M. How to spot CRLF line endings, convert them… Beginner · Fixes an error · Linux, macOS, Windows Article Basics · Shell scripting 15 Oct 2026
- 0421 grep, sed, awk and jq: the four text tools you will use every week A working reference for the four commands that handle most text on the command line: grep finds lines, sed edits them, awk… Intermediate · Cheat sheet · Linux, macOS Article jq & JSON on the command line · Modern command-line tools · Text processing 15 Oct 2026
- 0425 jq cheat script: pretty-print, filter and flatten JSON from a file or stdin A small read-only bash wrapper around jq with the recipes you keep looking up: pretty, compact, sorted keys, list paths, pick fields,… Beginner · Cheat sheet · Linux, macOS Script jq & JSON on the command line · Modern command-line tools · Text processing 15 Oct 2026
- 0420 cron and systemd timers: run something every night Schedule a script with crontab or a systemd timer: the five cron fields, environment and PATH pitfalls, logging, catching up missed runs… Beginner · Step by step · Linux Article cron & timers · Services & systemd 15 Oct 2026
- 0422 Dotfiles: keep your shell setup in git Put .bashrc, .zshrc, .gitconfig and your editor settings into a git repository so a new machine is set up in minutes: a… Intermediate · Step by step · Linux, macOS Article Modern command-line tools · Setup 15 Oct 2026
- 0366 restic backup wrapper with tagging, retention and a weekly check A bash wrapper that runs restic backup on a fixed list of paths, applies a keep-daily/weekly/monthly policy with forget and prune, runs… Intermediate · Step by step · Linux, macOS Script Backup tools · Backups & syncing 15 Oct 2026
- 0367 verify-latest-backup: alert when the newest dump is too old or too small A read-only bash check that finds the newest file in a backup directory, compares its age and size against limits, optionally tests… Beginner · Step by step · Linux Script Backups & syncing · Strategy & restore drills 15 Oct 2026
- 0335 Docker cleanup script with dry run and confirmation A bash wrapper around docker system prune that shows disk usage and lists what would be removed, supports a dry-run flag, and… Beginner · Step by step · Linux, macOS Script Docker basics · Shell scripting 15 Oct 2026
- 0320 Fix: address already in use (EADDRINUSE) Something is already listening on the port your program wants. Find the process with lsof or ss, stop it or pick another… Beginner · Fixes an error · Linux, macOS Article Networking & firewalls · Node.js · Processes & ports 15 Oct 2026
- 0326 Fix: too many open files A process hit its file descriptor limit, usually 1024. Raise it for the shell, the systemd unit or the user, fix a… Intermediate · Fixes an error · Linux, macOS Article Performance & tuning · Processes & ports · Services & systemd 15 Oct 2026
- 0334 Fix: port is already allocated docker run or docker compose up fails with Bind for 0.0.0.0:8080 failed: port is already allocated. Find what holds the port, another… Beginner · Fixes an error · Linux, macOS, Windows Article Docker fixes · Processes & ports 15 Oct 2026
- 0316 Fix: command not found bash: something: command not found means the shell could not find a program with that name in any PATH directory. The usual… Beginner · Fixes an error · Linux, macOS Article Basics · Packages & updates 15 Oct 2026
- 0317 Fix: Permission denied when running a script (chmod +x) bash: ./script.sh: Permission denied means the file exists but you may not execute it. Usually the execute bit is missing; sometimes the… Beginner · Fixes an error · Linux, macOS Article Basics · Users, sudo & hardening 15 Oct 2026
- 0289 What is a process? A process is a running program; the operating system gives each one its own memory and an ID number. Beginner · Explains an idea · Any system Article Processes & ports 15 Oct 2026
- 0290 What is a cron job? A cron job is a command scheduled to run automatically at set times, such as every night at two o'clock. Beginner · Explains an idea · Any system Article cron & timers 15 Oct 2026
- 0284 What is a shell? A shell is the program that reads the commands you type and tells the operating system to run them. Beginner · Explains an idea · Any system Article Basics 15 Oct 2026
- 0285 What is a terminal? A terminal is the window where you type commands; the shell inside it does the actual work. Beginner · Explains an idea · Any system Article Basics 15 Oct 2026
- 0286 What is PATH? PATH is the list of folders your shell searches to find a program when you type its name. Beginner · Explains an idea · Any system Article Basics 15 Oct 2026
- 0287 What is an environment variable? An environment variable is a named value the operating system passes to programs, such as settings or secrets. Beginner · Explains an idea · Any system Article Basics 15 Oct 2026
- 0265 Turn a one-liner into a robust bash script: strict mode, options, logging, traps, locking and a schedule Grow a find-and-gzip one-liner step by step into a dependable bash script with strict mode, getopts, usage text, logging, error traps, dry-run,… Intermediate · Guided project · Linux, macOS Article Services & systemd · Shell scripting 15 Oct 2026
- 0108 List all Proxmox VE guests with status and locks (pvesh + jq) A Bash script that lists every VM and container in the cluster with node, status, lock, memory and uptime, using the Proxmox… Intermediate · Cheat sheet · Linux Script Shell scripting · VMs & containers 15 Oct 2026
- 0109 A vzdump wrapper script with checks, retention and a log file A Bash wrapper around vzdump that checks the target storage first, backs up chosen guests or all guests with zstd and keep-last… Intermediate · Step by step · Linux Script Backup & restore · Shell scripting 15 Oct 2026
- 0052 Slice and summarize text with grep, sort, uniq, cut, awk and sed A handful of classic tools can filter, count, extract and rewrite text right in the terminal. This guide shows the patterns you… Intermediate · Step by step · Linux, macOS Article Finding files & text · Text processing 15 Oct 2026
- 0060 Find the biggest files and folders eating your disk A short bash script that lists the largest files over a size limit and the largest subfolders, using find, du, sort and… Beginner · Step by step · Linux, macOS Script Finding files & text · Text processing 15 Oct 2026
- 0049 Pipes and redirection: connecting commands A pipe sends one command's output into another command, and redirection sends output to a file. Together they let small tools build… Beginner · Explains an idea · Linux, macOS Article Basics · Text processing 15 Oct 2026
- 0050 File permissions: chmod, chown and what 755 means Every file has an owner, a group and read/write/execute permissions for three kinds of users. chmod changes the permissions and chown changes… Beginner · Explains an idea · Linux, macOS Article Basics 15 Oct 2026
- 0058 Safe bash script template with set ‑euo pipefail and trap A starting point for bash scripts that stops on errors, rejects unset variables, cleans up temp files on exit and parses options.… Intermediate · Cheat sheet · Linux, macOS Script Shell scripting 15 Oct 2026
- 0051 Environment variables and PATH Environment variables are named settings that every program inherits from the shell. PATH is the one that tells the shell where to… Beginner · Explains an idea · Linux, macOS Article Basics 15 Oct 2026
- 0059 Incremental snapshot backups with rsync A bash script that copies a folder into dated snapshots with rsync, hard-links unchanged files to the previous snapshot to save space,… Advanced · Step by step · Linux, macOS Script Backups & syncing · Shell scripting 15 Oct 2026
- 0057 Shell cheat sheet: everyday commands A quick reference for moving around, managing files, viewing and searching text, checking processes and disk space in bash and zsh, with… Beginner · Cheat sheet · Linux, macOS Article Basics · Command-line tools 15 Oct 2026
- 0061 Fix: Address already in use (free a busy port) Your server cannot start because another process already listens on its port. This script shows which process holds the port and stops… Intermediate · Fixes an error · Linux, macOS Script Processes & ports · Shell scripting 15 Oct 2026