SYSTEM COMMANDS: System Commands

System Commands: week-wise syllabus, notes, short notes, and available revision material.

Ctrl K
0 resources in this course · 8 syllabus weeks

System Commands

Diploma

Complete week-wise syllabus

System Commands · 8 weeks

Week 1: Introduction to GNU/Linux and Command Line

Topics covered

  • Introduction to GNU/Linux
    • Linux operating system
    • Basic overview of GNU/Linux architecture
    • Linux distributions
    • Ubuntu environment
    • Setup Linux in Virtual Machine
  • Command Line Environment
    • Terminal and shell
    • Command structure
    • Options and arguments
    • Command execution
    • Command history
    • Basic shell navigation
  • Basic Linux Commands
    • pwd — current directory
    • ls — directory contents
    • cd — directory change
    • mkdir — creating a directory
    • rmdir — delete empty directory
    • touch — create/update file
    • cp — copy
    • mv — move/rename
    • rm — delete
    • cat, less, head, tail — viewing file contents
  • Hardware Information
    • hwinfo
    • lshw
    • lscpu
    • lsblk
    • free
    • df
    • Battery and memory information
  • Operating System Information
    • OS details
    • Kernel version
    • Installed software
    • Package information
    • Version-related commands
  • Input and Output Redirection
    • Standard input (stdin)
    • Standard output (stdout)
    • Standard error (stderr)
    • Output redirection using >
    • Append using >>
    • Input redirection using <

Expected skills: Navigate Linux terminal, run basic commands, check system information and use input/output redirection.

Week 2: Packages, File Types, Permissions and Environment Variables

Topics covered

  • Package Management
    • Package managers
    • Repositories
    • Package installation
    • Package removal
    • Package updates
    • apt update
    • apt install
    • apt remove
    • apt upgrade
    • apt search
  • File Types
    • Regular files
    • Directories
    • Symbolic links
    • Device files
    • Special files
    • File identification commands
  • File Permissions
    • Read (r)
    • Write (w)
    • Execute (x)
    • Owner, group and others
    • Permission representation
    • chmod
    • chown
    • chgrp
  • Symbolic and Numeric Permissions
    • Symbolic mode, such as u+x
    • Numeric mode, such as 755 and 644
    • Permission changes
    • Understanding access modes
  • Environment Variables
    • Shell environment
    • $HOME
    • $USER
    • $PATH
    • $SHELL
    • env
    • printenv
    • export
    • Setting and using variables

Expected skills: Managing software packages, understanding file permissions, and configuring environment variables.

Week 3: Shell Variables, File System, Processes and Remote Access

Topics covered

  • Shell Variables
    • Defining shell variables
    • Reading variable values
    • Local and environment variables
    • Variable expansion
    • Special shell variables
  • Prompt Strings
    • Understanding the shell prompt
    • Prompt customization
    • PS1
    • Escape sequences in prompts
  • Links and Inodes
    • Hard links
    • Symbolic (soft) links
    • ln
    • ln -s
    • Inode numbers
    • ls -i
    • Differences between hard and symbolic links
  • Linux File System
    • Root directory /
    • Important system directories
    • Absolute and relative paths
    • Exploring the root file system
    • Commands such as tree, find and du
  • Shell Shortcuts and Output Slicing
    • Command history
    • Tab completion
    • Keyboard shortcuts
    • cut
    • sort
    • uniq
    • wc
    • tr
  • Process Management
    • Running processes
    • Foreground and background processes
    • ps
    • top
    • jobs
    • bg
    • fg
    • kill
    • Process IDs (PID)
  • Remote Access
    • Local and remote machines
    • SSH basics
    • Connecting to a remote machine
    • Remote shell access

Expected skills: Handle shell variables, create links, manage processes and access remote systems.

Week 4: Pipes, Regular Expressions, Find, Editors and Bash Basics

