COURSE DESCRIPTION
Much of the underlying strength of Linux derives from its large collection of text-based tools and utilities, in conjunction with a powerful command and scripting language called the shell. Taken together, this toolset provides a high-level and astonishingly productive scripting environment in which all manner of solutions can be developed by using tools in appropriate combination. These range from simple automation of routine administrative tasks to post-processing, filtering and report generation from system log files or other structured data sources.
This 3-day hands-on course shows you how to use this powerful tool-building philosophy by focusing on the bash shell as a programming language, and on many of the key utilities and text filters. You'll also learn how to read, debug and modify real-world scripts within a Linux distribution. Red Hat Linux is used as a platform for hands-on exercises in the course; however the course is not strongly oriented towards any specific distribution.
INTENDED AUDIENCE
The course is valuable for anyone who wishes to become a "power user" of linux at the command line. It will improve the productivity of system administrators, developers, network and database managers, in fact anyone who uses linux regularly. Attendees should have some previous experience using Linux at the command line -- our 2-day course "Introduction to Linux" provides ideal background. Prior exposure to a programming language would also be an advantage.
KEY SKILLS
After completing this course you will be able to:
* Increase your productivity by using Linux tools effectively
* Read, understand and modify existing Linux shell scripts
* Write shell scripts to automate administrative tasks
* Search, sort, process and reformat text using filters
* Construct bespoke solutions using tools in combination
COURSE OUTLINE
CHAPTER 1: Basic utilities
Simple filters: cat, wc, head, tail, tr, uniq...
Sorting and searching tools: find, sort, grep, wildcards
System reporting tools: ls, du, df, ps, netstat, lsof, date ...
Stream editing with sed
Building solutions by combining tools
CHAPTER 2: Creating Shell Scripts
How to create a script
Writing and reading with echo and read
Passing arguments (positional parameters) to a script
Built-in variables and environment variables
Redirecting input and output
CHAPTER 3: Searching and matching text with regular expressions
Regular Expression syntax
Examples using grep
Other contexts for using regular expressions
Substitutions using tagged regular expressions in sed and vi
CHAPTER 4: Flow control in the shell
Conditional execution with if ... else
Testing exit status of a command
Testing file properties
Looping with for, while and until
Multiway branching using case
CHAPTER 5: Advanced shell features
Defining functions and aliases
Command substitution
Structuring data with arrays
Command sequencing and grouping
String operations
Writing arithmetic expressions
Handling and sending signals: trap and kill
CHAPTER 6: Using awk to process structured input
How awk processes lines and fields
Patterns and actions
Variables, operators and functions
Formatted output
Looping and branching in awk
CHAPTER 7: Putting it all together
Using pipes and command substitution
Choosing the right tool for the job
Incremental development of solutions
Some common idioms
COURSE INSTRUCTOR
|
Dr. Chris Brown has been using UNIX as a software developer and system
administrator since its pioneering days over 30 years ago, and has used
Linux professionally and at home for about 10 years. He
has written hands-on courses in UNIX/Linux system programming, network
programming, PHP, and distributed computing, and has edited and provided
instructional design support for many others. |
|









