3 Shell & command line
Every entry filed under Shell & command line 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.
30 entries match these filters
- 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
- 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
- 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
- 0392 Install Visual Studio Code on Linux, macOS and Windows Install VS Code from Microsoft's packages, Homebrew or winget, get the code command working in the terminal, and add the extensions you… Beginner · Step by step · Linux, macOS, Windows Article Command-line tools · Installing languages & tools 15 Oct 2026
- 0345 SSH keys: create, copy and use them Generate an ed25519 key pair, install the public key on a server with ssh-copy-id, keep the private key protected with a passphrase… Beginner · Step by step · Linux, macOS, Windows Article Keys & config · SSH 15 Oct 2026
- 0346 The SSH config file: aliases, jump hosts and keys per server Reference for ~/.ssh/config: short names for servers, the right user, port and key per host, ProxyJump through a bastion, connection reuse and… Intermediate · Cheat sheet · Linux, macOS, Windows Article Keys & config · SSH 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
- 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
- 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
- 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
- 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
- 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
- 0254 Automate three servers with Ansible: roles, templates, Vault and safe dry runs Build a real Ansible project for two web servers and one database server: inventory groups, SSH keys, roles, templates, handlers, an encrypted… Intermediate · Guided project · Linux, macOS Article Ansible · Keys & config 15 Oct 2026
- 0186 Fix: Ansible UNREACHABLE! Failed to connect to the host via ssh Ansible could not open an SSH session to the host, so no task ran. The text after the colon tells you why:… Intermediate · Fixes an error · Linux, macOS Article Ansible · SSH & servers 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
- 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
- 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
- 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
- 0053 Set up SSH keys: ssh-keygen, ssh-copy-id and ~/.ssh/config SSH keys let you log in to servers and push to Git hosts without typing a password. Create an ed25519 key, install… Beginner · Step by step · Linux, macOS, Windows Article Keys & config 15 Oct 2026
- 0054 Fix: Permission denied (publickey) The server refused every key your SSH client offered. Find out which key was offered, make sure its public half is on… Intermediate · Fixes an error · Linux, macOS, Windows Article Keys & config 15 Oct 2026