What if you could magically recall any command you typed before with just a few keys?
Why History command and search in Linux CLI? - Purpose & Use Cases
Imagine you just typed a long command in the terminal, but you forgot to add a small option. Now you have to type the entire command again from scratch.
Or you want to repeat a command you used days ago, but you can't remember it exactly.
Typing long commands repeatedly wastes time and causes frustration.
Trying to remember exact commands is hard and leads to errors.
Manually searching through your command history by scrolling is slow and clumsy.
The history command keeps a list of all your past commands.
With search, you can quickly find and reuse any previous command without retyping it.
This saves time, reduces mistakes, and makes your work smoother.
ls -l /very/long/path/to/directory
# Oops, forgot -a option
ls -l /very/long/path/to/directory -a!ls # or Ctrl+R then type part of command to search and reuse
You can instantly recall and reuse any past command, making your terminal work faster and easier.
A system admin needs to run a complex backup command used last week. Instead of retyping it, they press Ctrl+R, type a keyword, and quickly find the exact command to run again.
History command stores all your past commands automatically.
Search lets you find commands quickly without retyping.
This saves time and reduces errors in command line work.
Practice
history command do in a Linux terminal?Solution
Step 1: Understand the purpose of
Thehistoryhistorycommand 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 BQuick Check:
historylists past commands [OK]
- Confusing history with clearing screen
- Thinking history deletes commands
- Mixing history with process listing
git?Solution
Step 1: Recall syntax for rerunning commands by prefix
Using!stringreruns the last command starting withstring.Step 2: Analyze options
!gitreruns last command starting with 'git'. Others are invalid or incorrect syntax.Final Answer:
!git -> Option CQuick Check:
Use!stringto rerun commands [OK]
- Using !!git which is invalid
- Confusing !$ with rerun syntax
- Trying !^git which is not correct
100 ls -l
101 git status
102 cd projects
103 git commit -m 'fix'
What command will run if you type
!git?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
!gitruns last matching command!gitreruns the most recent command starting with 'git', which is command 103.Final Answer:
git commit -m 'fix' -> Option AQuick Check:
!stringruns last command starting with string [OK]
- Choosing first matching command instead of last
- Confusing command numbers with commands
- Selecting unrelated commands
!cd but got an error: bash: !cd: event not found. What is the likely cause?Solution
Step 1: Understand error meaning
event not foundmeans no matching command found in history for the given prefix.Step 2: Analyze cause
If no previous command starts with 'cd',!cdfails with this error.Final Answer:
No previous command starts with 'cd' in history -> Option DQuick Check:
!stringfails if no matching command [OK]
- Assuming syntax error instead of missing history
- Thinking shell lacks history support
- Using !! instead of !string incorrectly
backup anywhere in it, but you don't remember the exact command start. Which is the best way to do this?Solution
Step 1: Understand searching commands with unknown start
!stringonly matches commands starting with string, so!backupwon't find commands containing 'backup' elsewhere.Step 2: Identify interactive search method
Ctrl + rlets you search history interactively for any substring, including 'backup'.Final Answer:
Press Ctrl + r and type 'backup' to search interactively -> Option AQuick Check:
Use Ctrl + r for substring history search [OK]
- Assuming !backup matches anywhere in command
- Trying !! backup which is invalid syntax
- Relying only on grep without rerun shortcut
Ready to prove it?
Pass the test and this pattern moves unknown
