Book Image

Linux Command Line and Shell Scripting Techniques

By : Vedran Dakic, Jasmin Redzepagic
Book Image

Linux Command Line and Shell Scripting Techniques

By: Vedran Dakic, Jasmin Redzepagic

Overview of this book

Linux Command Line and Shell Scripting Techniques begins by taking you through the basics of the shell and command-line utilities. You’ll start by exploring shell commands for file, directory, service, package, and process management. Next, you’ll learn about networking - network, firewall and DNS client configuration, ssh, scp, rsync, and vsftpd, as well as some network troubleshooting tools. You’ll also focus on using the command line to find and manipulate text content, via commands such as cut, egrep, and sed. As you progress, you'll learn how to use shell scripting. You’ll understand the basics - input and output, along with various programming concepts such as loops, variables, arguments, functions, and arrays. Later, you’ll learn about shell script interaction and troubleshooting, before covering a wide range of examples of complete shell scripts, varying from network and firewall configuration, through to backup and concepts for creating live environments. This includes examples of performing scripted virtual machine installation and administration, LAMP (Linux, Apache, MySQL, PHP) stack provisioning and bulk user creation for testing environments. By the end of this Linux book, you’ll have gained the knowledge and confidence you need to use shell and command-line scripts.
Table of Contents (19 chapters)

Displaying server stats

Let's say that we have to write a shell script that's going to display the following pieces of information:

  • Current hostname
  • Current date
  • Current kernel version
  • Current CPU usage
  • Current memory usage
  • Current swap space usage
  • Current disk I/O
  • Current network bandwidth

This is more of an exercise in filtering data and using commands, but there are some interesting concepts in terms of how to format data to look nice and readable. This is something we consider to be very important.

Getting ready

We need to leave the cli1 machine running. Also, for this script to work, we need to deploy the sysstat package, and then enable the necessary service. We can do this by using the following command for Ubuntu:

sudo apt-get -y install sysstat

We can use the following command for CentOS:

sudo yum -y install sysstat

After that, we need to start the sysstat service:

sudo systemctl enable --now sysstat...