Linux has a rich command line experience that can sometimes be a little daunting for people switching over from Windows. Displaying the list of recent commands is pretty simple, though:

> history

1 ps -ef
2 kill 24188
3 ps -ef
4 tail logfile.log

If you want to find a command that you used before but you have a huge history list, you can quickly find it by passing it through grep. Let’s say we remember typing the ftp command, but can’t remember the domain name of the server:

> history | grep ftp

321 ftp ftp.cdrom18.com

Pretty simple stuff! What if we want to display the list of items that we use the most often?  We can use a much more complicated command like this:

> history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -r

114 ls
105 ./runreports.sh
97 cd
24 uptime
15 mysql
13 vi

The last command was thanks to Lifehacker, which is a great site you should definitely subscribe to.

The techniques used in the last command are useful in other contexts. I’ll be posting more similar commands going forwards.

Profile Photo for Lowell Heddings Lowell Heddings
Lowell is the founder and CEO of How-To Geek. He’s been running the show since creating the site back in 2006. Over the last decade, Lowell has personally written more than 1000 articles which have been viewed by over 250 million people. Prior to starting How-To Geek, Lowell spent 15 years working in IT doing consulting, cybersecurity, database management, and programming work.
Read Full Bio »