LX102: Introduction to Linux for Developers (2 Days)
Course Overview
This course provides an introduction to Linux for Developers. It provides an overview of the main
features of Linux that are applicable to developers including: installation and configuration, kernel
overview, understanding Linux file systems, run-level services, using and writing BASH/Python scripts,
package management, processing command-line and environment variables, error handling, file handling,
processes and threads, signals, inter-process communication (including pipes, named pipes, and shared
memory), console applications, GUI applications, and web applications.
The formal course examples and exercises will be based around the Fedora Core distribution of Linux
but differences to Redhat and other distributions will be noted when possible.
Audience
Software developers, administrators and architects interested in hands-on exploration of Linux.
Pre-requisites
To successfully understand all workshops fully, previous exposure to a procedural language (e.g. C) or
a scripting language (e.g. bat files) is desirable.
Course Topics
- Introduction
- Unix Basics
- Unix System Structure
- Logging In
- What is a Shell?
- Super Users and Common Users
- User Accounts
- Logging Out
- Unix Command Notation
- Some Simple Commands
- Understanding Linux File Systems
- Unix File System (including Linux variants)
- ls Command
- Device Special Files
- File Access Permissions
- chmod Command
- chown Command
- chgrp Command
- pwd Command
- cd Command
- Shell Basics
- Variables
- Pattern Matching Characters
- Substitutions
- alias Command
- type Command
- history Command
- r Command
- Exported Variables
- Bash specifics
- Introducing the vi editor
- vi Basics
- Moving around a file
- Inserting into a file
- Changing characters, words, and lines
- Deleting characters, words, and lines
- Copying and Pasting
- Undoing
- Saving and Closing Files
- Understanding Processes
- Unix Process Basics
- Process Creation
- Process Table
- Process States
- Process 0
- init Process
- sh Process
- Process Status
- Understanding Input/Output
- What is a Data Stream?
- stdin, stdout, stderr
- File Descriptors
- What is Redirection?
- Additional Data Streams
- Pipes
- Filter Utilities
- tee Command
- head Command
- Networking Basics
- Features of TCP/IP
- TCP/IP Network
- TCP/IP Protocol Stack, 4 layers
- Daemon Processes
- Port Numbers and Sockets
- ping
- telnet
- ftp
|