Book Image

Learn Linux Quickly

By : Ahmed AlKabary
Book Image

Learn Linux Quickly

By: Ahmed AlKabary

Overview of this book

Linux is one of the most sought-after skills in the IT industry, with jobs involving Linux being increasingly in demand. Linux is by far the most popular operating system deployed in both public and private clouds; it is the processing power behind the majority of IoT and embedded devices. Do you use a mobile device that runs on Android? Even Android is a Linux distribution. This Linux book is a practical guide that lets you explore the power of the Linux command-line interface. Starting with the history of Linux, you'll quickly progress to the Linux filesystem hierarchy and learn a variety of basic Linux commands. You'll then understand how to make use of the extensive Linux documentation and help tools. The book shows you how to manage users and groups and takes you through the process of installing and managing software on Linux systems. As you advance, you'll discover how you can interact with Linux processes and troubleshoot network problems before learning the art of writing bash scripts and automating administrative tasks with Cron jobs. In addition to this, you'll get to create your own Linux commands and analyze various disk management techniques. By the end of this book, you'll have gained the Linux skills required to become an efficient Linux system administrator and be able to manage and work productively on Linux systems.
Table of Contents (24 chapters)

Passing arguments to scripts

Instead of reading input from users, you can also pass arguments to a bash script. For example, let's create a bash script named size2.sh that does the same thing as the script size.sh, but instead of reading the file from the user, we will pass it to the script size2.sh as an argument:

elliot@ubuntu-linux:~$ cat size2.sh 
#!/bin/bash
filesize=$(du -bs $1| cut -f1)
echo "The file size is $filesize bytes"

Now let's make the script executable:

elliot@ubuntu-linux:~$ chmod a+x size2.sh

Finally, you can run the script:

elliot@ubuntu-linux:~$ size2.sh /home/elliot/size.sh 
The file size is 128 bytes

You will get the same output as size.sh. Notice that we provided the file path
/home/elliot/size.sh as an argument to the script size2.sh.

We only used one argument in the script size2.sh, and it is referenced by $1. You can pass multiple arguments as well; let's create another script size3.sh that takes two files (two arguments) and outputs the...