UNIX Tools and Shell Scripting Short Courses
UNIX Tools and Shell Scripting course covers the following topics:
- Basic introduction to UNIX-like environment.
- Strengths and limitations of UNIX shell and tools.
- Bourne shell (sh), common commands, AWK language.
- Regular expressions and sed.
- Bash and its extensions to Bourne shell.
- POSIX standard and portability of the shell scripts.
- Common pitfalls, common practices and robustness of shell scripts.
- Other tools common in UNIX-like systems, e.g. netcat, socat and curl.
This course is focused on programming and problem solving rather than system administration. However, the skills acquired during the course will be practical for both the programmers, DevOps and system administrators.
Dates and Fees to be confirmed
Prerequisites: basic knowledge of programming and computing concepts.
What will I learn?
- Some basic UNIX concepts: processes, pipes and file descriptors, signals, file system structure, basic security model (permissions, file modes, users, groups).
- Many common UNIX commands, including more sophisticated tools and their options, e.g. xargs, join, uniq, find, sort.
- Bourne shell: variables, conditionals, loops, functions, traps, etc.
- AWK programming language, POSIX regular expressions and sed.
- Bash extensions: advanced parameter expansion and conditional blocks, arrays (including associative arrays), I/O redirection, etc.
- Will become familiar with some specialised tools, e.g. netcat, socat and curl.
By the end of the course, you will be able to:
- Write sophisticated programs using sh/bash/awk/sed.
- Distinguish Bourne shell dialects and standard/non-standard features.
- Use shell for solving problems such as tabular data processing and automation.
- Apply the skills in such roles as DevOps, system administrator, software engineer.
Kernighan B.W. and Pike R., (1984) The Unix Programming Environment, Prentice Hall
Dougherty D. and Robbins A., (1996) sed and awk, O'Reilly UK