Course outline for Bash Scripting
About 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