Bash Glossary
This is a list of all the Bash terms and commands explained in the Bash Tutorial. Click a term to see what it means, with an example.
| Term | Description |
|---|---|
| Shell | A program that reads your commands and runs them |
| Terminal | The window where you type commands and see their output |
| Prompt | The text the shell shows when it is ready for a command |
| Command | An instruction you type at the prompt, like ls or mkdir |
| Argument | A value you give a command, like a file name |
| Option | A flag like -l or --lines that changes what a command does |
| Path | The location of a file or folder, with names joined by / |
| Absolute Path | A path that starts at the root folder / |
| Relative Path | A path read from the folder you are in, like docs or ../lib |
| Home Directory | Your own folder, written as ~ and stored in $HOME |
| Working Directory | The folder you are in right now, shown by pwd |
| Hidden File | A file whose name starts with a dot, shown only by ls -a |
| Wildcard | The * and ? characters that match many file names at once |
| File Permissions | Who may read, write or run a file, like rwxr-xr-x or 755 |
| Executable | A file with the x permission, so you can run it as a command |
| Shebang | The #!/bin/bash line at the top that says which program runs a script |
| Script | A file of commands that Bash runs from top to bottom |
| Comment | A note that starts with # and that Bash ignores |
| Variable | A name that stores a value, set with name=value and read with $name |
| Environment Variable | A variable that is passed on to the programs the shell starts |
| PATH Variable | The list of folders where Bash looks for commands |
| export | Makes a variable available to programs started from the shell |
| Quoting | Double quotes expand $variables, single quotes keep text as it is |
| Escape Character | The backslash \ that makes the next character plain text |
| Command Substitution | $(command) puts the output of a command into a line or variable |
| Arithmetic Expansion | $(( )) does math with whole numbers, like $((x + 1)) |
| Brace Expansion | {a,b,c} and {1..5} turn one word into many |
| Exit Status | The number a command returns when it ends: 0 means success |
| && and || | Run the next command only if the previous one succeeded (&&) or failed (||) |
| Pipe | The | symbol sends the output of one command into the next command |
| Redirection | Send output to a file, or read input from a file, with >, >> and < |
| stdin | Standard input: where a command reads its input from, normally the keyboard |
| stdout | Standard output: where a command writes its normal output, normally the screen |
| stderr | Standard error: a separate output stream for error messages |
| /dev/null | A special file that throws away everything written to it |
| Here Document | Give a command several lines of input, written right in the script |
| Here String | Give a command one string as input with <<< |
| if | Run commands only when a condition is true |
| test and [ ] | Check a condition, such as a number, a string or a file |
| [[ ]] | The Bash test with pattern matching, && and || inside the brackets |
| case | Compare one value against several patterns and run the matching block |
| for Loop | Repeat commands once for each item in a list |
| while Loop | Repeat commands as long as a condition is true |
| until Loop | Repeat commands until a condition becomes true |
| break and continue | Leave a loop early (break) or skip to the next round (continue) |
| Function | A named block of commands you can run many times |
| Local Variable | A variable that only exists inside a function |
| Positional Parameters | $1, $2 and so on: the arguments given to a script or function |
| Special Parameters | Built-in variables like $#, $@, $? and $0 |
| Array | A variable that holds a list of values, read by number |
| Associative Array | An array that uses names (keys) instead of numbers |
| read | Read a line of input into one or more variables |
| Alias | A short name you define for a longer command |
| source | Run a file's commands in the current shell, so its variables stay set |
| Background Job | A command that runs while you keep using the terminal |
| trap | Run commands when the script gets a signal or exits |
| cron | Run commands automatically on a schedule |
| Process | A running program, with its own process ID (PID) |