Skip to page content Skip to section menu Skip to site-wide navigation About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Introduction to Linux - A 3-day course

Synopsis

This course is a practical introduction to Unix and Linux, taught through their most popular incarnation: GNU/Linux. This course is delivered over 3 days and is a selected subset from our full public scheduled offering.

This course focuses on the underlying principles of Unix and Linux in a system-independent way, ensuring that delegates learn the core concepts, which apply throughout Unix and are present in all versions of Linux, no matter who the vendor may be (e.g. UnitedLinux, Red Hat, SuSE, Debian Linux, Mandrake, Sun Solaris and Linux, BSD Unix, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, Tru64 Unix, etc.)

This course provide a thorough introduction to UNIX and Linux covering basic operating system concepts, and gives a solid grounding in UNIX command, utilities, and shell features.

Suitable for

Prerequisites

Delivery

As with all of our Unix/Linux courses, this course makes extensive use of practical exercises and draws heavily on our trainers’ own experience of implementing Unix and Linux based e-commerce solutions.

This is an instructor-led Linux course.

Publicly scheduled dates, locations, and prices

A schedule of dates for this course is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.


Contents:

Introduction

  • What Linux is, Unix philosophy
  • Logging in, typing commands, logging out
  • Files, directories and paths
  • Creating files with a text editor
  • Viewing files (cat, less)
  • Managing files (cp, mv, rm)
  • Magic dot files and hidden files
  • Managing directories (mkdir, rmdir)
  • Documentation for commands (man)
  • Useful shell features (command-line editing, command line completion, history)

The Unix and Linux command line

  • Unix shells (bash)
  • Command line syntax (options, arguments)
  • Shell variables and environment variables
  • Command substitution
  • Using pipes to connect programs
  • Useful text filters (wc, sort, uniq, expand, head, tail, nl, tac)
  • Spitting files across disks (split)
  • Using redirection to connect programs to files
  • Redirect into files with append (>>)

Documentation

  • The unfortunate diversity of Linux documentation
  • Using man(1)
  • How manpages are divided among ‘sections’
  • Searching for man pages (apropos, man -k)
  • Printing man pages (man -t)
  • Documentation for shell builtins (help)
  • Using GNU info documentation (info)
  • Documentation under /usr/share/doc

Text editing with Vi

  • Unix is all about text
  • Vi: the standard Unix editor
  • The concept of ‘modes’ in a modal editor
  • Vi clones, extensions to vi
  • Other powerful Unix text editors
  • Practical work learning Vi and Vim

Configuration files

  • Configuration files
  • Environment variables for configuration (PATH, PS1, DISPLAY, http_proxy)
  • Setting and examining shell aliases
  • Configuring the readline library (inputrc files)

Regular expression searches

  • Searching files with regular expressions (grep)
  • The concept of ‘pattern matching’ with regular expressions
  • Anchor the pattern to the start of end of the line (^, $)
  • Match repeated patterns (*, \+, ?)
  • Escaping special characters in regexps (\)
  • Matching any character (.)
  • Matching alternative patterns (\|)
  • Simple use of sed to ‘search and replace’

Processes and jobs

  • What processes are
  • The properties of a process
  • Parent processes and child processes
  • Job control (fg, bg, jobs)
  • Suspending processes (Ctrl+Z)
  • Running programs in the background (&)
  • Long-lived processes (nohup)
  • Monitoring processes (ps, pstree, top)
  • Killing processes and sending signals a process (kill, killall, xkill)
  • Process niceness/priority (nice, renice)

Filesystem concepts and use

  • The unified Unix filesystem
  • Special file types
  • Symbolic links (ln -s)
  • Inodes and directory entries
  • Hard links
  • Preserving links while copying and archiving
  • Where to put things: the FHS

Filesystem security

  • Users and groups
  • The ‘root’ user, or superuser
  • Changing file ownership (chown)
  • Changing file group ownership (chgrp)
  • More complex ways of changing ownership (recursively, changing owner and group simultaneously)
  • Permissions on files
  • Permissions on directories
  • How permissions are applied
  • Changing permissions (chmod)
  • The special ‘sticky bit’ mode on directories
  • Setgid and setuid permissions, their effect on files and directories
  • Default permissions for new files (umask)

The X window system

  • What X is
  • The rôle of window managers and desktop environments
  • Startup and session scripts
  • Terminal emulators (xterm, etc)

Advanced shell usage

  • Quoting (single quotes, double quotes, backslashes)
  • Combining quoting mechanisms
  • Globbing patterns (*, ?, [])
  • Generating filenames and other text with {} braces

Scheduling

  • Running commands at particular times (at, atq, atrm)
  • Scheduling commands to run repeatedly (cron)
  • Different ways of configuring cron (/etc/crontab, etc)
  • User crontabs (crontab command)