Use your history!
If you haven't read the history expansion part of your shell's manual, here I will show some ideas why should do it.
However I read it and I found it super useful, I never got used to it, but few days ago I opened it again and started to practice it.
I'm working on ZSH but these commands should work on Bash (and probably on other shells) too.
Love !
By default, you say to the shell to use the history expansion by typing !. Starting a line or a command argument with ! you can send special commands to your shell.
Find commands
Let's imagine you want to list the files in /etc/apt
$ ls /etc/aptThen you want to see it's content again
$ !!Yay! Typing another ! after the first ! will refer to the last command in your history.
To list the /etc/apt/sources.list.d directory, you can use the command above:
$ !!/sources.list.dReferring by it's number
You can refer to the n-th command by typing n after the first !
$ !1It will refer to you first command in your history, in this case it will be ls /etc/apt
$ !2And this will expand to ls /etc/apt/sources.list.d
To refer to the current command-line minus n use negative numbers:
$ !-1It's the same as !!
$ !-2It will call the second last command.
Search by command
By typing the command name after !, the shell will search for the most recent history entry starting with this command:
$ !lsWill find the ls /etc/apt command
You can also use only a part of the command:
$ !convIt will find the convert command for example if you used it before.
Search for command contains a string
$ !?etcThat will expand to ls /etc/apt
Manipulate your history entries
You can do much more things with your history 
entries in addition to repeating them. 
You can use modifiers by typing a :modifier after the !search command. You can use more then one modifiers!
Example:
$ !ls:$:hThis will first expand the expression we have seen before then change it's output.
Referring to arguments
You can refer to the last argument by passing a $ sign after the :.
ls /etc/apt
!:$That will print /etc/apt
Now we can use it do a quick move into the directory:
ls /etc/apt
cd !:$Using command !:n you can refer to the n-th argument
ls /etc/apt /etc/apt/sources.list.d
cd !:1The !:1 will expand to /etc/apt so, you will go to the /etc/apt directory. By saying  cd !:2 you would go to the /etc/apt/sources.list.d directory.
Just the beginning
That's just the beginning, you can find much more in the manual of your shell or online.
Practice as much as you can and have a new habit!
Written by Lajos Koszti
Related protips
2 Responses
 
Thank you ,simple useful skill
 
I use this in my bash_login (mac) to type a partial search and use the arrow keys (up and down)  to search through the history related to the partial:
bind '"[A":history-search-backward'
bind '"[B":history-search-forward'

 
 
 
 
