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

  1. Card 1

    Question

    Open the manual page for a command.

    Answer

    Use man COMMAND, for example man ls. It opens the installed manual entry when one is available.

    Source: man-pages: man(1).

  2. 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.

  3. 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.

  4. 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 as less for long files.

    Source: GNU Coreutils: cat.

  5. 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.

  6. Card 6

    Question

    Where do you see a file's permission bits in ls -l output?

    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.

  7. 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.

  8. Card 8

    Question

    Create an uncompressed tar archive from files or directories.

    Answer

    Use tar -cf ARCHIVE.tar PATH.... -c creates an archive and -f names the archive file.

    Source: GNU tar: create.

  9. 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.

  10. 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.

  11. Card 11

    Question

    Ask a GNU command for its short built-in usage help.

    Answer

    Try COMMAND --help. GNU command-line programs conventionally use --help for a brief usage summary; not every non-GNU command follows this convention.

    Source: GNU coding standards: --help.

  12. Card 12

    Question

    List the current directory's visible entries.

    Answer

    Use ls. By default, names beginning with . are omitted.

    Source: GNU Coreutils: ls.

  13. 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.

  14. 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 press q to quit.

    Source: less: manual page.

  15. 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.

  16. 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.

  17. Card 17

    Question

    Show a broad, user-oriented snapshot of processes on a Linux system.

    Answer

    Use ps aux. The BSD-style a and x options broaden the selection, while u selects a user-oriented format.

    Source: procps-ng: ps.

  18. Card 18

    Question

    Extract an uncompressed tar archive into the current directory.

    Answer

    Use tar -xf ARCHIVE.tar. -x extracts and -f names the archive file. Review unfamiliar archive contents before extracting them.

    Source: GNU tar: extract.

  19. Card 19

    Question

    Copy a file to or from a remote machine over SSH.

    Answer

    Use scp SOURCE USER@HOST:DESTINATION for an upload, or reverse the remote and local paths for a download.

    Source: OpenSSH: scp.

  20. Card 20

    Question

    Print one environment variable by name.

    Answer

    Use printenv NAME, for example printenv PATH. It prints that variable's value and returns a nonzero status when the name is absent.

    Source: GNU Coreutils: printenv.

  21. 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.

  22. Card 23

    Question

    Copy a file to another path.

    Answer

    Use cp SOURCE DESTINATION. If the destination names an existing file, cp can replace it, so add an interactive check when overwrites are uncertain.

    Source: GNU Coreutils: cp.

  23. 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 NUMBER to choose another count.

    Source: GNU Coreutils: head.

  24. 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.

    Source: GNU Bash: appending redirected output.

  25. 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.

  26. 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.

  27. Card 28

    Question

    Compress one file with gzip while keeping the original file.

    Answer

    Use gzip -k FILE. GNU gzip writes FILE.gz and -k keeps the input file.

    Source: GNU gzip manual.

  28. 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.

  29. 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.

  30. 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.

  31. 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.

  32. 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.

  33. 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 NUMBER to choose another count.

    Source: GNU Coreutils: tail.

  34. 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.

  35. 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.

  36. Card 37

    Question

    Watch a live, updating view of processes and resource use.

    Answer

    Use top. It refreshes a process and system summary interactively; press q to quit.

    Source: procps-ng: top.

  37. Card 38

    Question

    Show one path's total disk usage in a human-readable summary.

    Answer

    Use du -sh PATH. -s reports one total and -h formats sizes for people.

    Source: GNU Coreutils: du.

  38. 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.

  39. Card 40

    Question

    Search Bash command history interactively.

    Answer

    Press Ctrl-R and type part of the command. Bash Readline performs a reverse incremental search through history.

    Source: GNU Bash: reverse search.

  40. 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, like apropos KEYWORD.

    Source: man-pages: man.

  41. Card 42

    Question

    Show a long listing with human-readable file sizes.

    Answer

    Use ls -lh. -l selects long format and -h uses human-readable size units.

    Source: GNU Coreutils: block size.

  42. Card 43

    Question

    Ask before cp overwrites an existing destination file.

    Answer

    Use cp -i SOURCE DESTINATION. -i prompts before replacing an existing destination.

    Source: GNU Coreutils: cp.

  43. Card 44

    Question

    Keep watching new lines appended to a log file.

    Answer

    Use tail -f FILE. -f keeps the command running and prints data as the file grows; stop it with Ctrl-C.

    Source: GNU Coreutils: tail.

  44. Card 45

    Question

    Write only a command's error stream to a file.

    Answer

    Use COMMAND 2> ERRORS.log. File descriptor 2 is standard error, so standard output stays unchanged.

    Source: GNU Bash: redirections.

  45. Card 46

    Question

    Give the file owner execute permission without changing the other mode bits.

    Answer

    Use chmod u+x FILE. In symbolic mode, u means owner, + adds a bit, and x means execute.

    Source: GNU Coreutils: symbolic modes.

  46. Card 47

    Question

    Ask a process to terminate gracefully by PID.

    Answer

    Use kill PID. By default, kill sends SIGTERM, which gives the process a chance to handle the signal and clean up.

    Source: Linux man-pages: kill.

  47. 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.

  48. 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.

  49. Card 50

    Question

    Create a short Bash name for a longer command.

    Answer

    Use alias NAME='COMMAND', for example alias ll='ls -lah'. The alias lasts for the current shell unless you add it to shell startup configuration.

    Source: GNU Bash: aliases.

    A dark terminal window with an abstract command prompt flowing into organized file, search, permission, and process symbols.

    100 cards

    Linux Command Line Flashcards: Essential Commands, Flags & Workflows

    Study this deck for free

    Flashcards opens so you can start studying.

  50. Card 51

    Question

    Interrupt the foreground command from the terminal.

    Answer

    Press Ctrl-C. The terminal normally sends SIGINT to the foreground process group.

    Source: GNU Bash: signals.

  51. Card 52

    Question

    Change to another directory.

    Answer

    Use cd PATH. cd is a shell builtin because it changes the shell's own working directory.

    Source: GNU Bash: cd.

  52. Card 53

    Question

    Ask before mv overwrites an existing destination file.

    Answer

    Use mv -i SOURCE DESTINATION. -i prompts before replacing an existing destination.

    Source: GNU Coreutils: mv.

  53. Card 54

    Question

    Count the lines in a text file.

    Answer

    Use wc -l FILE. -l prints the newline count.

    Source: GNU Coreutils: wc.

  54. 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.

    Source: GNU Bash: duplicating file descriptors.

  55. Card 56

    Question

    How do octal digits encode read, write, and execute permissions?

    Answer

    Use 4 for read, 2 for write, and 1 for execute, then add the values for each of user, group, and other. For example, 6 means read plus write.

    Source: GNU Coreutils: numeric modes.

  56. Card 57

    Question

    Force a process to stop only after graceful termination has failed.

    Answer

    Use kill -KILL PID as a last resort. SIGKILL cannot be caught or ignored, so the process cannot run its normal cleanup.

    Source: Linux man-pages: signal.

  57. 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.

  58. Card 59

    Question

    Clear the display, or recover a terminal whose state is corrupted.

    Answer

    Use clear for a normal screen clear. Use reset when the terminal's modes are garbled and need reinitialization.

    Source: ncurses: clear and reset.

  59. Card 60

    Question

    Move to the parent directory.

    Answer

    Use cd ... In a path, .. names the parent directory.

    Source: POSIX: pathname resolution.

  60. 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.

  61. 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.

  62. Card 63

    Question

    Discard a command's standard output.

    Answer

    Use COMMAND > /dev/null. /dev/null discards bytes written to it; standard error is still visible unless redirected separately.

    Source: Linux man-pages: null.

  63. 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.

  64. 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.

  65. Card 66

    Question

    Show kernel and system identity details in one line.

    Answer

    Use uname -a. It prints all available uname fields, including the kernel name and release, machine, and other supported details.

    Source: GNU Coreutils: uname.

  66. 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; 0 conventionally means success.

    Sources: GNU Bash: special parameters; GNU Bash: exit status.

  67. Card 68

    Question

    Return to the previous working directory.

    Answer

    Use cd -. Bash changes to $OLDPWD and prints the resulting directory.

    Source: GNU Bash: cd.

  68. Card 69

    Question

    Ask before removing a file.

    Answer

    Use rm -i FILE. -i prompts before each removal.

    Source: GNU Coreutils: rm.

  69. Card 70

    Question

    Search a file for a pattern without case distinctions.

    Answer

    Use grep -i 'PATTERN' FILE. -i ignores case distinctions while matching.

    Source: GNU Grep: matching control.

  70. Card 71

    Question

    Show command output on screen and save a copy to a file.

    Answer

    Use COMMAND | tee FILE. tee copies standard input to standard output and to the named file.

    Source: GNU Coreutils: tee.

  71. 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.

  72. Card 73

    Question

    Suspend the foreground job, then continue it in the background.

    Answer

    Press Ctrl-Z, then run bg. The terminal normally stops the foreground job, and Bash resumes that job asynchronously.

    Source: GNU Bash: job control basics.

  73. 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.

  74. Card 75

    Question

    Change to your home directory.

    Answer

    Use cd ~ or simply cd in Bash. Tilde expansion turns ~ into your home directory path, and cd with no argument uses $HOME.

    Sources: GNU Bash: tilde expansion; GNU Bash: cd.

  75. 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.

  76. Card 77

    Question

    Create a nested directory path whose parents may not exist.

    Answer

    Use mkdir -p PARENT/CHILD. -p creates missing parent directories and does not fail merely because a named directory already exists.

    Source: GNU Coreutils: mkdir.

  77. 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 status 0.

    Source: GNU Bash: AND and OR lists.

  78. Card 79

    Question

    Print matching lines with their line numbers.

    Answer

    Use grep -n 'PATTERN' FILE. -n prefixes each matching line with its one-based line number.

    Source: GNU Grep: output line prefix control.

  79. 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 owner rw-, group r--, and other r--.

    Source: GNU Coreutils: numeric modes.

  80. 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.

  81. Card 82

    Question

    Bring a Bash job back to the foreground.

    Answer

    Use fg %JOB, or fg for the current job. Bash resumes the selected job in the foreground.

    Source: GNU Bash: job-control builtins.

  82. 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.

  83. Card 84

    Question

    Find paths below the current directory whose base name matches *.log.

    Answer

    Use find . -name '*.log'. Quote the pattern so find, not the shell, performs the name match.

    Source: GNU Findutils: name test.

  84. 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.

  85. 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.

  86. 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.

  87. 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 owner rwx, group r-x, and other r-x.

    Source: GNU Coreutils: numeric modes.

  88. Card 89

    Question

    Print one delimited field from each input line.

    Answer

    Use cut -d CHARACTER -f FIELD FILE. For example, cut -d: -f1 FILE prints the first colon-delimited field.

    Source: GNU Coreutils: cut.

  89. 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.

  90. Card 91

    Question

    What does ./tool say about where Bash should find tool?

    Answer

    It names tool in 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.

  91. Card 92

    Question

    Search recursively through files under a directory for matching lines.

    Answer

    Use grep -r 'PATTERN' DIRECTORY. -r reads files under each directory recursively and prints matching lines.

    Source: GNU Grep: file and directory selection.

  92. 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.

  93. 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.

  94. 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.

  95. 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.

  96. Card 97

    Question

    Find only regular files below the current directory.

    Answer

    Use find . -type f. The f type test matches regular files.

    Source: GNU Findutils: type test.

  97. 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.

  98. 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.

  99. 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 of 0 means no differences, 1 means differences, and values above 1 mean trouble.

    Source: GNU Diffutils: diff.

A dark terminal window with an abstract command prompt flowing into organized file, search, permission, and process symbols.

100 cards

Linux Command Line Flashcards: Essential Commands, Flags & Workflows

Study this deck for free

Flashcards opens so you can start studying.