Advance Bash Scriptiong Tricks

Here are some of my Linux bash shell findings, I hope it is good for everyone

Find some text in current folder, sub-folders and files:-

1find . | xargs grep 'string_to_find'

Getting current time from some time server:-

1cat < /dev/tcp/time.nist.gov/13

Convert Unix Timestamp (aka Epoch):-

1date -d @1292946804
2Tue Dec 21 20:53:24 2010

Downloading a URL:-

1exec 5<>/dev/tcp/www.net.cn/80
2echo -e "GET / HTTP/1.0\n" >&5
3cat <&5

Sending Data over network:-

1cat /etc/passwd > /dev/tcp/example.com/10000

TCP Port Checker:-

1(echo >/dev/tcp/127.0.0.1/23) 2>/dev/null \
2&& echo open || echo close

And

1cat < /dev/tcp/localhost/25

Smallest Port Scanner:-

1#!/bin/sh
2# Usage:>$PortScanner.sh hostname_or_ip startport endport
3for ((i=$2; $i <=$3; i++)); do
4echo >/dev/tcp/$1/$i && echo $i/tcp Port Open;
5done 2>/dev/null

Making File Backup when working on it

1cp portscanner.sh{,.bak}

“!$” Reusing Last command arguments

1mkdir /path/to/exampledir
2cd !$

Taking Folder Backup with rsync (local)

1rsync -Aax myfolder/ myfolder-dirbkp_`date +”%Y%m%d”`/

Deleting all files/Folder except some (in this example data and config folder will not delete)

1ls | grep -v ‘(data)|(config)’ | xargs rm -r

Will add more tricks laters…..