Course outline for Bash Scripting

Pre-requisites for learning Bash Scripting

  • The participants must be comfortable with programming constructs in any one language

Lab Setup

  • Hardware Configuration
    • 2GB of free RAM, 20GB of free disk space and full network connectivity
  • Software Configuration
    • Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)

Duration

  • 2-5 days

Training Mode

Online training for Bash Scripting

We provide:

  • Instructor led live training
  • Self-paced learning with access to expert coaches
  • 24x7 access to cloud labs with end to end working examples

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for Bash Scripting

Classroom sessions are conducted in client locations in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR

Note: Classroom training is for corporate clients only

Detailed Course Outline for Bash Scripting

Introduction to Bash

  • What is a shell?
  • What is Bash?

Basics of Bash

  • Invoking Bash
  • Simple Commands
  • Pipelines
  • Tilde Expansion
  • Brace expansion
  • Looping constructs
    • until
    • while
    • for
  • Using seq command
  • Conditional constructs
    • if statement
    • case statement
    • select statement
  • Redirections
  • Grouping commands
  • Declaring variable
  • Using sleep command
  • Using export command
  • Common commands like date, ls, wc, w, locate, find
  • Using Aliases
  • Using backtick

Filesystem Management

  • Moving and Copying files and directories
  • Mounting and unmounting filesystems
  • Linking files
  • Absolute and relative file paths
  • Partitioning
  • Creating a filesystem
  • Labeling a filesystem
  • Swap partition
  • Log files
  • Configuration files
  • Inodes
  • rsync

Process Management

  • Process Lifecycle
  • Listing running processes
  • Listing process tree
  • Killing a process
  • Suspending a process
  • Moving
  • Signals
  • Cron scripts
  • Exit code
  • Load averages
  • Daemons and Services

User Management

  • Logging in
  • Changing password
  • Users, groups and permissions
  • suid/sgid/sticky bits
  • Creating and deleting users and groups
  • Owner of a process
  • Elevating permissions
  • sudo user
  • who

Network Management

  • Network interfaces
  • DNS lookups
  • ping
  • netstat
  • SSH
  • SSH port forwarding
  • screen
  • scp

Memory Management

  • Checking free memory
  • Checking memory consumption of processes
  • Finding out more about the RAM

I/O Redirection

  • Read
  • Redirecting input
  • Redirecting output
  • Appending to redirect output

Environment Variables

  • HOME
  • USER

Some popular external programs

  • sed
  • wk
  • grep
  • man
  • info

Bash Startup Files

  • .bashrc
  • .bash_profile
  • .bash_login
  • .bash_logout

Shell Arithmetic

  • Use of let, expr
  • Double parantheses $(( ))
  • Arithmetic expansion

Other Shells

  • zsh
  • fish