Linux Shell Scripting, Tools and Utilities
Course
In Carshalton
Description
-
Type
Course
-
Location
Carshalton
-
Duration
5 Days
In addition to numerous short exercises to re-inforce understanding of specific language features, the course includes several longer workshops that illustrate the use of tools in combination to solve realistic problems. These workshops include: Developing a menu-driven shell. Data mining from web server log files. Compiling reports on file system usage. A bulk mailing. Suitable for: 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. Course 410, Introduction to Linux, provides ideal background.
Facilities
Location
Start date
Start date
Reviews
Course programme
Much of the underlying strength of Linux derives from the large collection of text-based tools and utilities which were inherited from UNIX, 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 course shows you how to use this powerful tool-building philosophy by focussing on the shell as a programming language, and on many of the key utilities and text filters. Emphasis is placed on the implementation of real-world solutions.
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. Course 410, Introduction to Linux, provides ideal background.
Key Skills
After completing this course you will be able to:
- Increase your productivity by using Linux tools effectively
- Construct bespoke solutions using tools in combination
- Write shell scripts to automate administrative tasks
- Search, sort, process and reformat text using filters
Practical Work
In addition to numerous short exercises to re-inforce understanding of specific language features, the course includes several longer workshops that illustrate the use of tools in combination to solve realistic problems. These workshops include:
- Developing a menu-driven shell
- Data mining from web server log files
- Compiling reports on file system usage
- A bulk mailing application
- A classroom reservation system
Course Contents
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, uname, date ...
- Stream editing with sed
- Building solutions by combining tools
- Regular Expression syntax
- Examples using grep
- Other contexts for using regular expressions
- Substitutions using tagged regular expressions in sed and vi
- Passing arguments to a script
- Built-in variables and environment variables
- I/O with echo and read
- Redirecting input and output
- Arithmetic and string operations
- Conditional execution with if ... else
- Testing exit status of a command
- Testing file properties
- Looping with for, while and until
- Multiway branching using case
- Defining functions and aliases
- Command substitution
- Structuring data with arrays
- Command sequencing and grouping
- How awk processes lines and fields
- Patterns and actions
- Variables, operators and functions
- Formatted output
- Looping and branching in awk
- Using pipes and command substitution
- Choosing the right tool for the job
- Incremental development of solutions
- Some common idioms
Linux Shell Scripting, Tools and Utilities