1/48
A set of vocabulary flashcards summarizing essential terms and definitions from the CS-150 lecture on Unix command-line programming.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Unix
A modular family of operating systems that treat most resources as files, support shell scripting and pipes, and originated at AT&T Bell Labs.
Linux
An open-source re-implementation of Unix that runs on many platforms, including via WSL on Windows.
Kernel
The core of an operating system that manages hardware and system resources such as CPU and memory.
Shell
The outer layer of an OS that interprets user commands; can be a CLI or GUI, but the term usually refers to CLIs.
Command Line Interface (CLI)
A text-based interface where users type commands; prized for speed and remote access efficiency.
Graphical User Interface (GUI)
A visual interface using windows, icons and menus navigated with devices like a mouse.
sh (Bourne Shell)
The original Unix shell, created in 1974; small and simple with limited features.
bash (Bourne-Again Shell)
The default shell on most Linux distros; a superset of sh with many extra features and beginner-friendly design.
zsh
A feature-rich Unix shell similar to bash; default on recent macOS versions.
Command Prompt
Characters (e.g., $ for users, # for root) displayed by the shell indicating readiness to accept input.
Root User
The privileged Unix account with unrestricted system access, traditionally shown with a # prompt.
Command Syntax
$ command [arg1] … [argN] — the general format for entering shell commands.
Flag / Option
An argument (often starting with - or --) that modifies a command’s behaviour, e.g., -l or --help.
man
A command that displays a command’s manual (man page) in the terminal.
info
A command showing more detailed, hyperlinked documentation for programs such as bash.
--help
A common flag that makes a program print a brief description of its options.
Built-in Command
A command implemented inside the shell itself (e.g., cd, pwd) rather than as an external executable.
coreutils
A collection of standard external Unix commands such as ls, cp, rm and cat.
pwd
Built-in command that prints the current working directory’s absolute path.
cd
Built-in command that changes the current directory (.. for parent, no arg for home).
mkdir
Command that creates a new directory.
rmdir
Command that removes empty directories.
ls
Command that lists directory contents; common flags include -a, -l, -t, and -R.
touch
Command that updates a file’s timestamp or creates an empty file if it doesn’t exist.
cat
Command that concatenates files and writes them to standard output.
cp
Command that copies files or directories.
mv
Command that moves or renames files or directories.
rm
Command that removes (deletes) files; dangerous because deletions are permanent.
head
Command that prints the first 10 lines of a file (change with -n).
tail
Command that prints the last 10 lines of a file (change with -n).
less
Pager program to view files one screen at a time; space moves forward, / searches.
echo
Command that outputs its arguments; -e enables interpretation of backslash escapes.
Readline
Library providing command-line editing features like history navigation and tab completion.
File Descriptor
A non-negative integer that refers to an open file; 0=stdin, 1=stdout, 2=stderr by default.
Redirection
Technique of changing where a command reads input or sends output using >, >>, <, etc.
>
Redirect operator that sends stdout to a file, overwriting it.
>
Redirect operator that appends stdout to the end of a file.
2>
Redirect operator that sends stderr (descriptor 2) to a file.
Redirect operator that makes a command read input from a file instead of stdin.
Pipe (|)
Operator that passes the stdout of one command as stdin to another, enabling chaining of commands.
Globbing
Shell process of expanding wildcard patterns (*, ?, [], {}) to matching filenames.
Wildcard *
Pattern that matches any string of characters, including none.
Wildcard ?
Pattern that matches exactly one character.
chmod
Command that changes permission bits of a file using numeric (e.g., 774) or symbolic modes (+x).
chown
Command that changes the owner and/or group of a file.
Shebang (#!)
First line of a script specifying the interpreter path, e.g., #!/bin/bash.
Shell Script
A text file containing a series of shell commands to be executed together.
source
Built-in command that executes a script in the current shell environment.
nano
A simple terminal-based text editor often used to create or edit scripts.