Linux Fundamentals

Part of our "DevOps" courses

2 days

thumb image

Course Overview

This course gives an introduction to Linux, a versatile and stable operating system used in business and on many of the servers on the internet. The course is suitable as preparation for the CompTIA Linux+ examinations.

We concentrate on the command line rather than the graphical user interface (GUI) with the most commonly used commands and utilities described in detail as are the use of piping, redirection, wildcards and the vim editor.

The system is fairly easy to learn and use and we expect this course to be a fun and interesting way to master it.

Although based on Ubuntu, the commands and principles learnt may be applied to all other versions of Linux, including Red Hat, CentOS, SUSE and Arch and to all versions of Unix including Solaris and AIX.

The course takes the format of a workshop, with a mix of lecture, working examples and practical exercises. Although the content may be customised, at least 2 days are normally needed to cover the core elements.

Full course notes are provided along with sample files and free software tools for use in accessing a Linux server.

Course Prerequisites

This course is suitable for those who have some knowledge of Linux as well as those who are using the operating system for the first time.

Outline


Linux Fundamentals Overview

  • Aims and Objectives, Schedule, Introductions, Pre-requisites, Responsibilities

Accessing the System

Objectives and Fundamentals

  • What are Linux and Unix?
  • Logging On
  • Command Syntax:
    • Command Alone
    • Command With Options
    • Command With Filename

Basic Commands

  • uname - System Information
  • id - Current User Identity
  • who - Show Logged In Users
  • date - Display Date/Time
  • cal - Calendar Display
  • echo - Display Messages
  • Escape Character (\)
  • figlet - ASCII Art Text

System Navigation

  • Arrow Keys
  • man - Manual Pages
  • Important Control Keys

Account Management

  • passwd - Change Password
  • exit - Terminate Session

Shell Information

  • Advantages & Disadvantages
  • Basic Structure
  • ps - Process Status
  • Shell Types:
    • Bourne Shell
    • C Shell
    • Korn Shell
    • Bash Shell
  • Shell Selection

Additional Materials

  • Handouts
  • Self Study
  • History of Unix
  • History of Linux

Commands and Concepts

Core Concepts

  • Processes and Files
  • Directory Operations:
    • root Directory
    • ls - List Directory Contents
    • Directory Structure

File Operations

  • cat - Concatenate Files
  • less - File Viewer
  • wc - Word Count
  • nl - Number Lines
  • file - Determine File Type

I/O Operations

  • Piping (|)
  • Redirection (>, >>)
  • tee - Redirect and Pipe
  • Multiple Commands (;)

Administrative Commands

  • su - Switch User
  • sudo - Superuser Do

Additional Topics

  • Process Execution
  • File Types
  • script - Record Terminal Session
  • File Protection (noclobber)

Directory Commands

Directory Navigation

  • $HOME - Home Directory
  • pwd - Print Working Directory
  • cd - Change Directory

Shell Configuration

  • PS1 - Primary Prompt
  • Secondary Prompt (>)
  • Aliases
  • Shell Customization
  • . (dot) Command
  • Command History
  • Tab Completion

Directory Management

  • mkdir - Create Directory
  • rmdir - Remove Directory
  • Special Entries (. and ..)
  • type - Command Type
  • Path Names

File Commands

Basic File Operations

  • cp - Copy Files
  • cp -i - Interactive Copy
  • mv - Move Files
  • mv -i - Interactive Move
  • Directory Operations
  • touch - Create/Update Files
  • rm - Remove Files
    • rm -i - Interactive Remove
    • rm -f - Force Remove
    • rm -r - Recursive Remove

Wildcards

  • * - Match Any Characters
  • ? - Match Single Character
  • [] - Character Classes
  • Wildcard Usage with cp, rm, ls

Text Processing

  • wc - Word Count
  • Command Combinations
  • Workshop (Optional)

The vim Editor

Editor Basics

  • What is vi?
  • What is vim?
  • Basic Usage

Operating Modes

  • Command Mode (Cursor Movement)
  • Input/Replace Mode
  • Command-line Mode

Text Operations

  • Deletion
  • Cut and Paste
  • Yank and Put

File Comparison

  • cmp - Compare Files
  • diff - Find Differences
  • sdiff - Side-by-side Diff
  • vimdiff - Vim Diff Mode

Advanced Features

  • Regular Expressions
  • Global Commands
  • Line Addressing
  • Substitution
  • Settings Configuration
  • Syntax Highlighting

Finding Files and Job Control

File Search

  • find - Search Files
  • xargs - Build Command Lines

I/O Redirection

  • Error Redirection
  • Input Redirection (<)
  • Here Documents (<<)

Process Control

  • Foreground Jobs
  • Background Jobs (&)
  • kill - Terminate Processes
  • jobs - List Jobs

Job Scheduling

  • crontab - Schedule Tasks
  • at - One-time Job Schedule

System Communication

  • mail - Email
  • write - Send Messages
  • mesg - Message Permissions

File Management

  • Inodes
  • ln - Create Links

Print System

  • pr, lp, lpstat, cancel
  • lpr, lpq, lprm

Process Priority

  • nohup - No Hang Up
  • nice - Adjust Priority

Finding Text and Sorting

Text Search

  • grep - Pattern Search
  • egrep - Extended Grep

Text Processing

  • sort - Sort Lines
  • uniq - Remove Duplicates
  • cut - Extract Fields
  • tr - Translate Characters
  • expand/unexpand - Tab Conversion
  • join/paste - Combine Files
  • split - Split Files
  • fmt - Format Text
  • od - Octal Dump

Advanced Topics

  • Regular Expressions
  • Multiple File Editing

Backup Commands

Archive Operations

  • tar - Tape Archive
  • gzip/gunzip - Compression
  • cpio - Copy I/O
  • dd - Convert and Copy
  • Backup Scripting

File Permissions

Permission Management

  • File and Directory Permissions
  • Permission Evaluation
  • chmod - Change Permissions
  • Octal Notation
  • SUID Bit
  • umask - Default Permissions

Handouts

  • Essential Commands
  • vim Quick Reference
  • nano Quick Reference

Private Events

Is your team in need of a Linux Fundamentals course?

This course is only available online (and not on-site)

Send us a message, and we'll get in touch, without any obligation.

languages:
en

Upcoming Public Events

Currently we have no public courses planned for Linux Fundamentals

This Linux Fundamentals course looks very interesting, I do however have a question