Skip Navigation Links

Course Length:
2 Days
Course Description:
This course is an introduction to writing Linux shell scripts. Topics include the use of pipes and filters, shell variables, start-up scripts, looping and decision constructs, and script exit status. Hands-on exercises include writing scripts to schedule recurring tasks, automate system maintenance, create archives and backups, connect to remote machines, and send and retrieve files across the network. Students are also introduced to software tools available under Linux.
Who Should Attend:
This course is intended for system and application programmers, testers, configuration managers, and future system administrators.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Use the rich set of common Linux filters.
  • Write scripts to control the bash shell.
  • Modify bash startup files.
  • Use networking utilities including ssh, scp, and ftp.
  • Use software tools such as ar and make.
  • Use administrative utilities such as tar, crontab, and yum.
Prerequisites:
Students should be comfortable using Linux and be able to edit text files using a text editor. Prior experience using a programming language is recommended.
Course Outline:
  • Chapter 1: Linux Filters
    1. Perspective
    2. grep
    3. sort
    4. head and tail
    5. tr
    6. cut
    7. od
    8. paste
    9. split
    10. uniq
    11. sed
    12. gawk
    13. more and less
    14. tee
    15. lp
  • Chapter 2: Shell Programming
    1. Shells
    2. Scripting Rationale
    3. Scripting Prerequisites
    4. Creating a bash Script
    5. bash Startup Scripts
    6. A Script’s Environment
    7. Exporting Variables
    8. Exit Status
    9. Programming the Shell
    10. Parameter Passing
    11. Operators
    12. Decision Making - if
    13. Complex Decisions
    14. Arithmetic
    15. Looping Constructs - for
    16. Input and Output - echo and read
    17. Looping Constructs - while
    18. Functions
    19. Interrupts
  • Chapter 3: Networking Tools
    1. TCP/IP
    2. IP Addresses
    3. Network Configuration Files
    4. Client / Server Computing
    5. telnet
    6. ping
    7. ftp
    8. ssh
    9. scp
  • Chapter 4: Software Tools
    1. Building a Linux Utility
    2. Creating a Utility
    3. The C Compiler
    4. Libraries
    5. Static vs. Shared Libraries
    6. make
    7. Data Compression
  • Chapter 5: Administrative Tools
    1. Setting the Date
    2. Adding Users
    3. Ownerships
    4. sudo
    5. df
    6. du
    7. tar
    8. at
    9. crontab
    10. Managing Software
    11. rpm
    12. yum
  • Appendix A: The Visual (vi) Editor
    1. vi Modes
    2. Starting and Stopping vi
    3. Last Line Mode Commands
    4. Cursor Movement Commands
    5. Delete and Search Commands