A Quick Introduction to Scripting on GNU/Linux

Submitted by Chandrashekar Babu on June 13, 2006 - 7:13pm.
::



Duration: 2 days (4 + 4 hours)
Date: 17th June 2006 to 18th June 2006
Time: 2:00 pm to 6:00 pm


Description

This training session intends to introduce aspiring GNU/Linux administrators, developers and enthusiasts into the world of scripting. The focus of this training session is to provide a broad picture of how things work on the GNU/Linux platform and how it differs from the other non-UNIX operating systems in terms of automation and scriptability.

The training session intends to be fast-paced and not highly comprehensive on subject coverage (owing to limited time-frame) - however should help in motivating self-learners to get started on GNU/Linux with minimal effort.



The folloing topics shall be covered:

  • GNU/Linux: Kernel and the Shell
    • Roles of the Linux kernel
    • Top-level views to communicate to the kernel
    • Role of the Shell
    • Libraries and utility programs (coreutils)
    • Kernel interfaces
      • Resource abstraction
        • Filesystem
        • Processes
        • Users and resource privileges
        • Devices

  • Programs and processes
    • Types of executable programs
    • Scripting languages
      • Shell
        • Bourne shell
        • Korn shell
        • C Shell
        • Bourne Again Shell (Bash)
        • Z Shell
        • Other shells (ash, rc, fish,...)
      • Grep, Sed and Awk
      • Perl, Tcl, Python and Ruby
      • Choosing the right tool/language
      • Scripting vs. Programming
        • Pragmatic thinking
    • GNU/Linux scripting: intrinsic concepts
      • Shell expansion
      • Filesystem hierarchy and path
      • Pipes, Redirection and Command substitution
      • All about wild-cards
      • Using regular expressions
      • Variables and data handling
      • Helper commands for the shell
    • Code examples on bash, awk, perl, python and ruby.

  • Shell scripts
    • A simplest shell script
    • A tiny terminal clock
    • A simple tool to monitor a user
    • A simplistic user-authentication script using dialog
    • List all open files on the Linux system
    • Replace a string in a list of files on filesystem
    • A CD replication script
    • An automated network backup script

  • Introduction to Perl
    • Elements of Perl
      • Syntax and Semantics
      • Scalar, Array, List and Hash data
      • Constructs
        • Basic Operators
        • Conditions
        • Loop
        • Functions
      • Basic keywords and utility functions
    • Code examples
      • Authenticating a user based on a passwd file.
      • A web-based authentication system (using CGI).
      • A poor man's heartbeat monitor for a web server.