Shell scripting

The way you interface with a computer is changing constantly. Operating systems that once started as a command line-only interface have moved to a graphical front end. But moving away from what made the operating system great isn’t always a step in the right direction. The IBMÂ® AIXÂ® operating system has kept to what’s important: stability, functionality, robustness. And it has done it by keeping a strong command-line interface (CLI). If you never learned to use the CLI or need a refresher on its basics, read on.

After reading this article, you should now be able to use the Korn shell in ways you may not have known before. Mastering the command line can simplify your work and help you better understand how to make the shell and command line work for you rather than you working harder for it.

BASH shell is default on many UNIX / Linux systems. There is an interview with Chat Ramney, maintainer of BASH, the Bourne Again Shell. He talke about his experience maintaining Bash and few other things. From the page:

Bash, or the Bourne-Again Shell is a Unix shell created in 1987 by Brian Fox. According to Wikipedia, the name is a pun on an earlier Unix shell by Stephen Bourne (called the Bourne shell), which was distributed with Version 7 Unix in 1978.

In 1990, Chet Ramey, Manager of the Network Engineering and Security Group in Technology Infrastructure Services at Case Western Reserve University, became the primary maintainer of the language.

It’s easy to keep doing things the same way simply because you’re used to it. Expanding your command-line resources can provide a big increase in your productivity and propel you toward becoming a UNIX command line wizard!

As a follow-up to Michael Stutz’s excellent article, this article provides 10 more good habits to adopt that will improve your UNIX command-line efficiency. Learn about common errors and how to overcome them, and discover exactly why these 10 UNIX habits are worth picking up!

Pixelbeat has published a nice article about setting up colorful console under Linux / UNIX. From the article:

I find it very productive working in a terminal environment, as it’s efficient and flexible to deal with processes and data, especially text, and especially on remote machines.

Now terminals have advanced in capability over time, with some form of “xterm” being the usual terminal of choice. Therefore one should not restrict programs to their usual monochrome defaults, as colour can be used to greatly ease the parsing of text by humans. We have dedicated sensors and portions of the brain specifically for colour, so we should not ignore them.

netstat command and shell pipe feature can be used to dig out more information about particular IP address connection. You can find out total established connections, closing connection, SYN and FIN bits and much more. You can also display summary statistics for each protocol using netstat.

This is useful to find out if your server is under attack or not. You can also list abusive IP address using this method.# netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n Output:

Get Live View of TCP Connections

You can use tcptrack command to display the status of TCP connections that it sees on a given network interface. tcptrack monitors their state and displays information such as state, source/destination addresses and bandwidth usage in a sorted, updated list very much like the top command.