First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Linux

Linux Systems Fundamentals

Duration: 5 Days

Context

Many companies and organisations are now running mixed systems containing e.g. Microsoft and Linux servers and workstations and laptops running Microsoft, MAC OSX or Linux operating systems. Linux systems are also being introduced into organisations as part of a process of deploying virtualisation environments based on e.g. VMWare, XEN or KVM. The goal of this course is to provide a foundation skill set that will prepare attendees for handling Linux technologies in their place of work. The course itself can be categorised as a hybrid course that covers both user and administrator tasks and activities.

Intended Audience

The course is for existing IT professionals and technologists who are in need of an intensive and rapid introduction to Linux including basic administration, important command line tools and utilities, and GUI based setup and configuration tools. The course will also provide an introduction to shell scripting sufficient to enable users to understand and to modify shell scripts.

Prerequisites

Attendees are expected to have a good working knowledge of working with an operating systems such as Microsoft Windows or MAC OSX. Although the course does not assumet any detailed Linux knowledge it would be beneficial to have had some experience of using the kind of Linux system that attendees will be working with.

Key topics covered

  • Using command line tools and utilities and working with the BASH shell.
  • Navigating the filesystem and managing files and directories
  • Understanding the client/server nature of X Windows System and X windows based applications
  • Editing files using vi and GUI editors
  • Manipulating data using command line and GUI tools
  • Use of file redirection and Posix pipes
  • Basic administration tasks so as to be able to control processes, filesystems, job scheduling,
  • Simple networking and basic backups
  • Reading and writing of typical BASH scripts

Detailed Course Outline

  • Introduction and Overview
    • History of and Reasons of the Success of Linux
    • Hardware, software, operating system - the computing equivalent to "Lights, Camera, Action"
    • Linux in the Real World
    • GNU GPL, available Linux distributions
    • Linux from the viewpoint of network and database administrators
    • Linux from the viewpoint of application developers
  • Linux First Steps
    • Accessing the system
    • Ordinary users vs. the superuser
    • The Login process, shells and command line interpreters
    • Command line structure, control and examples
    • Basic system interrogation and file reading utilities
    • File system layout and navigation
    • System vs. user directories
    • Absolute and relative pathnames
    • Man pages and Getting help
  • Working with Files and Directories

    • The File system from a user's perspective
    • Typical Linux System Directory structure and the FSH Standard
    • Manipulating files and directories - Copy, move, remove ...
    • The File system - a system level perspective
    • I-nodes and file attributes
    • Hard links vs. symbolic links
  • Editing Text and Command Line Text Editors
    • Why it is still important to know vi
    • Operational modes of vi - Command mode vs. Insert mode
    • 'Colon', or 'ex' mode
    • A compendium of useful vi command for navigation, search, substitution, cut, copy and paste
    • Extended vi commands and vim configuration
    • Some Alternative editors e.g. nano, gedit ...
  • The Bash Command Line Interpreter/shell

    • How a command line interpreter works
    • Generating filenames with wildcards (globbing)
    • Quoting (protecting special characters from the shell)
    • Variable and command substitution
    • Bash Command History
    • Bash Command Line Editing
  • Bash Environment and Environment Variables

    • Creating, recalling and sharing shell variables
    • Shell aliases and functions
    • Character sets and localisation
    • Bash builtin variables and their uses
    • Controlling shell behaviour with command line options such as set -o and shopt
    • Interactive Start-up Files
    • Start-up files for login and non-login shells
  • Privilege - access and authorisation

    • The su command
    • su interactive session
    • Running one-off commands
    • Checking who you are - actual and effective user identity
    • Understanding id and who am i tools
    • The sudo tool
    • Typical sudo session
    • sudo configuration file
  • Processes and Process Management
    • What is a Linux Process?
    • Process life cycle - starting and ending
    • The kill command and signals
    • Command exit status
    • Identifying Processes
    • ps, top and GUI process monitors
  • Job Control
    • Foreground vs. Background jobs
    • One-off deferral with at
    • Daemons and job manipulation
    • User access configuration files
    • Spool directory
    • Scheduling repetitive tasks with crontab
    • Understanding the cron daemon and configuration tables
  • Data Streams
    • Standard data streams - stdout, stderr, stdin
    • Redirecting standard output, error and input
    • Synchronising (merging) streams
    • Other ways of handling data streams
    • Collecting and generating data with sub-shells
    • Command substitution and its uses
  • Pipes and Filters

    • Sending stdout to a process
    • Pipes - single stage and multistage
    • Concept of a Unix/Linux filter
    • Performing more complex work by combining filters
    • The cut, sort, uniq, grep and tr commands
    • Filters - some basic filter Kata
  • Basic Regular Expressions and SED
    • Regular expressions
    • sed and how it uses regular expression
    • Specifying simple sed instructions
    • Understanding sed addressing
    • Creating and using a sed command file
    • sed editing commands and their practical uses
  • File Management Tools and Utilities

    • Using PATH to identify command origins
    • The which and type commands
    • Locating files usinig the locate command and mlocate database
    • Locating and Identifying filenames with find
    • Specifying the find command search criteria and specifying actions to perform on located files
    • Basic file backups with cpio, and dd and tar
    • Linux Compression tools and their uses
  • Filesystem Access - The First Line of Defence

    • Files, directories and filesystems - the key concepts
    • File and directory access - Read/write/execute permissions
    • User types
    • Additional permission bits - Set user/group ID bits and sticky bit
    • Using chmod, chown and chgrp to manipulate access attributes
  • Basic Linux Networking

    • High level overview of networking and TCP/IP
    • Basic network card configuration using the ifconfig tool
    • GUI network configuration programs an overview
    • Basic routing configuration
    • route commands and their uses
    • Basic network troubleshooting and diagnostics - with ping, traceroute and netstat
    • Using ssh for remote shell logins
  • The X Windows System

    • The X Window System as a Linux GUI Interface
    • XWindows - History, Architecture and Implementation
    • Client-server communication
    • Configuring display access rights
    • Specifying destination a display
    • Window managers / desktop systems
    • Gnome, KDE ...
    • X Window resources - Fonts, colours, geometry
    • Wayland - a possible successor to XWindows
  • Shell Script Programming

    • Useful one liners - incorporating into a shell script
    • Shell programming languages - sh, bash, ksh ...
    • Built in variables - Positional parameters and command exit status
    • Selection commands
    • Looping commands
    • Interactive input

Call us:

Technical enqiries: 020 8669 0769
Sales enquiries: 020 8647 1939, 020 77681 40786