BEGIN TYPING YOUR SEARCH ABOVE AND PRESS RETURN TO SEARCH. PRESS ESC TO CANCEL

Helpful Linux commands

So this is just going to be a bit of knowledge dump of things I’ve picked up lately / don’t want to forget.

Bang Cash !$

If you are intending on running a few commands with the last argument of the command being the same this can be really helpful. For example:
ping 127.0.0.1
netmap !$
traceroute !$

Alternatively you can also do !* to use all the arguments of the previous command.

sudo !!

This one is pretty simple sudo !! takes the last command and re-runs with sudo.

Screen

screen is a great feature that allows you to do any of the following;
– Use multiple shells in a single SSH session.
– Run a long running process without maintaining an active shell or worrying about network disruptions.
– Disconnect and re-connect to a shell from multiple locations.

Using it is very simple, to start it you just use the command `screen`, from this point you are now inside of a window within screen.

Using screen requires remembering a few more commands (or noting them down in a blog post or something).

Start screen:
screen
To start a screen with a name, you can do the following screen -S 'name'

Create another window:
Ctrl-a c

Next window:
Ctrl-a n

Previous window:
Ctrl-a p

Detach window:
Ctrl-a d
This will detach your window and return you to your bash shell.

Re-attach screen:
screen -r
If you have multiple screens, this will display a list of them and you will have to use the name of the screen as a third parameter to reattach to it.

Searching through previous commands

So as you may know you can use Control + R on Linux to search through previous commands you’ve entered in the terminal. You can with a few modifications of your ~/.profile or ~/.bash_profile improve what is stored in the ~/.bash_history file, making this feature even more useful for remembering previous commands.

Ignore certain commands:
HISTIGNORE="pwd:df:du:cd:ls"

Increase how many commands are stored:
HISTFILESIZE=10000 (the default on most systems is 500)

Don’t save duplicate commands:
HISTCONTROL=ignoredups

Enter the Matrix

Lastly here is just something fun, have the matrix effect in your terminal.

echo -e "\e[1;40m" ; clear ; while :; do echo $LINES $COLUMNS $(( $RANDOM % $COLUMNS)) $(( $RANDOM % 72 )) ;sleep 0.05; done|awk '{ letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$%^&*()"; c=$4; letter=substr(letters,c,1);a[$3]=0;for (x in a) {o=a[x];a[x]=a[x]+1; printf "\033[%s;%sH\033[2;32m%s",o,x,letter; printf "\033[%s;%sH\033[1;37m%s\033[0;0H",a[x],x,letter;if (a[x] >= $1) { a[x]=0; } }}'

Script created by khakimov