Topics covered

  • Redirection and Logging
    • Redirecting output to files
    • Append operations
    • Redirecting errors
    • Logging command output
    • Combining input and output redirection
  • Pipes
    • Pipe operator |
    • Chaining commands
    • Combining output of one command with another
    • Multi-command pipelines
  • Regular Expressions
    • Literal character matching
    • Character classes
    • Wildcards and quantifiers
    • Anchors ^ and $
    • Repetition operators
    • Grouping and alternatives
    • Extended regular expressions
  • Pattern Matching with egrep
    • Searching text using patterns
    • Matching multiple patterns
    • Extracting specific lines
    • Case-insensitive matching
    • Counting matching lines
    • Inverting matches
  • File Searching with find
    • Searching by file name
    • Searching by file type
    • Searching by size
    • Searching by modification time
    • Combining conditions
    • Using -exec
  • Command-Line Editors
    • nano
    • vi / vim
    • emacs
    • Insert and command modes
    • Editing, saving and exiting
    • Basic editor configuration
  • Introduction to Bash Scripts
    • Shebang (#!/bin/bash)
    • Creating a script
    • Making a script executable
    • Running a script
    • Basic command sequences

Expected skills: Creating command workflows with pipes and redirection, performing text searches with regular expressions, and writing basic Bash scripts.

Week 5: Shell Scripting, Conditions, Loops and Scheduling

Topics covered

  • How Shell Scripts Work
    • Shell interpreter
    • Script execution
    • Executable permissions
    • Running scripts through Bash
    • Exit status
  • Variables in Scripts
    • Variable declaration
    • Variable expansion
    • Quoting
    • Command substitution
    • Arithmetic expansion
  • Command-Line Arguments
    • $0
    • $1, $2, and other positional parameters
    • $#
    • $@
    • $*
    • Passing arguments to scripts
    • Creating reusable commands
  • Conditional Statements
    • if
    • elif
    • else
    • fi
    • Numeric comparisons
    • String comparisons
    • File tests
    • Logical operators
  • Loops
    • for
    • while
    • until
    • break
    • continue
    • Iterating over files and command output
  • Functions
    • Function definition
    • Function calls
    • Parameters
    • Return status
    • Reusing code
  • Task Scheduling
    • Startup tasks
    • Periodic tasks
    • Recurring jobs
    • cron
    • crontab
    • Scheduling syntax
    • Basic task automation

Expected skills: Creating automated programs using variables, arguments, conditions, loops and functions in shell scripts.

Week 6: AWK and SED for Text Processing

Topics covered

  • Introduction to AWK
    • AWK as a text-processing language
    • Records and fields
    • Field separators
    • Input files
    • Basic AWK syntax
    • awk '{print $1}'
  • AWK for Data Processing
    • Selecting specific columns
    • Filtering records
    • Conditional processing
    • Field-based operations
    • Computing sums, averages and counts
    • Processing CSV-like data
  • AWK Programming
    • Variables
    • Arithmetic expressions
    • Conditions
    • Loops
    • Built-in functions
    • BEGIN and END blocks
    • Associative arrays
  • Regular Expressions in AWK
    • Pattern-based filtering
    • Matching fields
    • Combining patterns and conditions
    • Extracting relevant records
  • Introduction to SED
    • Stream editor
    • Line-by-line processing
    • Substitution command s
    • Search and replace
    • Global replacement
    • Address-based editing
  • Advanced SED Substitution
    • Regular expressions in SED
    • Capture groups
    • Backreferences
    • Placeholders
    • Deleting and printing selected lines
    • In-place editing

Expected skills: Analyzing structured text files with AWK and performing automated text replacement and transformation with SED.

Week 7: Make, File Packaging and Networking

Topics covered

  • Introduction to Make
    • Purpose of the make utility
    • Makefiles
    • Targets
    • Dependencies
    • Recipes and actions
    • Running make commands
  • Build Automation
    • Dependency-based execution
    • Updating only required targets
    • Conditional compilation
    • Passing shell variables to Make
    • Automating repetitive build tasks
  • File Compression and Packaging
    • tar
    • zip
    • unzip
    • gzip
    • gunzip
    • bzip2
    • xz
    • Creating archives
    • Extracting files
    • Comparing compression formats
  • Networking Fundamentals
    • Network interfaces
    • IP addresses
    • IPv4 basics
    • Localhost
    • Private and public IP addresses
    • Intranet concepts
  • Ports and Services
    • Port numbers
    • Common services
    • Client-server communication
    • TCP and UDP basics
    • Listening ports
  • DNS and Domain Names
    • Domain names
    • DNS resolution
    • Name-to-IP mapping
    • DNS lookup commands
  • Network Diagnostics
    • ping
    • ip
    • ss
    • netstat
    • curl
    • traceroute
    • nslookup / dig
  • Log Analysis
    • Reading log files
    • Searching errors
    • Combining commands for log analysis
    • Writing small shell-based analysis workflows

Expected skills: Automate build processes with Makefiles, manage compressed archives, and diagnose connectivity with common networking commands.

Week 8: RAID, Git and Collaborative Development

Topics covered

  • RAID
    • Introduction to RAID
    • Data redundancy
    • Handling hardware failures
    • RAID levels and their basic concepts
    • Reliability and storage availability
  • Introduction to Version Control
    • Version control systems
    • Git fundamentals
    • Local and remote repositories
    • Git workflow
    • Tracking changes
  • Git Commands
    • git init
    • git clone
    • git status
    • git add
    • git commit
    • git log
    • git diff
    • git push
    • git pull
    • git fetch
  • Branching and Merging
    • Creating branches
    • Switching branches
    • Merging branches
    • Resolving merge conflicts
    • Managing local and remote changes
  • GitHub Collaboration
    • Forking repositories
    • Pull requests
    • Creating and reviewing pull requests
    • Personal access tokens
    • Issues and issue resolution
    • Public repository workflows
    • Private repository collaboration
    • Approval workflows
    • Team-based development

Expected skills: Manage projects through Git and GitHub, use branches and pull requests, and develop code collaboratively with the team.

Quick revision map

System Commands topic distribution

Week 1: Introduction to GNU/Linux and Command Line

1 week

GNU/Linux, Command Line Environment, Basic Linux Commands, Hardware Information, Operating System Information, Input and Output Redirection

Week 2: Packages, File Types, Permissions and Environment Variables

1 week

Package Management, File Types, File Permissions, Symbolic and Numeric Permissions, Environment Variables

Week 3: Shell Variables, File System, Processes and Remote Access

1 week

Shell Variables, Prompt Strings, Links and Inodes, Linux File System, Shell Shortcuts and Output Slicing, Process Management, Remote Access

Week 4: Pipes, Regular Expressions, Find, Editors and Bash Basics

1 week

Redirection and Logging, Pipes, Regular Expressions, Pattern Matching with `egrep`, File Searching with `find`, Command-Line Editors, Bash Scripts

Week 5: Shell Scripting, Conditions, Loops and Scheduling

1 week

How Shell Scripts Work, Variables in Scripts, Command-Line Arguments, Conditional Statements, Loops, Functions, Task Scheduling

Week 6: AWK and SED for Text Processing

1 week

AWK, AWK for Data Processing, AWK Programming, Regular Expressions in AWK, SED, Advanced SED Substitution

Week 7: Make, File Packaging and Networking

1 week

Make, Build Automation, File Compression and Packaging, Networking Fundamentals, Ports and Services, DNS and Domain Names, Network Diagnostics, Log Analysis

Week 8: RAID, Git and Collaborative Development

1 week

RAID, Version Control, Git Commands, Branching and Merging, GitHub Collaboration

For quizzes, assignments and exams, follow the current term's course portal and official assessment announcements.

Practise syntax and output tracing for grep/egrep, regular expressions, find, Bash, AWK and SED, especially in Weeks 4–6.

IIT Madras official course page