history command is very useful. It gives you an complete view of what commands you ran. By default bash
historycommand will give you all your previous commands with Line numbers. It’s the default behavior. However when you’re trying to copy-paste those commands again, you have to manually remove those Line numbers. This becomes rather annoying when you are trying to copy paste a lot of commands at the same time. This is very simple guide on how to view bash history without line numbers.
bash history with line numbers
When you type in
history in your bash terminal, following what you see.
[email protected]:~# history -------snip------------ 2002 clear 2003 ls 2004 cd 2005 top 2006 nethogs wlan0 2007 htop 2008 sar -r 2009 free -m 2010 pstree 2011 pgrep gdm3 2012 w 2013 who 2014 last | head -------snip------------
This is very normal behavior.
My target is to remove these line numbers and just view the actual commands so that I can copy paste them easily.
View bash history without line numbers
Extremely simple command. We utilize cut to do this job:
[email protected]:~# history | cut -c 8-
cut = cut removes sections from each line of files
-c = -c will select only certain characters
8- = 8- or N- will show output from N’th byte, character or field, to end of line. In this case, bash
history command shows actual command from 8th character. Adjust your command to match your output.
Output for bash history command without line numbers
-------snip------------ clear history history | tail clear history clear last | head w whoami uname -a lsb_release -a clear history | tail history | cut -c 8- -------snip------------
Hope this helps someone out there.