Linux & Command Line
Essential vocabulary for Linux system administration and shell scripting: processes, permissions, piping, daemons, and cron.
- Shell /ʃel/
A command-line interface program that interprets and executes commands. Common shells: bash, zsh, sh. The shell is separate from the terminal emulator.
"We use zsh as the default shell on developer machines — bash is used in CI containers for portability across Linux distributions."
- Daemon /ˈdiːmən/
A background process that runs continuously, not attached to a terminal. Often managed by systemd. Convention: names end in 'd' (sshd, nginx, dockerd).
"The web server runs as a daemon managed by systemd — systemctl status nginx shows its current state and recent log lines."
- Pipe /paɪp/
The | operator that redirects the stdout of one command into the stdin of the next, enabling command chaining.
"cat access.log | grep 500 | wc -l counts all HTTP 500 responses in the log file by chaining three commands."
- Redirect /ˌriːdɪˈrekt/
> overwrites a file with stdout; >> appends; < reads stdin from a file; 2> redirects stderr; &> redirects both stdout and stderr.
"We redirect stderr to a log file: ./build.sh > output.log 2> errors.log — stdout and stderr go to separate files."
- Process /ˈprəʊsɛs/
A running instance of a program with its own memory space, PID (process ID), and resource usage tracked by the OS.
"ps aux | grep python lists all running Python processes with their PIDs, CPU, and memory usage."
- Signal /ˈsɪɡnəl/
An asynchronous notification sent to a process. SIGTERM requests graceful shutdown; SIGKILL forces immediate termination; SIGHUP reloads config.
"We send SIGHUP to nginx after updating the config — it reloads without dropping existing connections, unlike SIGTERM."
- Cron / Crontab /krɒn / ˈkrɒntæb/
A time-based job scheduler. Crontab files define jobs with a schedule: minute hour day month weekday.
"The daily backup runs via cron: 0 2 * * * /scripts/backup.sh — it executes at 02:00 every night."
- Permission /pəˈmɪʃən/
Linux file access control: read (r/4), write (w/2), execute (x/1) for owner, group, and others. Set with chmod.
"chmod 755 deploy.sh sets read+write+execute for the owner and read+execute for group and others — needed for the script to run."
- Environment Variable /ɪnˈvaɪərənmənt ˈveəriəbl/
A named value in the process environment used to configure applications without hardcoding. Set in shell with export KEY=value or in .env files.
"The database URL is stored in the DATABASE_URL environment variable — never committed to source control."
- stdin / stdout / stderr /ˈstændɪn / ˈstændaʊt / ˌstændˈɛr/
Standard input (keyboard by default), standard output (terminal by default), standard error (terminal, file descriptor 2).
"Error messages go to stderr — redirecting stderr separately lets us capture only errors: command 2> error.log"
- sudo /ˈsuːduː/
Execute a command with elevated (superuser) privileges. Short for "substitute user do". Requires the user to be in the sudoers file.
"We run apt install as sudo: sudo apt-get install nginx — regular users don't have write access to system directories."
- SSH /ɛs ɛs eɪtʃ/
Secure Shell — an encrypted network protocol for remote login and command execution. Uses public-key cryptography for authentication.
"We disable password SSH auth on production servers — only SSH key authentication is allowed, reducing brute-force attack surface."
- Symlink /ˈsɪmlɪŋk/
A symbolic link — a file that points to another file or directory path, like a shortcut. Created with ln -s target link_name.
"The current release directory is a symlink: ln -s /releases/v1.4.2 /current — deploying a new version just updates the symlink."
- Mount /maʊnt/
Attaching a filesystem (disk, NFS share, Docker volume) to a directory path in the Linux filesystem tree.
"The S3-backed NFS share is mounted at /data/media — applications write to the local path and the OS handles the remote storage."
- grep / awk / sed /ɡrep / ɔːk / sed/
Core text-processing tools: grep filters lines by pattern; awk processes columnar data; sed edits streams with substitutions.
"grep -rn 'TODO' src/ finds all TODOs in source files with filenames and line numbers. sed 's/http:/https:/g' fixes URLs in bulk."
Quick Quiz — Linux & Command Line
Test yourself on these 15 terms. You'll answer 10 multiple-choice questions — each shows a term, you pick the correct definition.
What does this term mean?