- Lab
- A Cloud Guru
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.
Path 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 commandwebstat
at the prompt, you will see the output of the commandsystemctl status httpd.service
.User-created aliases and functions should go in your local
~/.bashrc
file. Using the commands listed, append the following alias to your~/.bashrc
file: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
.bashrc
file using the “dot” (.
) command:. ~/.bashrc
Now that the Bash environment has been refreshed with the new alias from our
~/.bashrc
file, we can use our new alias:webstat
We 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
~/.bashrc
file 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
.bashrc
file again:. .bashrc
-
Challenge
Use the `webspace` function.
Since the
/var/www/html
directory 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 thewebspace
function. To view the size and contents of the main public web page, enter this command:webspace main
This will print out the contents of the
/var/www/html/main
directory and how much disk space this directory uses. The$1
used in your function is a positional argument. When you typewebspace main
at the prompt, the wordmain
is replaced by the$1
argument, thus providing the output of the command for the/var/www/html/main
directory.Try the same command again, this time for the
customer
directory on the web server:webspace customer
You should see more directories in the output, plus a 5 MB client binary file.
What's a lab?
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.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.