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.
Mayelana naleli qoqo
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.
Amakhadi akuleli qoqo
Ikhadi 1
Umbuzo
Open the manual page for a command.
Impendulo
Use
man COMMAND, for exampleman ls. It opens the installed manual entry when one is available.Source: man-pages: man(1).
Ikhadi 2
Umbuzo
Print the current working directory.
Impendulo
Use
pwd. It prints the absolute path of the directory the shell is currently in.Source: GNU Coreutils:
pwd.Ikhadi 3
Umbuzo
Create an empty file or update a file's timestamps.
Impendulo
Use
touch FILE. It creates an empty file if the path does not exist; otherwise it updates the selected timestamps.Source: GNU Coreutils:
touch.Ikhadi 4
Umbuzo
Print a small text file to standard output.
Impendulo
Use
cat FILE. It copies the file's contents to standard output; use a pager such aslessfor long files.Source: GNU Coreutils:
cat.Ikhadi 5
Umbuzo
Send one command's standard output into another command.
Impendulo
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.
Ikhadi 6
Umbuzo
Where do you see a file's permission bits in
ls -loutput?Impendulo
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.
Ikhadi 7
Umbuzo
Take a quick snapshot of processes associated with the current terminal.
Impendulo
Use
ps. With its default selection, it gives a one-time process listing rather than a live display.Source: procps-ng:
ps.Ikhadi 8
Umbuzo
Create an uncompressed tar archive from files or directories.
Impendulo
Use
tar -cf ARCHIVE.tar PATH....-ccreates an archive and-fnames the archive file.Source: GNU tar: create.
Ikhadi 9
Umbuzo
Open an interactive shell on a remote machine over SSH.
Impendulo
Use
ssh USER@HOST. SSH connects to the remote host and can start an authenticated login session.Source: OpenSSH:
ssh.Ikhadi 10
Umbuzo
Display the current environment variables.
Impendulo
Use
env. With no command or assignments, it prints the current environment.Source: GNU Coreutils:
env.Ikhadi 11
Umbuzo
Ask a GNU command for its short built-in usage help.
Impendulo
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.Ikhadi 12
Umbuzo
List the current directory's visible entries.
Impendulo
Use
ls. By default, names beginning with.are omitted.Source: GNU Coreutils:
ls.Ikhadi 13
Umbuzo
Create a new directory.
Impendulo
Use
mkdir DIRECTORY. It creates the named directory when its parent already exists.Source: GNU Coreutils:
mkdir.Ikhadi 14
Umbuzo
Read a long text file one screen at a time.
Impendulo
Use
less FILE. It is a pager: move through the file interactively and pressqto quit.Source: less: manual page.
Ikhadi 15
Umbuzo
Write standard output to a file, replacing its previous contents.
Impendulo
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.
Ikhadi 16
Umbuzo
What do user, group, and other mean in a file mode?
Impendulo
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.
Ikhadi 17
Umbuzo
Show a broad, user-oriented snapshot of processes on a Linux system.
Impendulo
Use
ps aux. The BSD-styleaandxoptions broaden the selection, whileuselects a user-oriented format.Source: procps-ng:
ps.Ikhadi 18
Umbuzo
Extract an uncompressed tar archive into the current directory.
Impendulo
Use
tar -xf ARCHIVE.tar.-xextracts and-fnames the archive file. Review unfamiliar archive contents before extracting them.Source: GNU tar: extract.
Ikhadi 19
Umbuzo
Copy a file to or from a remote machine over SSH.
Impendulo
Use
scp SOURCE USER@HOST:DESTINATIONfor an upload, or reverse the remote and local paths for a download.Source: OpenSSH:
scp.Ikhadi 20
Umbuzo
Print one environment variable by name.
Impendulo
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.Ikhadi 21
Umbuzo
Check whether Bash will treat a name as an alias, function, builtin, or executable file.
Impendulo
Use
type NAME. Bash reports how it would interpret the name.Source: GNU Bash:
type.Ikhadi 22
Umbuzo
Include hidden entries in a directory listing.
Impendulo
Use
ls -a. It includes names beginning with., including.and...Ikhadi 23
Umbuzo
Copy a file to another path.
Impendulo
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.Ikhadi 24
Umbuzo
Show the first 10 lines of a text file.
Impendulo
Use
head FILE. Its default output is the first 10 lines; use-n NUMBERto choose another count.Source: GNU Coreutils:
head.Ikhadi 25
Umbuzo
Append standard output to a file without replacing its existing contents.
Impendulo
Use
COMMAND >> FILE. The shell opens the file in append mode, creating it if needed.Ikhadi 26
Umbuzo
What do read, write, and execute mean on a regular file?
Impendulo
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.
Ikhadi 27
Umbuzo
Find process IDs by process name.
Impendulo
Use
pgrep PATTERN. It searches currently running processes and prints matching process IDs.Source: procps-ng:
pgrep.Ikhadi 28
Umbuzo
Compress one file with gzip while keeping the original file.
Impendulo
Use
gzip -k FILE. GNU gzip writesFILE.gzand-kkeeps the input file.Source: GNU gzip manual.
Ikhadi 29
Umbuzo
Fetch only a URL's response headers with curl.
Impendulo
Use
curl -I URL. It requests headers only; the server may respond differently than it would to a normal download.Source: curl:
--head.Ikhadi 30
Umbuzo
Make a shell variable available to commands started from this Bash session.
Impendulo
Use
export NAME=value. Bash marks the name for inclusion in the environment of subsequently executed commands.Source: GNU Bash:
export.Ikhadi 31
Umbuzo
Ask Bash which command it would run for a name.
Impendulo
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.Ikhadi 32
Umbuzo
Show a long directory listing with modes, owners, sizes, and timestamps.
Impendulo
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.
Ikhadi 33
Umbuzo
Move or rename a file.
Impendulo
Use
mv SOURCE DESTINATION. Within one filesystem this commonly renames the path; it can also move it to another directory.Source: GNU Coreutils:
mv.Ikhadi 34
Umbuzo
Show the last 10 lines of a text file.
Impendulo
Use
tail FILE. Its default output is the last 10 lines; use-n NUMBERto choose another count.Source: GNU Coreutils:
tail.Ikhadi 35
Umbuzo
Give a command standard input from a file.
Impendulo
Use
COMMAND < FILE. The shell opens the file for reading on the command's standard input.Source: GNU Bash: redirecting input.
Ikhadi 36
Umbuzo
What do read, write, and execute mean on a directory?
Impendulo
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.
Ikhadi 37
Umbuzo
Watch a live, updating view of processes and resource use.
Impendulo
Use
top. It refreshes a process and system summary interactively; pressqto quit.Source: procps-ng:
top.Ikhadi 38
Umbuzo
Show one path's total disk usage in a human-readable summary.
Impendulo
Use
du -sh PATH.-sreports one total and-hformats sizes for people.Source: GNU Coreutils:
du.Ikhadi 39
Umbuzo
Download a URL using its remote file name.
Impendulo
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.Ikhadi 40
Umbuzo
Search Bash command history interactively.
Impendulo
Press
Ctrl-Rand type part of the command. Bash Readline performs a reverse incremental search through history.Source: GNU Bash: reverse search.
Ikhadi 41
Umbuzo
Search manual-page names and summaries by keyword.
Impendulo
Use
man -k KEYWORD. It searches the manual-page database's short descriptions, likeapropos KEYWORD.Source: man-pages:
man.Ikhadi 42
Umbuzo
Show a long listing with human-readable file sizes.
Impendulo
Use
ls -lh.-lselects long format and-huses human-readable size units.Source: GNU Coreutils: block size.
Ikhadi 43
Umbuzo
Ask before
cpoverwrites an existing destination file.Impendulo
Use
cp -i SOURCE DESTINATION.-iprompts before replacing an existing destination.Source: GNU Coreutils:
cp.Ikhadi 44
Umbuzo
Keep watching new lines appended to a log file.
Impendulo
Use
tail -f FILE.-fkeeps the command running and prints data as the file grows; stop it withCtrl-C.Source: GNU Coreutils:
tail.Ikhadi 45
Umbuzo
Write only a command's error stream to a file.
Impendulo
Use
COMMAND 2> ERRORS.log. File descriptor2is standard error, so standard output stays unchanged.Source: GNU Bash: redirections.
Ikhadi 46
Umbuzo
Give the file owner execute permission without changing the other mode bits.
Impendulo
Use
chmod u+x FILE. In symbolic mode,umeans owner,+adds a bit, andxmeans execute.Source: GNU Coreutils: symbolic modes.
Ikhadi 47
Umbuzo
Ask a process to terminate gracefully by PID.
Impendulo
Use
kill PID. By default,killsendsSIGTERM, which gives the process a chance to handle the signal and clean up.Source: Linux man-pages:
kill.Ikhadi 48
Umbuzo
Show free and used space for mounted filesystems in readable units.
Impendulo
Use
df -h. It reports filesystem space and formats sizes in powers of 1024 for easier reading.Source: GNU Coreutils:
df.Ikhadi 49
Umbuzo
Check whether a host responds to ICMP echo requests.
Impendulo
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.Ikhadi 50
Umbuzo
Create a short Bash name for a longer command.
Impendulo
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.
amakhadi angu-100
Linux Command Line Flashcards: Essential Commands, Flags & Workflows
Funda leli qoqo mahhalaI-Nibomo iyavuleka ukuze uqale ukufunda.
Ikhadi 51
Umbuzo
Interrupt the foreground command from the terminal.
Impendulo
Press
Ctrl-C. The terminal normally sendsSIGINTto the foreground process group.Source: GNU Bash: signals.
Ikhadi 52
Umbuzo
Change to another directory.
Impendulo
Use
cd PATH.cdis a shell builtin because it changes the shell's own working directory.Source: GNU Bash:
cd.Ikhadi 53
Umbuzo
Ask before
mvoverwrites an existing destination file.Impendulo
Use
mv -i SOURCE DESTINATION.-iprompts before replacing an existing destination.Source: GNU Coreutils:
mv.Ikhadi 54
Umbuzo
Count the lines in a text file.
Impendulo
Use
wc -l FILE.-lprints the newline count.Source: GNU Coreutils:
wc.Ikhadi 55
Umbuzo
Send standard output and standard error to the same file.
Impendulo
Use
COMMAND > OUTPUT.log 2>&1. The order matters: standard error is redirected to the destination that standard output has at that point.Ikhadi 56
Umbuzo
How do octal digits encode read, write, and execute permissions?
Impendulo
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.
Ikhadi 57
Umbuzo
Force a process to stop only after graceful termination has failed.
Impendulo
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.
Ikhadi 58
Umbuzo
List block devices in a tree without changing them.
Impendulo
Use
lsblk. It reads device and filesystem information and prints a tree by default.Source: util-linux:
lsblk.Ikhadi 59
Umbuzo
Clear the display, or recover a terminal whose state is corrupted.
Impendulo
Use
clearfor a normal screen clear. Useresetwhen the terminal's modes are garbled and need reinitialization.Source: ncurses:
clearandreset.Ikhadi 60
Umbuzo
Move to the parent directory.
Impendulo
Use
cd ... In a path,..names the parent directory.Source: POSIX: pathname resolution.
Ikhadi 61
Umbuzo
Remove one file without recursive deletion.
Impendulo
Use
rm FILE. It removes the named directory entry; this is not a trash operation, so verify the path first.Source: GNU Coreutils:
rm.Ikhadi 62
Umbuzo
Print lines in a file that contain a pattern.
Impendulo
Use
grep 'PATTERN' FILE. grep prints matching lines; quote the pattern so the shell does not reinterpret special characters.Source: GNU Grep manual.
Ikhadi 63
Umbuzo
Discard a command's standard output.
Impendulo
Use
COMMAND > /dev/null./dev/nulldiscards bytes written to it; standard error is still visible unless redirected separately.Source: Linux man-pages:
null.Ikhadi 64
Umbuzo
Change a file's owning user.
Impendulo
Use
chown USER FILE. Changing ownership is permission-sensitive and commonly requires elevated privileges.Source: GNU Coreutils:
chown.Ikhadi 65
Umbuzo
List the jobs managed by the current Bash session.
Impendulo
Use
jobs. It lists the shell's active jobs and their states.Source: GNU Bash: job-control builtins.
Ikhadi 66
Umbuzo
Show kernel and system identity details in one line.
Impendulo
Use
uname -a. It prints all availableunamefields, including the kernel name and release, machine, and other supported details.Source: GNU Coreutils:
uname.Ikhadi 67
Umbuzo
Check the previous foreground pipeline's exit status in Bash.
Impendulo
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.
Ikhadi 68
Umbuzo
Return to the previous working directory.
Impendulo
Use
cd -. Bash changes to$OLDPWDand prints the resulting directory.Source: GNU Bash:
cd.Ikhadi 69
Umbuzo
Ask before removing a file.
Impendulo
Use
rm -i FILE.-iprompts before each removal.Source: GNU Coreutils:
rm.Ikhadi 70
Umbuzo
Search a file for a pattern without case distinctions.
Impendulo
Use
grep -i 'PATTERN' FILE.-iignores case distinctions while matching.Source: GNU Grep: matching control.
Ikhadi 71
Umbuzo
Show command output on screen and save a copy to a file.
Impendulo
Use
COMMAND | tee FILE.teecopies standard input to standard output and to the named file.Source: GNU Coreutils:
tee.Ikhadi 72
Umbuzo
Change a file's owning group.
Impendulo
Use
chgrp GROUP FILE. The operation is limited by your ownership, group membership, and system privileges.Source: GNU Coreutils:
chgrp.Ikhadi 73
Umbuzo
Suspend the foreground job, then continue it in the background.
Impendulo
Press
Ctrl-Z, then runbg. The terminal normally stops the foreground job, and Bash resumes that job asynchronously.Source: GNU Bash: job control basics.
Ikhadi 74
Umbuzo
Show available and used memory in human-readable units.
Impendulo
Use
free -h. It reads memory counters exposed by the kernel and formats the values for people.Source: procps-ng:
free.Ikhadi 75
Umbuzo
Change to your home directory.
Impendulo
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.Ikhadi 76
Umbuzo
Sort text lines using the current locale's default ordering.
Impendulo
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.Ikhadi 77
Umbuzo
Create a nested directory path whose parents may not exist.
Impendulo
Use
mkdir -p PARENT/CHILD.-pcreates missing parent directories and does not fail merely because a named directory already exists.Source: GNU Coreutils:
mkdir.Ikhadi 78
Umbuzo
Run a second command only if the first command succeeds.
Impendulo
Use
COMMAND1 && COMMAND2. Bash runs the right-hand command only when the left-hand command returns status0.Source: GNU Bash: AND and OR lists.
Ikhadi 79
Umbuzo
Print matching lines with their line numbers.
Impendulo
Use
grep -n 'PATTERN' FILE.-nprefixes each matching line with its one-based line number.Source: GNU Grep: output line prefix control.
Ikhadi 80
Umbuzo
Set a regular file so the owner can read and write it while everyone else can only read it.
Impendulo
Use
chmod 644 FILE. The digits mean ownerrw-, groupr--, and otherr--.Source: GNU Coreutils: numeric modes.
Ikhadi 81
Umbuzo
Translate characters in a text stream.
Impendulo
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.Ikhadi 82
Umbuzo
Bring a Bash job back to the foreground.
Impendulo
Use
fg %JOB, orfgfor the current job. Bash resumes the selected job in the foreground.Source: GNU Bash: job-control builtins.
Ikhadi 83
Umbuzo
How does an absolute path differ from a relative path?
Impendulo
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.
Ikhadi 84
Umbuzo
Find paths below the current directory whose base name matches
*.log.Impendulo
Use
find . -name '*.log'. Quote the pattern sofind, not the shell, performs the name match.Source: GNU Findutils: name test.
Ikhadi 85
Umbuzo
Remove an empty directory.
Impendulo
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.Ikhadi 86
Umbuzo
Run a fallback command only if the first command fails.
Impendulo
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.
Ikhadi 87
Umbuzo
Sort lines by their leading numeric value rather than lexically.
Impendulo
Use
sort -n FILE. Numeric sort orders lines by numeric key value instead of lexicographic text order.Source: GNU Coreutils:
sort.Ikhadi 88
Umbuzo
Set a directory so the owner can modify it while everyone can list and traverse it.
Impendulo
Use
chmod 755 DIRECTORY. The digits mean ownerrwx, groupr-x, and otherr-x.Source: GNU Coreutils: numeric modes.
Ikhadi 89
Umbuzo
Print one delimited field from each input line.
Impendulo
Use
cut -d CHARACTER -f FIELD FILE. For example,cut -d: -f1 FILEprints the first colon-delimited field.Source: GNU Coreutils:
cut.Ikhadi 90
Umbuzo
Start a command as an asynchronous Bash job.
Impendulo
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.
Ikhadi 91
Umbuzo
What does
./toolsay about where Bash should findtool?Impendulo
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.
Ikhadi 92
Umbuzo
Search recursively through files under a directory for matching lines.
Impendulo
Use
grep -r 'PATTERN' DIRECTORY.-rreads files under each directory recursively and prints matching lines.Ikhadi 93
Umbuzo
Create a second hard-link name for an existing file.
Impendulo
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.
Ikhadi 94
Umbuzo
Keep only one line from each adjacent run of duplicate lines.
Impendulo
Use
uniq. It compares adjacent lines, so sort the input first when equal lines may be separated.Source: GNU Coreutils:
uniq.Ikhadi 95
Umbuzo
Keep every character literal in a Bash argument, including
$and spaces.Impendulo
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.
Ikhadi 96
Umbuzo
What does a path beginning with
/mean?Impendulo
It is an absolute path resolved from the filesystem root directory, not from the current directory.
Source: POSIX: pathname resolution.
Ikhadi 97
Umbuzo
Find only regular files below the current directory.
Impendulo
Use
find . -type f. Theftype test matches regular files.Source: GNU Findutils: type test.
Ikhadi 98
Umbuzo
Create a symbolic link that points to another path.
Impendulo
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.
Ikhadi 99
Umbuzo
Allow variable expansion but keep spaces inside one Bash argument.
Impendulo
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.
Ikhadi 100
Umbuzo
Show how two text files differ.
Impendulo
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.
amakhadi angu-100
Linux Command Line Flashcards: Essential Commands, Flags & Workflows
I-Nibomo iyavuleka ukuze uqale ukufunda.