Course Objectives:
The course will enable the students to
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)
Suggested text books:
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