17CS35 Unix and Shell Programming syllabus for CS



A d v e r t i s e m e n t

Module-1 Introduction 8 hours

Introduction, Brief history. Unix Components/Architecture. Features of Unix. The UNIX
Environment and UNIX Structure, Posix and Single Unix specification. The login prompt. General
features of Unix commands/ command structure. Command arguments and options. Understanding
of some basic commands such as echo, printf, ls, who, date, passwd, cal, Combining commands.
Meaning of Internal and external commands. The type command: knowing the type of a command
and locating it. The man command knowing more about Unix commands and using Unix online
manual pages. The man with keyword option and whatis. The more command and using it with
other commands. Knowing the user terminal, displaying its characteristics and setting
characteristics. Managing the non-uniform behaviour of terminals and keyboards. The root login.
Becoming the super user: su command. The /etc/passwd and /etc/shadow files. Commands to add,
modify and delete users.

Module-2 Unix files 8 hours

Unix files. Naming files. Basic file types/categories. Organization of files. Hidden files. Standard
directories. Parent child relationship. The home directory and the HOME variable. Reaching
required files- the PATH variable, manipulating the PATH, Relative and absolute pathnames.
Directory commands – pwd, cd, mkdir, rmdir commands. The dot (.) and double dots (..) notations
to represent present and parent directories and their usage in relative path names. File related
commands – cat, mv, rm, cp, wc and od commands. File attributes and permissions and knowing
them. The ls command with options. Changing file permissions: the relative and absolute
permissions changing methods. Recursively changing file permissions. Directory permissions.

Module-3 The vi editor 8 hours

The vi editor. Basics. The .exrc file. Different ways of invoking and quitting vi. Different modes of
vi. Input mode commands. Command mode commands. The ex mode commands. Illustrative
examples Navigation commands. Repeat command. Pattern searching. The search and replace
command. The set, map and abbr commands. Simple examples using these commands.
The shells interpretive cycle. Wild cards and file name generation. Removing the special meanings
of wild cards. Three standard files and redirection. Connecting commands: Pipe. Splitting the
output: tee. Command substitution. Basic and Extended regular expressions. The grep, egrep.
Typical examples involving different regular expressions.

Module-4 Shell programming 8 hours

Shell programming. Ordinary and environment variables. The .profile. Read and readonly
commands. Command line arguments. exit and exit status of a command. Logical operators for
conditional execution. The test command and its shortcut. The if, while, for and case control
statements. The set and shift commands and handling positional parameters. The here ( << )
document and trap command. Simple shell program examples. File inodes and the inode structure.
File links – hard and soft links. Filters. Head and tail commands. Cut and paste commands. The sort
command and its usage with different options. The umask and default file permissions. Two special
files /dev/null and /dev/tty.

Module-5 Meaning of a process 8 hours

Meaning of a process. Mechanism of process creation. Parent and child process. The ps command
with its options. Executing a command at a specified point of time: at command. Executing a
command periodically: cron command and the crontab file.. Signals. The nice and nohup
commands. Background processes. The bg and fg command. The kill command. The find
command with illustrative example.
Structure of a perl script. Running a perl script. Variables and operators. String handling functions.
Default variables - $_ and $. – representing the current line and current line number. The range
operator. Chop() and chomp() functions. Lists and arrays. The @- variable. The splice operator,
push(), pop(), split() and join(). File handles and handling file – using open(), close() and die ()
functions.. Associative arrays – keys and value functions. Overview of decision making loop
control structures – the foreach. Regular expressions – simple and multiple search patterns. The
match and substitute operators. Defining and using subroutines.

Last Updated: Tuesday, January 24, 2023