LINUX & SHELL PROGRAMMING

Paper Code: 
25DCAI 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

 

25DCAI 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

 

Unit I: 

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, case  control structure. Loop control structure  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
  5. https://ubuntu.com/tutorials/command-line-for-beginners

 

     

    Academic Year: