Linux and Unix Fundamentals (LPI 101/102)

Course

Online

Price on request

Description

  • Type

    Course

  • Methodology

    Online

The following course, offered by City Lit, will help you improve your skills and achieve your professional goals. During the program you will study different subjects which are deemed to be useful for those who want to enhance their professional career. Sign up for more information!

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • IT
  • Linux
  • Unix

Course programme

Introduction

  • What Linux is, Unix philosophy
  • Unix History
  • Unix Standards
  • Linux distributions
  • Other Unix: BSD, Solaris, AIX, OS/X, ...
  • Unix/Linux Scalability
  • Unix Licensing: proprietary and Open Source
  • 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
  • Absolute & relative paths
  • Filename generation: wild cards
  • Managing directories (mkdir, rmdir)
  • Documentation for commands (man)
  • Useful shell features (command-line editing, file name completion, history)

The Unix and Linux command line

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

Documentation

  • The unfortunate diversity of Linux documentation
  • Using man(1)
  • How man pages are divided among ‘sections’
  • Searching for man pages (whatis, 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
  • Shell Configuration Files
  • Changing Environment Variables
  • Changing the Shell Prompt
  • Other Useful Variables
  • Shell Aliases
  • Binding Keys with Readline

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)

Searching Text Files Using Regular Expressions

  • Using Regular Expressions
  • grep Command Line Options
  • Pattern Matching basics
  • Regular Expression Examples
  • Alternation and Grouping
  • Extended Regular Expression Syntax
  • sed
  • Line Selection with sed

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)
  • Output of cron & at jobs
  • At Command and Cron Job Permissions

File system concepts and use

  • The unified Unix file system
  • The Filesystem Hierarchy Standard
  • What is a filename ?
  • Shareable and Non-Shareable Data
  • Static and Dynamic Data
  • Special file types
  • Devices, fifos, Unix domain sockets /dev and /sys on Linux
  • Conceptual View of a Unix Filesystem layout on disk
  • Symbolic links (ln -s)
  • Inodes and directory entries
  • Hard and Symbolic/soft links
  • Preserving links while copying and archiving
  • finding programs with which and type

Archiving and Backups

  • Compressing Files with gzip
  • Other Compression Tools
  • Archiving Files with tar
  • Listing and extracting the Files in tar Archives
  • Backup Media
  • Types of Backup and Strategy
  • What Not to Backup
  • Device Files for Accessing Tapes
  • Controlling Tape Drives with mt
  • Other Backup Software

Managing User Accounts

  • Users and Groups /etc/passwd & /etc/group
  • Shadow Passwords and Groups
  • Changing user passwords
  • Adding new users
  • Setting Up Home Directories for New Accounts
  • Removing users
  • Modifying users
  • Locking Accounts
  • Managing groups chsh /etc/nsswitch.conf
  • PAM — Pluggable Authentication Modules

Filesystem security

  • Users and groups
  • The ‘root’ user, or superuser
  • Configuring sudo
  • Changing file ownership (chown)
  • Changing file group ownership (chgrp)
  • More complex ways of changing ownership (recursively, changing owner and group simultaneously)
  • Examining permissions with ls -l and stat
  • Permissions on files
  • Permissions on directories
  • Setuserid, setgroupid & sticky permissions
  • 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)
  • Access Control Lists (ACLs)

Creating Partitions and File systems

  • Buffer cache & sync command
  • Disks, partitions, individual file systems and Filesystem types
  • Naming of disk and partition devices (/dev/hda, etc)
  • Creating and deleting partitions (fdisk)
  • Raid and Mirrors
  • Logical Volume Management
  • Resizing a partition
  • Mounting and unmounting file systems (mount, umount, /etc/fstab)
  • Mounting a file — loopback
  • Disk labels
  • Swap space
  • Checking available free space and space used by files (df, du)
  • Checking and correcting the integrity of file systems (fsck)
  • Journaling file systems, ext2, ext3 & ext4

