Bird
Raised Fist0
Linux CLIscripting~15 mins

History command and search in Linux CLI - Mini Project: Build & Apply

Choose your learning style10 modes available
Using the History Command and Search in Linux CLI
📖 Scenario: You are working on a Linux terminal and want to efficiently reuse commands you typed before. The history command helps you see past commands, and searching through history saves time.
🎯 Goal: Learn to list your command history, set a limit on how many commands are saved, search your history for specific commands, and display the search results.
📋 What You'll Learn
Use the history command to list past commands
Create a variable to set the history size limit
Use history with grep to search for commands containing a keyword
Print the search results
💡 Why This Matters
🌍 Real World
Using command history saves time by reusing previous commands instead of typing them again.
💼 Career
System administrators and developers often use history commands to speed up their work and avoid mistakes.
Progress0 / 4 steps
1
List your command history
Type the command history to list your past commands in the terminal.
Linux CLI
Hint

The history command shows the list of commands you typed before.

2
Set the history size limit
Create a variable called HISTSIZE and set it to 50 to limit the number of commands saved in history.
Linux CLI
Hint

Use HISTSIZE=50 to keep only the last 50 commands in history.

3
Search your history for a keyword
Use history | grep ls to search your command history for all commands containing the word ls.
Linux CLI
Hint

The pipe | sends the output of history to grep which filters lines containing ls.

4
Display the search results
Print the output of history | grep ls to see all previous commands that include ls.
Linux CLI
Hint

Running history | grep ls again will show the filtered commands.

Practice

(1/5)
1. What does the history command do in a Linux terminal?
easy
A. Deletes all saved commands
B. Lists all previously executed commands
C. Shows current running processes
D. Clears the terminal screen

Solution

  1. Step 1: Understand the purpose of history

    The history command shows a list of commands you typed before in the terminal.
  2. Step 2: Compare options with command behavior

    Only Lists all previously executed commands correctly describes this behavior; others describe different commands.
  3. Final Answer:

    Lists all previously executed commands -> Option B
  4. Quick Check:

    history lists past commands [OK]
Hint: Remember: history shows past commands typed [OK]
Common Mistakes:
  • Confusing history with clearing screen
  • Thinking history deletes commands
  • Mixing history with process listing
2. Which of the following is the correct syntax to rerun the last command starting with git?
easy
A. !!git
B. !$git
C. !git
D. !^git

Solution

  1. Step 1: Recall syntax for rerunning commands by prefix

    Using !string reruns the last command starting with string.
  2. Step 2: Analyze options

    !git reruns last command starting with 'git'. Others are invalid or incorrect syntax.
  3. Final Answer:

    !git -> Option C
  4. Quick Check:

    Use !string to rerun commands [OK]
Hint: Use ! plus command start to rerun quickly [OK]
Common Mistakes:
  • Using !!git which is invalid
  • Confusing !$ with rerun syntax
  • Trying !^git which is not correct
3. Given the following history output:
  100  ls -l
101 git status
102 cd projects
103 git commit -m 'fix'

What command will run if you type !git?
medium
A. git commit -m 'fix'
B. git status
C. ls -l
D. cd projects

Solution

  1. Step 1: Identify last command starting with 'git'

    From history, commands 101 and 103 start with 'git'. The last one is 103: git commit -m 'fix'.
  2. Step 2: Understand !git runs last matching command

    !git reruns the most recent command starting with 'git', which is command 103.
  3. Final Answer:

    git commit -m 'fix' -> Option A
  4. Quick Check:

    !string runs last command starting with string [OK]
Hint: !string runs last command starting with string [OK]
Common Mistakes:
  • Choosing first matching command instead of last
  • Confusing command numbers with commands
  • Selecting unrelated commands
4. You tried to rerun a command with !cd but got an error: bash: !cd: event not found. What is the likely cause?
medium
A. The shell does not support history
B. You typed the command incorrectly
C. You need to use !! instead
D. No previous command starts with 'cd' in history

Solution

  1. Step 1: Understand error meaning

    event not found means no matching command found in history for the given prefix.
  2. Step 2: Analyze cause

    If no previous command starts with 'cd', !cd fails with this error.
  3. Final Answer:

    No previous command starts with 'cd' in history -> Option D
  4. Quick Check:

    !string fails if no matching command [OK]
Hint: Check history for matching commands before using !string [OK]
Common Mistakes:
  • Assuming syntax error instead of missing history
  • Thinking shell lacks history support
  • Using !! instead of !string incorrectly
5. You want to find and rerun a command that contains the word backup anywhere in it, but you don't remember the exact command start. Which is the best way to do this?
hard
A. Press Ctrl + r and type 'backup' to search interactively
B. Use !backup to rerun the command
C. Run history | grep backup and then rerun manually
D. Use !! backup to rerun last backup command

Solution

  1. Step 1: Understand searching commands with unknown start

    !string only matches commands starting with string, so !backup won't find commands containing 'backup' elsewhere.
  2. Step 2: Identify interactive search method

    Ctrl + r lets you search history interactively for any substring, including 'backup'.
  3. Final Answer:

    Press Ctrl + r and type 'backup' to search interactively -> Option A
  4. Quick Check:

    Use Ctrl + r for substring history search [OK]
Hint: Use Ctrl + r to search history by any word quickly [OK]
Common Mistakes:
  • Assuming !backup matches anywhere in command
  • Trying !! backup which is invalid syntax
  • Relying only on grep without rerun shortcut
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard