• phone icon +44 7459 302492 email message icon info@uplatz.com
  • Register
Job Meter = High

Unix and Shell Scripting

5 Hours
Self-paced Training (pre-recorded videos)
USD 17 (USD 140)
Save 88% Offer ends on 31-Dec-2023
Unix and Shell Scripting course and certification
182 Learners

About this Course
UNIX is a multitasking and multiuser computer operating system widely used for servers, desktops and laptops. It was derived from the original AT & T Unix starting in the 1970s by Ken Thompson, Dennis Ritchie and others. Previously, UNIX operating system worked on Command Line Interface but now there have been developments for GUI or Graphical User Interface on UNIX systems.  A UNIX operating system is made up of 3 parts, namely: the kernel, the shell and the programs.

Shell Scripting: A shell in a UNIX-like Operating System is a command-line interpreter which gathers inputs from the user and executes the programs based on those inputs. It is an environment where a user can run commands, programs, and shell scripts.
Shell scripting in the UNIX operating system can be defined as writing a series of commands that is to be executed by one of the following shells in the UNIX platform:

The Bourne Shell
 The C Shell
 The Korn Shell
 The GNU Bourne-Again Shell

Key topics on the UNIX and Shell Programming Course at Uplatz includes:

Ø  Introduction to the UNIX Operating System
Ø  UNIX System Architecture
Ø  Accessing UNIX server
Ø  File System Layout in UNIX
Ø  UNIX Command usage
Ø  UNIX Directory Structure/Hierarchy
Ø  Editors and UNIX Commands
Ø  Basics of Shell Programming
Ø  Practical examples and shell scripting programs, etc.

On successful completion of the Course, the buyer will be awarded a Certificate from Uplatz.


Unix and Shell Scripting

Course Details & Curriculum

Unix and Shell Scripting course curriculum

·         Introduction to Unix
·         What is an Operating System
·         Features and benefits of Unix
·         Basic concepts of a Multi user system
·         Multi Programming, Time Sharing, Multi Tasking
·         Components of Unix
·         Unix Utilities, Application Software
·         Editors in Unix
·         Processes and related commands
·         Unix commands
·         Filters and general purpose commands
·         Introduction to Shell
·         What is Shell scripting?
·         Programming constructs
·         Language constructs
·         Programming the Shell – part 1
·         Programming the Shell – part 2
·         Miscellaneous
·         Example scripts


Unix and Shell Scripting

Career Path

Unix Administrator 
Unix Shell Scripting Developer

Job Prospects


Unix and Shell Scripting Interview Questions


1: What is a shell?

Shell is an interface between the user and the kernel. Even though there can be only one kernel; a system can have many shell running simultaneously. So, whenever a user enters a command through the keyboard, the shell communicates with the kernel to execute it and then display the output to the user.


2: What are the different types of commonly used shells on a typical Linux system?

csh,ksh,bash,Bourne . The most commonly used and advanced shell used today is "Bash" .


3: What is the equivalent of a file shortcut that we have a window on a Linux system?

Shortcuts are created using "links" on Linux. There are two types of links that can be used namely "soft link" and "hard link".


4: What is the difference between soft and hard links?

Soft links are link to the file name and can reside on different filesytem as well; however hard links are link to the inode of the file and have to be on the same filesytem as that of the file. Deleting the original file makes the soft link inactive (broken link) but does not affect the hard link (Hard link will still access a copy of the file)


5: How will you pass and access arguments to a script in Linux?

Arguments can be passed as:

scriptName "Arg1" "Arg2"…."Argn" and can be accessed inside the script as $1 , $2 .. $n


6: What is the significance of $#?

$# shows the count of the arguments passed to the script.


7: What is the difference between $* and $@?

$@ treats each quoted arguments as separate arguments but $* will consider the entire set of positional parameters as a single string.


8: Use sed command to replace the content of the file (emulate tac command)


if cat fille




Then O/p should be



sed '1! G; h;$!d' file1

Here G command appends to the pattern space,

h command copies pattern buffer to hold buffer

and d command deletes the current pattern space.


9: Given a file, replace all occurrence of word "ABC" with "DEF" from 5th line till end in only those lines that contains word "MNO"

sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'


10: Given a file, write a command sequence to find the count of each word.

tr –s  "(backslash)040" <file1|tr –s  "(backslash)011"|tr "(backslash)040 (backslash)011" "(backslash)012" |uniq –c

where "(backslash)040" is octal equivalent of "space"

"(backslash)011" is an octal equivalent of "tab character" and

"(backslash)012" is an octal equivalent of the newline character.


11: How will you find the 99th line of a file using only tail and head command?

tail +99 file1|head -1


12: Print the 10th line without using tail and head command.

sed –n '10p' file1


13: In my bash shell I want my prompt to be of format '$"Present working directory":"hostname"> and load a file containing a list of user-defined functions as soon as I log in, how will you automate this?

In bash shell, we can create ".profile" file which automatically gets invoked as soon as I log in and write the following syntax into it.

export PS1='$ `pwd`:`hostname`>' .File1

Here File1 is the file containing the user-defined functions and "." invokes this file in current shell.


14: Explain about "s" permission bit in a file?

"s" bit is called "set user id" (SUID) bit.

"s" bit on a file causes the process to have the privileges of the owner of the file during the instance of the program.

For example, executing "passwd" command to change current password causes the user to writes its new password to shadow file even though it has "root" as its owner.


15: I want to create a directory such that anyone in the group can create a file and access any person's file in it but none should be able to delete a file other than the one created by himself.

We can create the directory giving read and execute access to everyone in the group and setting its sticky bit "t" on as follows:

mkdir direc1

 chmod g+wx direc1

 chmod +t direc1


16: How can you find out how long the system has been running?

We can find this by using the command "uptime".


17: How can any user find out all information about a specific user like his default shell, real-life name, default directory, when and how long he has been using the system?

finger "loginName" …where loginName is the login name of the

user whose information is expected.


18: What is the difference between $$ and $!?

$$ gives the process id of the currently executing process whereas $! Shows the process id of the process that recently went into the background.


19: What are zombie processes?

These are the processes which have died but whose exit status is still not picked by the parent process. These processes even if not functional still have its process id entry in the process table.


20: How will you copy a file from one machine to other?

We can use utilities like "ftp," "scp" or "rsync" to copy a file from one machine to other.

E.g., Using ftp:

FTP hostname

>put file1


Above copies, file file1 from the local system to destination system whose hostname is specified.


21: I want to monitor a continuously updating log file, what command can be used to most efficiently achieve this?

We can use tail –f filename. This will cause only the default last 10 lines to be displayed on std o/p which continuously shows the updating part of the file.


22: I want to connect to a remote server and execute some commands, how can I achieve this?

We can use ssh to do this:

ssh username@serverIP -p sshport


ssh root@ -p 22

Once above command is executed, you will be asked to enter the password


23: I have 2 files and I want to print the records which are common to both.

We can use "comm" command as follows:

comm -12 file1 file2 ... 12 will suppress the content which are

unique to 1st and 2nd file respectively.


24: Write a script to print the first 10 elements of Fibonacci series.




echo $a

echo $b

for I in 1 2 3 4 5 6 7 8





echo $b



25: How will you connect to a database server from Linux?

We can use isql utility that comes with open client driver as follows:

isql –S serverName –U username –P password

26: What are the 3 standard streams in Linux?

0 - Standard Input1 - Standard Output2 - Standard Error


27: I want to read all input to the command from file1 direct all output to file2 and error to file 3, how can I achieve this?

command file2 2>file3


28: What will happen to my current process when I execute a command using exec?

"exec" overlays the newly forked process on the current process; so when I execute the command using exec, the command gets executed on the current shell without creating any new processes.

E.g., Executing "exec ls" on command prompt will execute ls and once ls exits, the process will shut down


29: How will you emulate wc –l using awk?

awk 'END {print NR} fileName'


30: Given a file find the count of lines containing the word "ABC".

grep –c "ABC" file1




Didn't find what you are looking for?  Contact Us