Cross-cutting concepts every developer relies on: shells, files, networking, and data formats.
Dev Fundamentals
20 flashcards · select reveal or click a card to see details
shell
beginner
The terminal is the window/app; the shell is the program inside it that interprets your commands (bash, zsh, fish).
shell
beginner
Environment Variables
Key-value pairs that exist in your shell’s environment and are inherited by programs you run from it.
shell
beginner
PATH
A colon-separated list of directories the shell searches when you type a command name.
shell
beginner
Dotfiles
Hidden config files in your home directory that customize your shell, editors, and tools.
shell
beginner
Home & Working Directory
~ expands to your home dir; . is current; .. is parent. The shell tracks a current working directory (cwd).files
beginner
File Permissions
Every file has read/write/execute bits for owner, group, and others, totaling 9 permission bits.
files
beginner
Hidden Files
Files starting with
. are hidden from ls by default, used for config and metadata.files
beginner
Absolute vs Relative Paths
Absolute paths start from
/; relative paths start from your current working directory.network
beginner
localhost & Ports
localhost (127.0.0.1) is your own machine; ports identify which program receives the connection.
network
beginner
HTTP Methods & Status Codes
HTTP verbs declare intent; status codes signal the result.
network
beginner
curl Basics
The standard tool for making HTTP requests from the command line.
network
beginner
SSH Keys
A key pair lets you authenticate to remote servers (and GitHub) without passwords.
data
beginner
JSON
The standard data format for APIs and config: strings, numbers, booleans, null, arrays, objects.
data
beginner
YAML
Human-friendly config format used heavily in DevOps tools (Docker Compose, Kubernetes, GitHub Actions).
data
beginner
Text Encoding
How characters are stored as bytes. UTF-8 is the standard everywhere modern.
data
beginner
Line Endings
Text files end lines differently across systems: Unix uses LF (
\n), Windows uses CRLF (\r\n).workflows
intermediate
Set Up Environment Variables
Move secrets and per-machine config out of code and into env vars or a
.env file. The standard pattern across every language.workflows
intermediate
Set Up SSH Keys for GitHub
Configure password-less authentication for git operations against GitHub. One-time setup that saves friction forever.
workflows
intermediate
Find What's Running on a Port
A common debugging task: figuring out which process owns a port and freeing it.
workflows
intermediate
Manage Tool Versions
Different projects often need different versions of Python, Node, etc. Version managers handle this without polluting your system.