Booting and runlevels

  • The boot process: from BIOS to kernel to userspace
  • Setting kernel parameters
  • Configuring a boot loader: LILO and Grub
  • Runlevels and init scripts
  • Configuring services to run at boot
  • Securing single-user mode (sulogin)
  • Determining and changing run level
  • Shutting down and rebooting the system
  • Starting and stopping individual services
  • Service Management Facility (SMF) & upstart systemd — the new init

Logging System Events

syslog daemon /etc/syslog.conf

  • Examining Logs: tail & less and grep
  • Linux Kernel Messages rsyslog — the new syslog
  • Log Rotation, sample /etc/logrotate.conf

Advanced shell usage

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

Installing software

  • Managing software installation (advantages of package management)
  • Debian package management:
    • Package naming and version numbering
    • Searching for packages (apt-cache)
    • Using Apt to get and install packages (apt-get)
    • Low-level package management (dpkg)
  • Red Hat package management:
    • Installing and upgrading RPM packages (rpm and yum)
    • Which packages are installed, which package a file came from
    • Examining RPM package files
    • Verifying integrity of the installation yum configuration

Making and Installing Programs from Source

  • Obtaining Source Packages
  • Unpacking Archives
  • Running the configure Script
  • Using make to Build Software and install it
  • Choosing Where to Install Software

Managing Shared Libraries

  • Executables and Libraries
  • Library Files and Linking
  • Using the ldd Command
  • Finding Libraries
  • Using ldconfig
  • Static Linking

The Linux kernel

  • What the kernel is and does
  • Kernel modules (lsmod, modprobe, rmmod)
  • Module dependencies (depmod)
  • Examining modules (modinfo)
  • Configuring kernel modules (/etc/modprobe.conf)
  • Commands in modprobe.conf
  • Recompiling the kernel
  • Configuring, compiling and installing the kernel and modules (make menuconfig, make xconfig, etc)
  • Loading and unloading kernel modules (lsmod, modprobe, rmmod)
  • Creating the initial root disk

The X window system

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

Shell scripting and configuration

  • The point of shell programming
  • The ‘she-bang line’ (#!/bin/sh)
  • Outputting text with (echo)
  • Reading input (read)
  • Writing simple shell functions
  • Sourcing files
  • Command substitution again
  • Conditional execution (||, &&, if, else) case — multi way branch
  • Looping (for, while, seq)
  • Infinite loops (while true)
  • Testing for the existence and type of files (-f, -d, etc)
  • Sending email from scripts (mail)

Awk and Perl

  • Scripting languages: shells and dynamic awk variables, user and predefined awk patterns and actions awk functions perl variables and constants, user and predefined
  • Example perl scripts: who is logged in, database use, networking

TCP/IP networking configuration

  • Overview of modern TCP/IP networking, rôles of IP, TCP, UDP and ICMP
  • Domain names and IP addresses (host, dig)
  • Port numbers (/etc/services)
  • Network interfaces (ifconfig, ifup, ifdown)
  • Kernel routing tables (route)
  • Configuring interfaces under Debian and Red Hat
  • Finding and setting the hostname (hostname, /etc/hostname)
  • DHCP client hosts
  • Network diagnostics (ping, traceroute, netstat)

Linux network services

  • Overview of network services under Linux, operating daemons
  • Sending signals to daemons
  • The advantages and disadvantages of using inetd and xinetd, basic configuration of both
  • Secure Shell: ssh and sshd

Internet Daemons and Services

  • Configuring the resolver libraries /etc/hosts & /etc/resolv.conf
  • Structure of domain names, registering names (whois)
  • Running a DNS server (BIND), setting up a caching-only name server, /etc/named.conf
  • Running an MTA (email server)
  • Email clients (MUAs)
  • Basic configuration of Exim
  • Routing mail with MX (mail exchanger) DNS records
  • Mail aliases
  • Fetching Mail with fetchmail
  • Webservers: apache configuration file
  • Configuring named virtual hosts
  • Dynamic web pages
  • Logging in Apache

Networked file systems

  • Configuring NFS (/etc/exports, /etc/fstab)
  • Viewing Exports (showmount, portmapper & rpcinfo)
  • Mounting remote file systems
  • Basic Samba configuration (smb.conf, SWAT)

Linux and Unix Fundamentals (LPI 101/102)

Price on request