Duration: 5 days – 35 hrs
Overview
Shell Scripts are supported by Unix and Linux OS. Bash Shell Scripting course will greatly enhance your skills and capabilities as a Linux power user. Koenig offers this Bash Shell Scripting course for professionals who have working knowledge of Linux or equivalent experience. Shell Scripting Training allows professionals to drive more power from a Linux operating system. Shell scripts combine to act as batch files, and are used for customization, automation, enhancement of performance and remote task management. Learn to create and debug complex scripts to automate operations and ease out your Linux administration load.
Objectives
- Understanding the shell structure and its environment
- Learning the key features and fundamentals of bash scripting
- Carrying out arithmetic operations in a shell script
- Creating interactive scripts
- Incorporating different functionalities including flow control and decision making
- Understanding and implementing various functions
Audience
- System administrators
- Network Administrators
- Programmers
- Support Professionals
- Linux users
Pre- requisites
- Any candidate with basic knowledge of computer and networking
Course Content
Overview
- UNIX History
- UNIX Principles
- GNU Project / FSF
- GPL – GNU General Public License
- Linux Origins
- Why Linux?
- Recommended Hardware Specifications
- Local Logins
- Virtual Consoles
- Changing Your Password
Running Commands and Getting Help
- Running Commands
- Some Simple Commands
- Getting Help
- The whatis Command
- The –help Option
- Reading Usage Summaries
- The man Command
- Navigating man Pages
- The info Command
- Navigating info Pages
- Extended Documentation
- Red Hat Documentation
- Hands-on Lab: Getting Help with Commands
Browsing the Filesystem
- Linux File Hierarchy Concepts
- Some Important Directories
- Other Important Directories
- Current Working Directory
- File and Directory Names
- Absolute Pathnames
- Relative Pathnames
- Changing Directories
- Listing Directory Contents
- Copying Files and Directories
- Copying Files and Directories: The Destination
- Moving and Renaming Files and Directories
- Moving and Renaming Files and Directories: The
- Destination
- Creating and Removing Files
- Creating and Removing Directories
- Using Nautilus
- Moving and Copying in Nautilus
- Determining File Content
- Viewing an Entire Text File
- Viewing Text Page by Page
The bash Shell
- bash Introduction
- bash Heritage and Features
- Command Line Shortcuts: File Globbing
- Command Line Shortcuts: The Tab Key
- Command Line Shortcuts: history
- Command Line Expansion: Tilde
- Command Line Expansion: Variable and String
- Command Line Expansion: Command and Math
- Protecting from Expansion: Backslash
- Protecting from Expansion: Quotes
- History Tricks
- Command Editing Tricks
- Command Editing Tricks: Editing Modes
- gnome-terminal
Standard I/O and Pipes
- Standard Input and Output
- Redirecting Input and Output
- Redirecting Output
- Redirecting Standard Output
- Overwriting or Appending
- Redirecting Standard Error
- Redirecting Both Standard Output and Error
- Redirecting Input
- Using Pipes to Connect Processes
- Useful Pipe Targets
- tee
- Hands-on Lab: Standard I/O and Pipes
Users, Groups, and Permissions
- The Linux Security Model
- Users
- Groups
- The root User
- Linux File Security
- Permission Types
- Examing Permissions
- Interpreting Permissions
- Examining Directories
- Linux Process Security
- Changing Permissions- Symbolic Method
- Changing Permissions- Numeric Method
- Changing Permissions- Nautilus
- Hands-on Lab: File Permissions
vi and vim Editor Basics and Printing
- Overview of vi and vim
- Starting vi and vim
- Three Modes of vi and vim
- Cursor Movement
- Entering Insert Mode
- Leaving Insert Mode:
- Change, Delete, and Yank
- Put (paste)
- Undoing Changes
- Searching for Text
- Command-Mode Tricks
- Saving and Exiting: ex mode
- Printing in Linux
- Printing Commands
- Printing Utilities
The Linux Filesystem In-Depth
- Partitions and Filesystems
- Inodes
- Directories
- Inodes and Directories
- cp and Inodes
- mv and Inodes
- rm and Inodes
- Symbolic (or Soft) Links
- Hard Links
- The Seven Fundamental Filetypes
- Checking Free Space
- Removable Media
- Mounting CDs and DVDs
- Mounting USB Media
- Mounting Floppy Disks
- Formatting Floppy Disks
- Why Archive Files?
- Creating an Archive
- Inspecting Archives
- Extracting an Archive
- Why Use File Compression?
- Compression Utilities
- Using Compression
- Compressing Archives
- tar to Unformatted Floppies
Configuring the bash Shell
- Configuring the bash Shell
- Variables
- Configuring the Shell: Local Variables
- Common Local Variables
- The PS1 Local Variable
- Aliases
- Other Shell Configuration Methods
- Configuring Commands: Environment Variables
- Common Environment Variables
- The TERM Environment Variable
- The PATH Environment Variable
- How the Shell Expands the Command Line
- Shell Startup Scripts
- Login Shells
- Startup Scripts: Order of Execution
- /etc/profile
- /etc/profile.d
- ~/.bash_profile and ~/.bashrc
- ~/.bash_logout
- Module 10: Advanced Topics in Users, Groups,
- and Permissions
- User and Group ID Numbers
- /etc/passwd, /etc/shadow, and /etc/group Files
- System Users and Groups
- Changing Your Identity
- User Information Commands
- Default Permissions
- Special Permissions
- Special Permissions for Executables
- Special Permissions for Directories
- Module 11: Advanced Uses of the vi and vim
- Editors
- File Repositioning
- Screen Repositioning
- Filtering
- ex mode: Search and Replace
- Visual Mode
- Advanced Reading and Saving
- Configuring vi and vim
- Expanding your Vocabulary
- A Peek at the Appendix
Introduction to String Processing
- head
- tail
- tail – continued
- wc
- sort
- uniq
- cut
- Other String Processing Tools
- Version Comparison with diff
- Spell Checking with aspell
- Formatting Tools
- Module 13: String Processing with Regular
- Expressions
- Pattern Matching with Regular Expresions
- Wildcard Characters
- Modifiers
- Anchors
- regex Combinations
- Regular Expressions – Examples
- Quote your regex's!
- grep
- sed
- Using sed
- less and slocate
- Regular Expressions in vi and vim
- Extended Regular Expressions
- Extended regex Syntax
- awk
- Using awk
Finding and Processing Files
- slocate
- slocate Examples
- find
- Basic find Examples
- find and Logical Operators
- find and Permissions
- find and Numeric Criteria
- find and Access Times
- Executing Commands with find
- find Execution Examples
- The Gnome Search Tool
Investigating and Managing Processes
- What is a Process?
- How Processes Are Created
- Process Ancestry
- Process States
- Viewing Processes
- Sending Signals to Processes
- Terminating Processes
- Altering Process Scheduling Priority
- Altering Process Scheduling Priority- continued
- Interactive Process Management Tools
- Running a Process in the Foreground
- Running a Process in the Background
- Suspending a Process
- Listing Background and Suspended Jobs
- Resuming Suspended Jobs
- Compound Commands
- Scheduling a Process to Execute Later
- Scheduling Periodic Processes
- Using cron
- Crontab File Format
- Module 16: Network Clients
- wget
- Email and Messaging
- Non-GUI Mail Clients
- Remote Access and File Transfer
- ssh: Secure Shell
- scp: Secure Copy
- telnet and the "r" Services
- rsync
- lftp
- Network Diagnostic Tools