- Lab
-
Libraries: If you want this lab, consider one of these libraries.
- Cloud
Modifying the Bash Shell
A Linux system administrator should have a solid understanding of the Bash shell environment. The Bash shell is the default command line interface used on the vast majority of Linux distributions. Linux administrators can extend the capabilities of the Bash shell by providing their own aliases to commonly used commands and options, as well as create their own functions to use in the Bash environment. In this hands-on lab, we will create our own alias for a command and then create a new command that will take a positional argument.
Lab Info
Table of Contents
-
Challenge
Create the alias.
The first step is to create an alias for the Bash shell that will allow you to view the service status of the web server itself. You will name this alias
webstat. When you type the commandwebstatat the prompt, you will see the output of the commandsystemctl status httpd.service.User-created aliases and functions should go in your local
~/.bashrcfile. Using the commands listed, append the following alias to your~/.bashrcfile:echo 'alias webstat="systemctl status httpd.service"' >> /home/cloud_user/.bashrc -
Challenge
Load and test the alias.
Now that we have created an alias that displays the status of the web server, we need to tell Bash that we want to use it in our current session. First, we need to source our
.bashrcfile using the “dot” (.) command:. ~/.bashrcNow that the Bash environment has been refreshed with the new alias from our
~/.bashrcfile, we can use our new alias:webstatWe should be able to see the output of our service's status command.
-
Challenge
Create your function.
The next step is to create a function that will take the name of a directory as a parameter and print out how much disk space that directory is using.
Using the vi text editor, open up the
~/.bashrcfile and add the following function to the bottom, beneath the alias that you created earlier:function webspace() { du -h /var/www/html/$1; }Save and close your file. Then source the
.bashrcfile again:. .bashrc -
Challenge
Use the `webspace` function.
Since the
/var/www/htmldirectory is the root location for all of the individual site locations for this web server, all you need to do is provide the name of the folder that contains a particular part of the site to thewebspacefunction. To view the size and contents of the main public web page, enter this command:webspace mainThis will print out the contents of the
/var/www/html/maindirectory and how much disk space this directory uses. The$1used in your function is a positional argument. When you typewebspace mainat the prompt, the wordmainis replaced by the$1argument, thus providing the output of the command for the/var/www/html/maindirectory.Try the same command again, this time for the
customerdirectory on the web server:webspace customerYou should see more directories in the output, plus a 5 MB client binary file.
About the author
Real skill practice before real-world application
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Learn by doing
Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.
Follow your guide
All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.
Turn time into mastery
On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.