## Using Linux Tools

## 1.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}

## 2.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

Historical background and implications. Why Unix?

Getting startedlogging in; ls, date, who, cd, mkdir

Getting help: apropos, man, info

Basic file handling: cp, mv, rm

First session buffer

5 mt

10 mts

10 mts

10 mts

10 mts

5 mts

2

Command line arguments

Basic text processing: head, tail, cut, paste

Shell meta characters

Looking at files: cat, less

Directory structure: man hier, ls -l

Permissions and ownership, chmod, chown

5 mts

15 mts

10 mts

5 mts

5 mts

10 mts

3

Redirection and Piping

More text processing: grep, tr

Elementary regex: . ? * ^ $ [ ]

One liners: show lines n to m, show directories

10 mts

10 mts

15 mts

15 mts

4

More text processing: join, sprt, uniq

Generating a word frequency list

Basic editing and editors : vim, scite

Personalising your environment: .bashrc, .vimrc

Subshells and source~

10 mts

10 mts

10 mts

10 mts

10 mts

5

More tools: tar, zip, diff, cmp, comm

Environment variables, set

Writing simple shell scripts

25 mts

10 mts

15 mts

6

Control structures and operators in bash

Writing shell scripts

20 mts

30 mts

7

Functions in bash scripts

Assessment Test

20 mts

30 mts

total session time = 350 mts

buffer time = 10 mts