Applications Open now for May 2024 Batch | Applications Close: May 26, 2024 | Exam: Jul 07, 2024

Applications Open now for May 2024 Batch | Applications Close: May 26, 2024 | Exam: Jul 07, 2024

Diploma Level Course

System Commands

by Prof. Gandham Phanikumar

Course ID: BSSE2001

Course Credits: 3

Course Type: Programming

Pre-requisites: None

Course structure & Assessments

8 weeks of coursework, weekly online assignments, 2 in-person invigilated quizzes, 1 in-person invigilated end term exam. For details of standard course structure and assessments, visit Academics page.

WEEK 1 Introduction to GNU/Linux OS. Setting up and running Linux environment. The command line environment. Knowing hardware of your machine Information - commands such as hwinfo, lshw, df, free etc. Diagnostics - commands to fetch hardware information such as battery state, memory modules etc., Knowing the OS and software of your machine Commands to get details about operating system, versions etc. Packages - installed / available Input / output redirection.
WEEK 2 Introduction to packages and repositories. Using 'apt' commands to manage packages. File types and related commands. Understanding file permissions and access modes. Managing file permissions through symbolic and numeric mode. Concept of environment variables. Important environment variables such as $HOME, $USER and $PATH
WEEK 3 Managing shell variables. Prompt strings. Symbolic links and hard links, brief introduction to inode numbers. Exploring the root file system and related commands. Using shell shortcuts with commands. Slicing output. Managing programs currently running on the machine. Shell access to a local / remote machine.
WEEK 4 Redirection to script, variable and for logging purpose. Using pipes. Introduction to regex; using regex patterns and egrep. Using egrep to extract useful information from files. find command and its uses - patterns to pick specific files in a folder, using exec Command line editors (nano, vi, emacs - syntax highlighting & prompting, configuring options) Writing and running simple Bash scripts.
WEEK 5 How are shell scripts interpreted? Using variables in scripts. Passing command line arguments to scripts, to create your own commands. More shell programming. Writing conditional statements using if /else / fi. Introduction to loops. Using functions Configuring startup / periodic / recurring tasks
WEEK 6 Text processing using AWK language. Using awk to run statics on a data file. Using regex within awk. Awk as a programming language Introduction to 'sed' – another text processing utility. Line by line processing to replace a regex pattern with a string. Use of place holders for matching regex patterns for use in replacing strings.
WEEK 7 Introduction to make utility; concept of target and dependency; actions performed by make; conditional compilation; passing shell variables to make; File packaging utilities such as compress, tar, zip, gzip, bzip2, xz. Networking concepts Introduction to IP addresses. Concept of localhost. Intranet and public addresses. Concept of ports and services that run on these ports. Concept of DNS and Domain names. Network diagnostics using tools and commands. Scripting a tool for analysis of logs.
WEEK 8 Introduction to RAID for handling hardware failure. Introduction to version control Git as a version control system: Overview of Git workflow Branches, repositories, forks, etc. Creating and merging pull requests. Personal access tokens. Managing changes as local and remote. Working demo of a public repository using Git Approval workflow How a team collaborates on the private repository in an organization. Managing pull requests for the owner, raising issues and resolving them.
+ Show all weeks

About the Instructors

Prof. Gandham Phanikumar
Professor, Metallurgical and Materials Engineering, IIT Madras

Prof. Gandham Phanikumar's doctoral work is on heat transfer, fluid flow and solute transfer during laser processing of dissimilar metals. After joining IIT Madras in 2005, he has been teaching a UG core course on transport phenomena for several years. His research continues to involve concepts of transport phenomena in materials processing.

  less