Linux Command Line Flashcards: Essential Commands, Flags & Workflows
Practice essential Linux terminal commands through 100 task-first cards on paths, files, search, pipes, permissions, processes, archives, and system checks.
About this deck
Build reliable Linux command-line recall with 100 original, task-first flashcards. The sequence starts with help and navigation, then moves through files, text search, pipes and redirection, permissions, processes, archives, storage, remote access, and everyday Bash workflows.
The cards practice four useful mappings: a realistic task to a command shape; a command, flag, or shell operator to its effect; an output or exit-status cue to its meaning; and a close choice to the safer or more suitable tool. Related prompts are spaced apart so a nearby answer does not give away the next card.
This deck focuses on frequent Linux CLI decisions, not every option a command supports. It excludes Git, certification objectives, shell scripting as a subject, distro-specific package managers, destructive recursive examples, and advanced system administration.
The wording, examples, sequence, and cover are original. Facts were checked against POSIX, the GNU Coding Standards, GNU Coreutils, GNU Bash, GNU Grep, GNU Findutils, GNU tar, GNU gzip, GNU Diffutils, Linux manual pages, ncurses, OpenSSH, and curl documentation. Source links stay on the relevant cards. Third-party documentation, source titles, trademarks, and factual material remain subject to their own rights; the CC0 label applies only to the original deck material to the extent applicable rights exist.
Cards in this deck
Card 1
Question
Open the manual page for a command.
Answer
Use
man COMMAND, for exampleman ls. It opens the installed manual entry when one is available.Source: man-pages: man(1).
Card 2
Question
Print the current working directory.
Answer
Use
pwd. It prints the absolute path of the directory the shell is currently in.Source: GNU Coreutils:
pwd.Card 3
Question
Create an empty file or update a file's timestamps.
Answer
Use
touch FILE. It creates an empty file if the path does not exist; otherwise it updates the selected timestamps.Source: GNU Coreutils:
touch.Card 4
Question
Print a small text file to standard output.
Answer
Use
cat FILE. It copies the file's contents to standard output; use a pager such aslessfor long files.Source: GNU Coreutils:
cat.Card 5
Question
Send one command's standard output into another command.
Answer
Use a pipe:
COMMAND1 | COMMAND2. The shell connects the first command's standard output to the second command's standard input.Source: GNU Bash: pipelines.
Card 6
Question
Where do you see a file's permission bits in
ls -loutput?Answer
At the start of each entry, after the file-type character. A value such as
-rw-r--r--shows the type first, then user, group, and other permissions.Source: GNU Coreutils: long listing format.
Card 7
Question
Take a quick snapshot of processes associated with the current terminal.
Answer
Use
ps. With its default selection, it gives a one-time process listing rather than a live display.Source: procps-ng:
ps.Card 8
Question
Create an uncompressed tar archive from files or directories.
Answer
Use
tar -cf ARCHIVE.tar PATH....-ccreates an archive and-fnames the archive file.Source: GNU tar: create.
Card 9
Question
Open an interactive shell on a remote machine over SSH.
Answer
Use
ssh USER@HOST. SSH connects to the remote host and can start an authenticated login session.Source: OpenSSH:
ssh.Card 10
Question
Display the current environment variables.
Answer
Use
env. With no command or assignments, it prints the current environment.Source: GNU Coreutils:
env.Card 11
Question
Ask a GNU command for its short built-in usage help.
Answer
Try
COMMAND --help. GNU command-line programs conventionally use--helpfor a brief usage summary; not every non-GNU command follows this convention.Source: GNU coding standards:
--help.Card 12
Question
List the current directory's visible entries.
Answer
Use
ls. By default, names beginning with.are omitted.Source: GNU Coreutils:
ls.Card 13
Question
Create a new directory.
Answer
Use
mkdir DIRECTORY. It creates the named directory when its parent already exists.Source: GNU Coreutils:
mkdir.Card 14
Question
Read a long text file one screen at a time.
Answer
Use
less FILE. It is a pager: move through the file interactively and pressqto quit.Source: less: manual page.
Card 15
Question
Write standard output to a file, replacing its previous contents.
Answer
Use
COMMAND > FILE. The shell opens the file for output and truncates an existing regular file before the command writes to it.Source: GNU Bash: redirecting output.
Card 16
Question
What do user, group, and other mean in a file mode?
Answer
They are three permission classes: the owning user, the owning group, and everyone else. Each class can have read, write, and execute bits.
Source: GNU Coreutils: mode structure.
Card 17
Question
Show a broad, user-oriented snapshot of processes on a Linux system.
Answer
Use
ps aux. The BSD-styleaandxoptions broaden the selection, whileuselects a user-oriented format.Source: procps-ng:
ps.Card 18
Question
Extract an uncompressed tar archive into the current directory.
Answer
Use
tar -xf ARCHIVE.tar.-xextracts and-fnames the archive file. Review unfamiliar archive contents before extracting them.Source: GNU tar: extract.
Card 19
Question
Copy a file to or from a remote machine over SSH.
Answer
Use
scp SOURCE USER@HOST:DESTINATIONfor an upload, or reverse the remote and local paths for a download.Source: OpenSSH:
scp.Card 20
Question
Print one environment variable by name.
Answer
Use
printenv NAME, for exampleprintenv PATH. It prints that variable's value and returns a nonzero status when the name is absent.Source: GNU Coreutils:
printenv.Card 21
Question
Check whether Bash will treat a name as an alias, function, builtin, or executable file.
Answer
Use
type NAME. Bash reports how it would interpret the name.Source: GNU Bash:
type.Card 22
Question
Include hidden entries in a directory listing.
Answer
Use
ls -a. It includes names beginning with., including.and...Card 23
Question
Copy a file to another path.
Answer
Use
cp SOURCE DESTINATION. If the destination names an existing file,cpcan replace it, so add an interactive check when overwrites are uncertain.Source: GNU Coreutils:
cp.Card 24
Question
Show the first 10 lines of a text file.
Answer
Use
head FILE. Its default output is the first 10 lines; use-n NUMBERto choose another count.Source: GNU Coreutils:
head.Card 25
Question
Append standard output to a file without replacing its existing contents.
Answer
Use
COMMAND >> FILE. The shell opens the file in append mode, creating it if needed.Card 26
Question
What do read, write, and execute mean on a regular file?
Answer
Read allows reading the contents, write allows modifying the contents, and execute allows the file to be run as a program when its format is executable.
Source: GNU Coreutils: mode structure.
Card 27
Question
Find process IDs by process name.
Answer
Use
pgrep PATTERN. It searches currently running processes and prints matching process IDs.Source: procps-ng:
pgrep.Card 28
Question
Compress one file with gzip while keeping the original file.
Answer
Use
gzip -k FILE. GNU gzip writesFILE.gzand-kkeeps the input file.Source: GNU gzip manual.
Card 29
Question
Fetch only a URL's response headers with curl.
Answer
Use
curl -I URL. It requests headers only; the server may respond differently than it would to a normal download.Source: curl:
--head.Card 30
Question
Make a shell variable available to commands started from this Bash session.
Answer
Use
export NAME=value. Bash marks the name for inclusion in the environment of subsequently executed commands.Source: GNU Bash:
export.Card 31
Question
Ask Bash which command it would run for a name.
Answer
Use
command -v NAME. It reports the command, builtin, function, alias, or executable Bash would use, and returns a nonzero status when none is found.Source: GNU Bash:
command.Card 32
Question
Show a long directory listing with modes, owners, sizes, and timestamps.
Answer
Use
ls -l. The long format adds file type and mode, link count, owner, group, size, timestamp, and name.Source: GNU Coreutils: long listing format.
Card 33
Question
Move or rename a file.
Answer
Use
mv SOURCE DESTINATION. Within one filesystem this commonly renames the path; it can also move it to another directory.Source: GNU Coreutils:
mv.Card 34
Question
Show the last 10 lines of a text file.
Answer
Use
tail FILE. Its default output is the last 10 lines; use-n NUMBERto choose another count.Source: GNU Coreutils:
tail.Card 35
Question
Give a command standard input from a file.
Answer
Use
COMMAND < FILE. The shell opens the file for reading on the command's standard input.Source: GNU Bash: redirecting input.
Card 36
Question
What do read, write, and execute mean on a directory?
Answer
Read permits listing names, write permits changing directory entries, and execute permits traversal and access to entries by name. Creating or removing entries normally needs both write and execute permission.
Source: GNU Coreutils: mode structure.
Card 37
Question
Watch a live, updating view of processes and resource use.
Answer
Use
top. It refreshes a process and system summary interactively; pressqto quit.Source: procps-ng:
top.Card 38
Question
Show one path's total disk usage in a human-readable summary.
Answer
Use
du -sh PATH.-sreports one total and-hformats sizes for people.Source: GNU Coreutils:
du.Card 39
Question
Download a URL using its remote file name.
Answer
Use
curl -O URL. curl saves the response under the file-name part of the URL; check the target directory before downloading.Source: curl:
--remote-name.Card 40
Question
Search Bash command history interactively.
Answer
Press
Ctrl-Rand type part of the command. Bash Readline performs a reverse incremental search through history.Source: GNU Bash: reverse search.
Card 41
Question
Search manual-page names and summaries by keyword.
Answer
Use
man -k KEYWORD. It searches the manual-page database's short descriptions, likeapropos KEYWORD.Source: man-pages:
man.Card 42
Question
Show a long listing with human-readable file sizes.
Answer
Use
ls -lh.-lselects long format and-huses human-readable size units.Source: GNU Coreutils: block size.
Card 43
Question
Ask before
cpoverwrites an existing destination file.Answer
Use
cp -i SOURCE DESTINATION.-iprompts before replacing an existing destination.Source: GNU Coreutils:
cp.Card 44
Question
Keep watching new lines appended to a log file.
Answer
Use
tail -f FILE.-fkeeps the command running and prints data as the file grows; stop it withCtrl-C.Source: GNU Coreutils:
tail.Card 45
Question
Write only a command's error stream to a file.
Answer
Use
COMMAND 2> ERRORS.log. File descriptor2is standard error, so standard output stays unchanged.Source: GNU Bash: redirections.
Card 46
Question
Give the file owner execute permission without changing the other mode bits.
Answer
Use
chmod u+x FILE. In symbolic mode,umeans owner,+adds a bit, andxmeans execute.Source: GNU Coreutils: symbolic modes.
Card 47
Question
Ask a process to terminate gracefully by PID.
Answer
Use
kill PID. By default,killsendsSIGTERM, which gives the process a chance to handle the signal and clean up.Source: Linux man-pages:
kill.Card 48
Question
Show free and used space for mounted filesystems in readable units.
Answer
Use
df -h. It reports filesystem space and formats sizes in powers of 1024 for easier reading.Source: GNU Coreutils:
df.Card 49
Question
Check whether a host responds to ICMP echo requests.
Answer
Use
ping HOST. It sends ICMP echo requests and reports replies and packet statistics; a blocked reply does not prove the host is down.Source: iputils:
ping.Card 50
Question
Create a short Bash name for a longer command.
Answer
Use
alias NAME='COMMAND', for examplealias ll='ls -lah'. The alias lasts for the current shell unless you add it to shell startup configuration.Source: GNU Bash: aliases.
100 cards
Linux Command Line Flashcards: Essential Commands, Flags & Workflows
Study this deck for freeFlashcards opens so you can start studying.
Card 51
Question
Interrupt the foreground command from the terminal.
Answer
Press
Ctrl-C. The terminal normally sendsSIGINTto the foreground process group.Source: GNU Bash: signals.
Card 52
Question
Change to another directory.
Answer
Use
cd PATH.cdis a shell builtin because it changes the shell's own working directory.Source: GNU Bash:
cd.Card 53
Question
Ask before
mvoverwrites an existing destination file.Answer
Use
mv -i SOURCE DESTINATION.-iprompts before replacing an existing destination.Source: GNU Coreutils:
mv.Card 54
Question
Count the lines in a text file.
Answer
Use
wc -l FILE.-lprints the newline count.Source: GNU Coreutils:
wc.Card 55
Question
Send standard output and standard error to the same file.
Answer
Use
COMMAND > OUTPUT.log 2>&1. The order matters: standard error is redirected to the destination that standard output has at that point.Card 56
Question
How do octal digits encode read, write, and execute permissions?
Answer
Use
4for read,2for write, and1for execute, then add the values for each of user, group, and other. For example,6means read plus write.Source: GNU Coreutils: numeric modes.
Card 57
Question
Force a process to stop only after graceful termination has failed.
Answer
Use
kill -KILL PIDas a last resort.SIGKILLcannot be caught or ignored, so the process cannot run its normal cleanup.Source: Linux man-pages: signal.
Card 58
Question
List block devices in a tree without changing them.
Answer
Use
lsblk. It reads device and filesystem information and prints a tree by default.Source: util-linux:
lsblk.Card 59
Question
Clear the display, or recover a terminal whose state is corrupted.
Answer
Use
clearfor a normal screen clear. Useresetwhen the terminal's modes are garbled and need reinitialization.Source: ncurses:
clearandreset.Card 60
Question
Move to the parent directory.
Answer
Use
cd ... In a path,..names the parent directory.Source: POSIX: pathname resolution.
Card 61
Question
Remove one file without recursive deletion.
Answer
Use
rm FILE. It removes the named directory entry; this is not a trash operation, so verify the path first.Source: GNU Coreutils:
rm.Card 62
Question
Print lines in a file that contain a pattern.
Answer
Use
grep 'PATTERN' FILE. grep prints matching lines; quote the pattern so the shell does not reinterpret special characters.Source: GNU Grep manual.
Card 63
Question
Discard a command's standard output.
Answer
Use
COMMAND > /dev/null./dev/nulldiscards bytes written to it; standard error is still visible unless redirected separately.Source: Linux man-pages:
null.Card 64
Question
Change a file's owning user.
Answer
Use
chown USER FILE. Changing ownership is permission-sensitive and commonly requires elevated privileges.Source: GNU Coreutils:
chown.Card 65
Question
List the jobs managed by the current Bash session.
Answer
Use
jobs. It lists the shell's active jobs and their states.Source: GNU Bash: job-control builtins.
Card 66
Question
Show kernel and system identity details in one line.
Answer
Use
uname -a. It prints all availableunamefields, including the kernel name and release, machine, and other supported details.Source: GNU Coreutils:
uname.Card 67
Question
Check the previous foreground pipeline's exit status in Bash.
Answer
Read
$?immediately after the command. Bash sets it to the most recently completed foreground pipeline's status;0conventionally means success.Sources: GNU Bash: special parameters; GNU Bash: exit status.
Card 68
Question
Return to the previous working directory.
Answer
Use
cd -. Bash changes to$OLDPWDand prints the resulting directory.Source: GNU Bash:
cd.Card 69
Question
Ask before removing a file.
Answer
Use
rm -i FILE.-iprompts before each removal.Source: GNU Coreutils:
rm.Card 70
Question
Search a file for a pattern without case distinctions.
Answer
Use
grep -i 'PATTERN' FILE.-iignores case distinctions while matching.Source: GNU Grep: matching control.
Card 71
Question
Show command output on screen and save a copy to a file.
Answer
Use
COMMAND | tee FILE.teecopies standard input to standard output and to the named file.Source: GNU Coreutils:
tee.Card 72
Question
Change a file's owning group.
Answer
Use
chgrp GROUP FILE. The operation is limited by your ownership, group membership, and system privileges.Source: GNU Coreutils:
chgrp.Card 73
Question
Suspend the foreground job, then continue it in the background.
Answer
Press
Ctrl-Z, then runbg. The terminal normally stops the foreground job, and Bash resumes that job asynchronously.Source: GNU Bash: job control basics.
Card 74
Question
Show available and used memory in human-readable units.
Answer
Use
free -h. It reads memory counters exposed by the kernel and formats the values for people.Source: procps-ng:
free.Card 75
Question
Change to your home directory.
Answer
Use
cd ~or simplycdin Bash. Tilde expansion turns~into your home directory path, andcdwith no argument uses$HOME.Sources: GNU Bash: tilde expansion; GNU Bash:
cd.Card 76
Question
Sort text lines using the current locale's default ordering.
Answer
Use
sort FILE. It writes the sorted lines to standard output and does not change the input file unless you explicitly request an output file.Source: GNU Coreutils:
sort.Card 77
Question
Create a nested directory path whose parents may not exist.
Answer
Use
mkdir -p PARENT/CHILD.-pcreates missing parent directories and does not fail merely because a named directory already exists.Source: GNU Coreutils:
mkdir.Card 78
Question
Run a second command only if the first command succeeds.
Answer
Use
COMMAND1 && COMMAND2. Bash runs the right-hand command only when the left-hand command returns status0.Source: GNU Bash: AND and OR lists.
Card 79
Question
Print matching lines with their line numbers.
Answer
Use
grep -n 'PATTERN' FILE.-nprefixes each matching line with its one-based line number.Source: GNU Grep: output line prefix control.
Card 80
Question
Set a regular file so the owner can read and write it while everyone else can only read it.
Answer
Use
chmod 644 FILE. The digits mean ownerrw-, groupr--, and otherr--.Source: GNU Coreutils: numeric modes.
Card 81
Question
Translate characters in a text stream.
Answer
Use
tr SET1 SET2, reading from standard input. For example,tr '[:lower:]' '[:upper:]'maps lowercase characters to uppercase according to the locale.Source: GNU Coreutils:
tr.Card 82
Question
Bring a Bash job back to the foreground.
Answer
Use
fg %JOB, orfgfor the current job. Bash resumes the selected job in the foreground.Source: GNU Bash: job-control builtins.
Card 83
Question
How does an absolute path differ from a relative path?
Answer
An absolute path starts with
/and is resolved from the filesystem root. A relative path is resolved from the current working directory.Source: POSIX: pathname resolution.
Card 84
Question
Find paths below the current directory whose base name matches
*.log.Answer
Use
find . -name '*.log'. Quote the pattern sofind, not the shell, performs the name match.Source: GNU Findutils: name test.
Card 85
Question
Remove an empty directory.
Answer
Use
rmdir DIRECTORY. It removes directories only when they are empty, which makes it safer than a recursive removal for this task.Source: GNU Coreutils:
rmdir.Card 86
Question
Run a fallback command only if the first command fails.
Answer
Use
COMMAND1 || COMMAND2. Bash runs the right-hand command only when the left-hand command returns a nonzero status.Source: GNU Bash: AND and OR lists.
Card 87
Question
Sort lines by their leading numeric value rather than lexically.
Answer
Use
sort -n FILE. Numeric sort orders lines by numeric key value instead of lexicographic text order.Source: GNU Coreutils:
sort.Card 88
Question
Set a directory so the owner can modify it while everyone can list and traverse it.
Answer
Use
chmod 755 DIRECTORY. The digits mean ownerrwx, groupr-x, and otherr-x.Source: GNU Coreutils: numeric modes.
Card 89
Question
Print one delimited field from each input line.
Answer
Use
cut -d CHARACTER -f FIELD FILE. For example,cut -d: -f1 FILEprints the first colon-delimited field.Source: GNU Coreutils:
cut.Card 90
Question
Start a command as an asynchronous Bash job.
Answer
Add
&:COMMAND &. Bash starts the command in the background and returns to the prompt without waiting for it to finish.Source: GNU Bash: asynchronous lists.
Card 91
Question
What does
./toolsay about where Bash should findtool?Answer
It names
toolin the current directory. The./is an explicit relative path, so Bash does not need to search$PATH.Sources: POSIX: pathname resolution; GNU Bash: command search.
Card 92
Question
Search recursively through files under a directory for matching lines.
Answer
Use
grep -r 'PATTERN' DIRECTORY.-rreads files under each directory recursively and prints matching lines.Card 93
Question
Create a second hard-link name for an existing file.
Answer
Use
ln TARGET NEW_NAME. Both names refer to the same underlying file; hard links normally cannot cross filesystems or target directories.Source: GNU Coreutils: hard links.
Card 94
Question
Keep only one line from each adjacent run of duplicate lines.
Answer
Use
uniq. It compares adjacent lines, so sort the input first when equal lines may be separated.Source: GNU Coreutils:
uniq.Card 95
Question
Keep every character literal in a Bash argument, including
$and spaces.Answer
Wrap the text in single quotes:
'literal $HOME text'. Single quotes preserve each enclosed character literally; a single quote itself cannot appear directly inside that pair.Source: GNU Bash: single quotes.
Card 96
Question
What does a path beginning with
/mean?Answer
It is an absolute path resolved from the filesystem root directory, not from the current directory.
Source: POSIX: pathname resolution.
Card 97
Question
Find only regular files below the current directory.
Answer
Use
find . -type f. Theftype test matches regular files.Source: GNU Findutils: type test.
Card 98
Question
Create a symbolic link that points to another path.
Answer
Use
ln -s TARGET LINK_NAME. A symbolic link stores a pathname; it can cross filesystems and can become dangling if the target path disappears.Source: GNU Coreutils: symbolic links.
Card 99
Question
Allow variable expansion but keep spaces inside one Bash argument.
Answer
Use double quotes, for example
"$HOME/My Files". Double quotes preserve the argument while still allowing parameter expansion and command substitution.Source: GNU Bash: double quotes.
Card 100
Question
Show how two text files differ.
Answer
Use
diff FILE1 FILE2. It reports the changes needed to make the files match; a status of0means no differences,1means differences, and values above1mean trouble.Source: GNU Diffutils:
diff.
100 cards
Linux Command Line Flashcards: Essential Commands, Flags & Workflows
Flashcards opens so you can start studying.