LINUX & SHELL PROGRAMMING

Paper Code: 
24DCAI 702B
Credits: 
06
Periods/week: 
12
Max. Marks: 
100.00
Objective: 

Course Objectives:

The course will enable the students to

  1. Work with basic commands of Linux
  2. Implement various functionalities through shell scripting
  3. Demonstrate virtual machine.

 

Course Outcomes: 

Course

Learning outcome

(at course level)

Learning and teaching strategies

Assessment Strategies

Course Code

Course

title

 

24DCAI 702B

 

LINUX & SHELL PROGRAMMING

(PRACTICAL)

CO109. Examine the fundamental concepts of the operating system.

CO110. Elaborate the architecture of the Linux operating system and the reason for open source.

CO111. Apply the basic commands of Linux to manage files and file system

CO112. Examine redirection, pipes, filters and control statement to develop shell scripts for diverse problems.

CO113. Apply AWS Basics related with Account Setup, Launching VMs on AWS Cloud.

CO114. Contribute effectively in course-specific interaction

 

Approach in teaching:

Discussions, Demonstrations

 

Learning activities for the students:

 

Self-learning assignments, Practical questions

Class test, Quiz, Practical Assignments, Semester end examinations

 

Contents:

●         Introduction to Operating Systems, history, functions and types of              operating  system.

●         Process Management: Basic Concepts of process and Process         Scheduling, Operation on Processes.

●         Memory Management: Basic Concepts of Logical versus Physical Address space, Swapping, Contiguous allocation (fragmentation), Paging, Segmentation.

●         Introduction of Various Linux Distribution (Red Hat Enterprise Linux, Cent OS, Fedora Projects, Debian Linux, Ubuntu, etc.), GNU-Linux connection.

●         Linux Installation, Dual booting and Virtual machines

●         Virtualization (Virtualbox, VMware, Hyper-V,...)

●         Creating a new Virtual machine

●         Configuring the VM

●         Linux GUI, Logging in, Desktop Customization.

●         General Purpose Utilities in Linux (date, cal, who, tty, uname,                       passwd, bc,script, echo, logging out).

●         Linux File System: file types, file inode, Home directory and Current             directory

●         Navigating file system- pwd, cd, mkdir, rmdir,ls.

●         Handling regular/ordinary files-cat, cp, mv, wc, rm, cmp.

●         Basic file attributes- file permissions, changing permissions.

●         Redirection & Pipes

●         Simple filters- head, tail, cut, paste, sort, uniq, tr.

●         Regular expression-Grep utility, Shell command line, redirection,                   pipeline, split  output, tee.

●        Working with Linux Process: Process, Shell process, Process spawning - parent      and child process, Process attributes - pid, ppid, Init Process, User process & System process, ps with options.

●         The Linux Environment: Environment variable vs Local variables, set            command,    env command, SHELL, HOME, PATH, LOGNAME, PS1,              PS2, history, ! and ~

●         Types of Text editors, using vi editor, prompt character, correcting                typing errors.

●         Simple filters Head tail sort cut paste

●         grep & sed command

●         Basic shell programming Interactive scripts, shell variables,                         assigning values to variables,Positional parameters, command line               arguments, Arithmetic in shell script, Decision taking-if else, nested             if, file tests, string tests, casecontrol structure. Loop control structur             while and for.

●         Basics of System Administration: Root login-su User management -               UID, GID, useradd, usermod, userdel Discs – Du, df

●        Linux System Administration: creating user account, assigning groups on user creation. User password management, modifying user account, Group  password and login, Administrating Group     with gpasswd command, modifying and deleting groups

●         Introduction to AWS: Getting Started with AWS, Basic Account                    Management Setting, Launching VM on cloud platform (AWS)

 

 

 

 

ESSENTIAL READINGS: 

Suggested text books:

 

  1. Silbersachatz and P.Galvin, “Operating System Concepts 9th Edition- New Delhi: Wiley India- 2011.
  2. Sumitabha Das, “UNIX Concepts and Applications”, Tata McGraw Hill.

 

REFERENCES: 

Suggested Reference Books:

 

1.     Mark G. Sobell, “A Practical Guide to Linux Commands, Editors and Shell Programming” Pearson Education.

2.     Madnick E., Donovan J., “Operating Systems”, Tata McGraw Hill, 2001

3.     B. W. Kernighan & R. Pike, “The UNIX Programming Environment”, PHI.
 

Reference Journals:

 

1.     Journal of Operating Systems Development & Trends, ISSN: 2454-9355

2.     International Journal of Reconfigurable Computing, hindawi Journals. ISSN: 1687-7195 (Print)

 

 

e-Resources including links

 

1.     https://www.linuxjournal.com/

2.     https://spoken-tutorial.org/tutorial-search/?search_foss=Linux&search_language=English

3.     https://spoken-tutorial.org/tutorial-search/?search_foss=Linux+for+Sys-Ads&search_language=English

4.     https://www.javatpoint.com/linux-tutorial

https://ubuntu.com/tutorials/command-line-for-beginners

Academic Year: