A Practical Guide to Linux Commands, Editors, and Shell Programming

(LINUX-SHELL-PROG.AP1)/ISBN:978-1-64459-440-7

This course includes
Lessons
TestPrep
Hands-On Labs
AI Tutor (Add-on)

Master the command-line interfaces of Linux and macOS with A Practical Guide to Linux Commands, Editors, and Shell Programming. This course offers step-by-step guidance, from fundamental concepts to advanced topics, enabling students, power users, professionals and programmers to unlock the full potential of Linux operating systems. This course equipped with Interactive lessons, testPreps and hands-on labs enhances the learning experience by providing a simulated learning environment.

Lessons

23+ Lessons | 271+ Exercises | 101+ Quizzes | 180+ Flashcards | 180+ Glossary of terms

TestPrep

100+ Pre Assessment Questions | 100+ Post Assessment Questions |

Hands-On Labs

50+ LiveLab | 50+ Video tutorials | 42+ Minutes

Here's what you will learn

Download Course Outline

Lessons 1: Introduction

  • Features of This Course
  • Contents
  • Supplements

Lessons 2: Welcome to Linux and macOS

  • The History of UNIX and GNU–Linux
  • What Is So Good About Linux?
  • Overview of Linux
  • Additional Features of Linux
  • Lesson Summary
  • Exercises

Lessons 3: Getting Started

  • Conventions Used in This Course
  • Logging In from a Terminal (Emulator)
  • Working from the Command Line
  • su/sudo: Curbing Your Power (root Privileges)
  • Where to Find Documentation
  • More About Logging In and Passwords
  • Lesson Summary
  • Exercises

Lessons 4: The Utilities

  • Special Characters
  • Basic Utilities
  • Working with Files
  • | (Pipeline): Communicates Between Processes
  • Four More Utilities
  • Compressing and Archiving Files
  • Locating Utilities
  • Displaying User and System Information
  • Communicating with Other Users
  • Email
  • Lesson Summary
  • Exercises

Lessons 5: The Filesystem

  • The Hierarchical Filesystem
  • Directory Files and Ordinary Files
  • Pathnames
  • Working with Directories
  • Access Permissions
  • ACLs: Access Control Lists
  • Links
  • Lesson Summary
  • Exercises

Lessons 6: The Shell

  • Special Characters
  • Ordinary Files and Directory Files
  • The Command Line
  • Standard Input and Standard Output
  • Running a Command in the Background
  • Filename Generation/Pathname Expansion
  • Builtins
  • Lesson Summary
  • Exercises

Lessons 7: The vim Editor

  • History
  • Tutorial: Using vim to Create and Edit a File
  • Introduction to vim Features
  • Command Mode: Moving the Cursor
  • Input Mode
  • Command Mode: Deleting and Changing Text
  • Searching and Substituting
  • Miscellaneous Commands
  • Copying, Moving, and Deleting Text
  • Reading and Writing Files
  • Setting Parameters
  • Advanced Editing Techniques
  • Units of Measure
  • Lesson Summary
  • Exercises

Lessons 8: The emacs Editor

  • History
  • Tutorial: Getting Started with emacs
  • Basic Editing Commands
  • Online Help
  • Advanced Editing
  • Major Modes: Language-Sensitive Editing
  • More Information
  • Lesson Summary
  • Exercises

Lessons 9: The Bourne Again Shell (bash)

  • Background
  • Startup Files
  • Commands That Are Symbols
  • Redirecting Standard Error
  • Writing and Executing a Simple Shell Script
  • Control Operators: Separate and Group Commands
  • Job Control
  • Manipulating the Directory Stack
  • Parameters and Variables
  • Special Characters
  • Locale
  • Time
  • Processes
  • History
  • Aliases
  • Functions
  • Controlling bash: Features and Options
  • Processing the Command Line
  • Lesson Summary
  • Exercises

Lessons 10: The TC Shell (tcsh)

  • Shell Scripts
  • Entering and Leaving the TC Shell
  • Features Common to the Bourne Again and TC Shells
  • Redirecting Standard Error
  • Working with the Command Line
  • Variables
  • Control Structures
  • Builtins
  • Lesson Summary
  • Exercises

Lessons 11: Programming the Bourne Again Shell (bash)

  • Control Structures
  • File Descriptors
  • Parameters
  • Variables
  • Builtin Commands
  • Expressions
  • Implicit Command-Line Continuation
  • Shell Programs
  • Lesson Summary
  • Exercises

Lessons 12: The Perl Scripting Language

  • Introduction to Perl
  • Variables
  • Control Structures
  • Working with Files
  • Sort
  • Subroutines
  • Regular Expressions
  • CPAN Modules
  • Examples
  • Lesson Summary
  • Exercises

Lessons 13: The Python Programming Language

  • Introduction
  • Scalar Variables, Lists, and Dictionaries
  • Control Structures
  • Reading from and Writing to Files
  • Regular Expressions
  • Defining a Function
  • Using Libraries
  • Lesson Summary
  • Exercises

Lessons 14: The MariaDB SQL Database Management System

  • History
  • Notes
  • Installing a MariaDB Server and Client
  • Client Options
  • Setting Up MariaDB
  • Creating a Database
  • Adding a User
  • Examples
  • Lesson Summary
  • Exercises

Lessons 15: The AWK Pattern Processing Language

  • Syntax
  • Arguments
  • Options
  • Notes
  • Language Basics
  • Examples
  • Lesson Summary
  • Exercises

Lessons 16: The sed Editor

  • Syntax
  • Arguments
  • Options
  • Editor Basics
  • Examples
  • Lesson Summary
  • Exercises

Lessons 17: The rsync Secure Copy Utility

  • Syntax
  • Arguments
  • Options
  • Examples
  • Lesson Summary
  • Exercises

Lessons 18: The OpenSSH Secure Communication Utilities

  • Introduction to OpenSSH
  • Running the ssh, scp, and sftp OpenSSH Clients
  • Setting Up an OpenSSH Server (sshd)
  • Troubleshooting
  • Tunneling/Port Forwarding
  • Lesson Summary
  • Exercises

Lessons 19: Command Reference

  • Utilities That Display and Manipulate Files
  • Network Utilities
  • Utilities That Display and Alter Status
  • Utilities That Are Programming Tools
  • Miscellaneous Utilities
  • Standard Multiplicative Suffixes
  • Common Options
  • The sample Utility

Appendix A: Regular Expressions

  • Characters
  • Delimiters
  • Simple Strings
  • Special Characters
  • Rules
  • Bracketing Expressions
  • The Replacement String
  • Extended Regular Expressions
  • Appendix Summary

Appendix B: Help

  • Solving a Problem
  • Finding Linux and macOS Related Information
  • Specifying a Terminal

Appendix C: Keeping the System Up-to-Date

  • Using dnf
  • Using apt-get
  • BitTorrent

Appendix D: macOS Notes

  • Open Directory
  • Filesystems
  • Extended Attributes
  • Activating The Terminal META Key
  • Startup Files
  • Remote Logins
  • Many Utilities Do Not Respect Apple Human Interface Guidelines
  • Installing Xcode and MacPorts
  • macOS Implementation of Linux Features

Hands-on LAB Activities

Getting Started

  • Using the man, apropros, and whatis Utilities
  • Changing the User's Password

The Utilities

  • Using Basic Linux Utilities
  • Working with Files
  • Using echo, date, script, and unix2dos Utilities
  • Using the tar Command in Linux
  • Compressing and Decompressing a File
  • Locating Utilities in Linux
  • Displaying User and System Information

The Filesystem

  • Working with Directories
  • Changing and Displaying Permission
  • Using ACL in Linux
  • Dereferencing Symbolic Links Using chgrp
  • Removing a Link
  • Creating a Symbolic Link
  • Creating a Hard Link

The Shell

  • Using the noclobber and pipeline Features
  • Redirecting Standard Input/Output
  • Using the cat Utility
  • Running a Job

The vim Editor

  • Using vim to Create and Edit a File

The Bourne Again Shell (bash)

  • Writing and Executing a Simple Shell Script
  • Using Control Operators in Linux
  • Manipulating the Directory Stack
  • Assigning Attributes to Variables Using the declare Builtin
  • Declaring and Initializing a Variable for a Script
  • Displaying Locale Information
  • Working with Timezones
  • Managing Processes in Linux
  • Using the history Command
  • Using Aliases
  • Creating a Function
  • Using Command-Line Expansion

The TC Shell (tcsh)

  • Entering and Leaving the TC Shell
  • Creating and Running a Perl Program

Programming the Bourne Again Shell (bash)

  • Using Builtin Commands in Linux

The Perl Scripting Language

  • Using Variable in Perl
  • Control Structures in Perl
  • Using Sort
  • Using Subroutines
  • Using Regular Expression

The Python Programming Language

  • Using Python Builtin Data Types
  • Working with Regular Expression in Python
  • Using Python Libraries

The MariaDB SQL Database Management System

  • Installing a MariaDB Server and Client
  • Setting Up MariaDB
  • Creating a Database and Adding a User to It

The AWK Pattern Processing Language

  • Using the gawk Utility

The sed Editor

  • Using the sed Utility

The rsync Secure Copy Utility

  • Using the rsync Utility