Module 1: Using Linux Tools ============================ Module Objectives ---------------------- After successfully completing this module a participant will be able to: * Understand the design philosophy of \*nix {U} * Use Linux as their day-to-day operating system {Ap} * Use the text processing tools such as 'grep', 'tr' {Ap} * Write and execute (bash) shell scripts {Ap} * Use a text editor comfortably {Ap} Suggested Reading ----------------------- (1) "In the beginning..." by Neal Stephenson (2) "The Unix Programming Environment" by Kerninghan and Pike **Initial Session Plan** +---------+---------------------------------+---------+ | Session | Topic | Duration| +=========+=================================+=========+ | 1 | Introduction to the Course | 5 mt | | | | | | | Historical background and | 10 mts | | | implications. Why Unix? | | | | | | | | Getting started–logging in; *ls,| 10 mts | | | date, who, cd, mkdir* | | | | | | | | Getting help: *apropos, man, | 10 mts | | | info* | | | | | | | | Basic file handling: *cp, mv, | 10 mts | | | rm* | | | | | | | | First session buffer | 5 mts | +---------+---------------------------------+---------+ | 2 | Command line arguments | 5 mts | | | | | | | Basic text processing: *head, | 15 mts | | | tail, cut, paste* | | | | | | | | Shell meta characters | 10 mts | | | | | | | Looking at files: *cat, less* | 5 mts | | | | | | | Directory structure: *man hier, | 5 mts | | | ls -l* | | | | | | | | Permissions and ownership, | 10 mts | | | *chmod, chown* | | +---------+---------------------------------+---------+ | 3 | Redirection and Piping | 10 mts | | | | | | | More text processing:*grep, tr* | 10 mts | | | | | | | Elementary regex: . ? * ^ $ [ ] | 15 mts | | | | | | | One liners: show lines n to m, | 15 mts | | | show directories | | +---------+---------------------------------+---------+ | 4 | More text processing: *join, | 10 mts | | | sprt, uniq* | | | | | | | | Generating a word frequency list| 10 mts | | | | | | | Basic editing and editors : vim,| 10 mts | | | scite | | | | | | | | Personalising your environment: | 10 mts | | | *.bashrc, .vimrc* | | | | | | | | Subshells and *source~* | 10 mts | +---------+---------------------------------+---------+ | 5 | More tools: *tar, zip, diff, | 25 mts | | | cmp, comm* | | | | | | | | Environment variables, *set* | 10 mts | | | | | | | Writing simple shell scripts | 15 mts | +---------+---------------------------------+---------+ | 6 | Control structures and | 20 mts | | | operators in bash | | | | | | | | Writing shell scripts | 30 mts | +---------+---------------------------------+---------+ | 7 | Functions in bash scripts | 20 mts | | | | | | | Assessment Test | 30 mts | +---------+---------------------------------+---------+ *total session time = 350 mts* *buffer time = 10 mts*