📖 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
Step 1: Understand the purpose of history
The history command shows a list of commands you typed before in the terminal.
Step 2: Compare options with command behavior
Only Lists all previously executed commands correctly describes this behavior; others describe different commands.
Final Answer:
Lists all previously executed commands -> Option B
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
Step 1: Recall syntax for rerunning commands by prefix
Using !string reruns the last command starting with string.
Step 2: Analyze options
!git reruns last command starting with 'git'. Others are invalid or incorrect syntax.
Final Answer:
!git -> Option C
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
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'.
Step 2: Understand !git runs last matching command
!git reruns the most recent command starting with 'git', which is command 103.
Final Answer:
git commit -m 'fix' -> Option A
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
Step 1: Understand error meaning
event not found means no matching command found in history for the given prefix.
Step 2: Analyze cause
If no previous command starts with 'cd', !cd fails with this error.
Final Answer:
No previous command starts with 'cd' in history -> Option D
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
Step 1: Understand searching commands with unknown start
!string only matches commands starting with string, so !backup won't find commands containing 'backup' elsewhere.
Step 2: Identify interactive search method
Ctrl + r lets you search history interactively for any substring, including 'backup'.
Final Answer:
Press Ctrl + r and type 'backup' to search interactively -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.