0345 4506120

Linux Advanced Shell Programming Tools

The 3 day 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.

The delegate will practice:

  • Backing up and restoring files with tar
  • File compression
  • Scheduling background jobs with crontab and at
  • Comparing file contents
  • Splitting files
  • Identifying and translating characters
  • Review of regular expressions
  • Editing text files with sed
  • Pattern scanning and report generating with awk
  • Debugging awk scripts
  • Miscellaneous commands

Who will the Course Benefit?

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

 

Learning Objectives

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

Pre-Requisites

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.

Course Content

Session 1: BACKUP AND RESTORE UTILITIES

  • The tar command
  • 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

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 command processing
  • Pattern space
  • sed addresses
  • sed commands
  • Hold and get functions
  • Advanced flow control
  • Exercises: Text processing with sed

Session 8: INTRODUCTION TO THE PATTERN SCANNING UTILITY - awk

  • Introduction and command line syntax
  • The awk program structure
  • Operators
  • Simple patterns
  • Extended patterns
  • Special patterns (BEGIN and END)
  • Program variables: Built-in variables, User defined variables, Arrays
  • Mathematical operators
  • Displaying output with print and printf
  • Exercises: Create awk scripts to extract selected data from a file and generate reports

Session 9: awk PROGRAM CONTROL STRUCTURES

  • Program control structures
  • The if construct
  • The while and do ... while constructs
  • The basic for construct
  • Associative array handling
  • Functions: Mathematical and string functions, The system function, The getline function, User defined functions
  • Exercises: Create an awk script using an program control structures and arrays

Session 10: awk DEBUGGING AWK SCRIPTS

  • Responding to Syntax errors
  • Responding to Logical errors

Session 11: 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 request 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.

 

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include