0345 4506120

Linux Advanced Shell Programming Tools

The Linux Advanced Shell Programming Tools course is designed to give delegates practical experience using a range of Linux tools to manipulate text and incorporate them into Linux shell scripts.

Who will the Course Benefit?

Programmers, developers and system administrators who need to construct shell scripts and process text files using advanced text handling facilities.

The Linux Advanced Shell Programming Tools course assumes knowledge of the Linux Operating System to the level covered in the Linux Introduction course. Some shell programming experience to the level covered in Linux Shell Programming is also necessary.

  Reset

Learning Objectives

To provide the knowledge and skills to make effective use of a wide range of standard Linux programming and development tools.

The delegate will learn and acquire skills as follows:

  • Backing up and restoring files with tar
  • Advanced tar commands
  • File compression
  • Scheduling background jobs with crontab and at
  • Comparing file contents
  • Splitting files based on content and context
  • Identifying and translating characters
  • Use og grep and regular expressions
  • Basic and advanced file editing with sed
  • Creating AWK program-files and scripts
  • Pattern matching with AWK
  • AWK variables, operators and arithmetic functions
  • AWK program control structures
  • AWK functions
  • AWK associative and multi-dimensional arrays
  • Various miscellaneous commands

Pre-Requisites

Requirements

The Linux Advanced Shell Programming Tools course assumes knowledge of the Linux operating system to the level covered in the Linux Introduction course. Knowledge of Linux Shell Programming to the level covered on the Linux Shell Programming course is also a requirement. Alternatively, relevant experience of UNIX or Linux servers is required.

Pre-Requisite Courses

    • Linux Introductio
    • Linux Shell Programming

Follow-On Courses

    • Linux System Administration (LPI & CompTIA
    • Oracle SQL
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Course Content

Course Contents - DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: BACKUP AND RESTORE UTILITIES

  • Backing-up and restoring files
  • Basic and advanced use of tar
  • Compression utilities gzip, bzip2, zip and compress
  • Exercise: Backing up and restoring files using tar
  • Exercises: Compressing files

Session 2: BACKGROUND JOB SCHEDULING

  • Scheduling jobs with the cron command
  • Scheduling jobs with the at command
  • Exercises: Running background jobs

Session 3: COMMANDS FOR COMPARING FILES

  • Compare two files with the cmp command
  • Compare two files with the comm command
  • Compare two files with the diff and sdiff commands
  • Compare large files with the bdiff command
  • Exercises: Identifying file differences

Session 4: SPLITTING FILES

  • The split and csplit commands
  • Exercises: Splitting files

Course Contents - DAY 2

Session 5: IDENTIFYING AND TRANSLATING CHARACTERS

  • od - octal dump
  • Use cat to display non-printing characters
  • The expand and unexpand commands to convert between tab and space characters
  • The tr command for character translation
  • Exercises: Translating characters with tr

Session 6: REGULAR EXPRESSION NOTATION REVIEW

  • Standard regular expressions
  • Extended regular expressions

Session 7: THE STREAM EDITOR sed

  • sed command line syntax
  • sed script files
  • sed command processing
  • sed addresses and simple instructions
  • sed pattern space and hold space
  • Grouping sed commands
  • Hold and get functions
  • Advanced flow control
  • Exercises: Text processing with sed

Session 8: FUNDAMENTALS OF AWK

  • Basic AWK usage
  • AWK program-files
  • AWK scripts
  • AWK variables
  • Pattern matching with AWK
  • AWK extended patterns
  • AWK operators
  • AWK arithmetic operations
  • AWK output
  • Formatting output with printf
  • Exercises: Create awk scripts to extract selected data from a file and generate reports

Course Contents - DAY 3

Session 9: AWK PROGRAM CONTROL STRUCTURES

  • The BEGIN and END functions
  • The AWK if construct
  • The AWK else if construct
  • The AWK while construct
  • Other program control statements
  • The AWK break, continue and exit statements
  • User defined functions
  • Exercises: Create AWK scripts and program-files utilising program control structures

Session 10: AWK FUNCTIONS

  • AWK string functions
  • AWK length, tolower, toupper, index, sub, gsub, match, substr, split, sprintf, system and getline functions
  • Exercises: Generate AWK scripts and program-files to extract and format data using AWK functions

Session 11: AWK ARRAYS

  • AWK associative arrays
  • Multi-dimensional arrays
  • Exercises: Create AWK associative arrays to process text files and generate reports

Session 12: MISCELLANEOUS TOOLS

  • bc (calculator)
  • fuser (testing for files in use)
  • getops (checking options passed to shell scripts)
  • printf (formatting screen output)
  • logger (script logging)
  • xargs (generating arguments for a command)
  • eval (re-evaluating variables)
  • Exercises: Using tools within a shell script

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include