LPI Linux Essentials Certification
June 21st, 2019
Course Development Director in Content
This course will introduce and teach the basic concepts and components of the Linux operating system. The LPI Linux Essentials certification is a great first certification for those looking to make a career in Linux systems administration, or for those that want to expand their IT knowledge. By the end of this course, you will have learned and been exposed to each of the exam objectives for the LPI LInux Essentials Exam.
Interactive Diagram: https://interactive.linuxacademy.com/diagrams/LPIEssentials.html
About the Author
About the author of this course
Welcome to LPI Linux Essentials, version 1.6! This course will not only prepare you for the LPI Linux Essentials Exam 101, it will shepherd you into a deeper understanding of Linux as an Operating System, open-source as a philosophy. But it's not all lecture, there are 28 Hands-On Labs included in this course, you will be learning by doing, and practicing what you've lerned!
About the Exam
Let's answer these questions about the exam: How many questions are there?How much time to I have?What type of questions are there?How are the questions weighted?How do I schedule my exam?
Topic 1: The Linux Community and a Career in Open Source
1.1 Linux Evolution and Popular Operating Systems
There are many variations of the Linux operating system; these different versions are called distributions (or "distros"). In this lesson, we’ll take a look at the different components that make up a distribution, as well as discuss some of the most popular Linux distributions.
Did you know that Android is a type of embedded Linux? In this lesson, we'll discuss embedded systems and how Linux is in use all around you.
Linux in the Cloud
What is the cloud? How has Linux empowered computer workloads in the cloud? We'll answer these questions and more in this lesson as we discuss what the cloud is and how Linux helped create it.
1.2 Major Open-Source Applications
In this lesson, we'll discuss and examine some of the more popular Linux desktop applications, including email clients and applications for managing office documents, web browsing, image editing, and more.
Did you know that a large portion of the websites on the internet today are running Apache on Linux? In this lesson, we'll discuss and examine many of the more popular Linux server applications such as Apache, MySQL, and NGINX.
Linux makes for an excellent development platform! In this lesson, we'll examine and discuss some of the various programming and scripting languages such as C, Java, PHP, and Python. We'll also look at using the shell itself.
Package Management Tools and Repositories
Linux distros tend to fall into categories when it comes to package management. In this lesson, we'll discuss what a package is, as well as the various methods for keeping track of which packages are installed and from what sources.
1.3 Open-Source Software and Licensing
The Open Source Philosophy
What does "open source" mean? We may not realize it, but we use open source almost every time we interact with the digital world! In this lesson, we'll examine and discuss the open source philosophy and how it pertains to licensing models.
Open-source licensing generally permits software to be freely used, modified, and shared. But there are nuances to the different types of open-source licenses. In this lesson, we'll examine and discuss the forms of open-source licensing and what each model means to developers and users.
The Free Software Foundation (FSF) and Open Source Initiative (OSI)
The Free Software Foundation (FSF) and Open Source Initiative (OSI) represent open-source business models. In this lesson, we'll examine and discuss these models and their impact on both developers and users.
1.4 ICT Skills and Working in Linux
Using the Linux desktop is easy! In this lesson, we'll jump into a Linux desktop and discuss configuration options, web usage, and privacy concerns.
Getting to the Command Line
Where we're going, we don't need desktops! The command line isn't something you should be afraid of. In fact, if you pursue a career in Linux, or IT in general, you're going to find yourself using the command line a lot. In this lesson, we'll discuss how to access the command line.
Industry Uses of Linux, Cloud Computing, and Virtualization
By now, we know that Linux is in use all around us in the digital world. In this lesson, we'll discuss how Linux is used for virtualization and cloud computing.
Topic 2: Finding Your Way on a Linux System
2.1 Command Line Basics
Finally, we get behind the command line! In this lesson, we'll look at the basics of using the command line as an interface to the basic shell.
Command Line Syntax
As we get more comfortable using the command line, we'll learn some tips and tricks for using it more effectively, including some basic syntax.
Did you know we can assign variables for use in the shell? In fact, some variables are already set for us. In this lesson, we'll assign and reference variables in the command line.
If we remember our CLI syntax, we can infer that some of the content we enter into the shell should be interpreted as text, not a command. This brings us to quoting and the way we can encapsulate and preserve data and strings.
2.2 Using the Command Line to Get Help
Did you know that you have access to command documentation from the command line? In this lesson, we'll discuss the onboard documentation provided by the Linux man pages (installed software documentation files included in most packages). We'll learn how to search through a single file, as well as all man pages, for specific keywords.
Info pages are similar to man pages, but often provide more detailed documentation. In addition, they support a structure for linking pages together into a larger body of documentation.
2.3 Using Directories and Listing Files
Files and Directories
In this lesson, we'll familiarize ourselves with the Linux filesystem hierarchy, as well as moving around the filesystem of a Linux host. We'll learn how to find out where we are, as well as how to traverse the filesystem to other directories.
Hidden Files and Directories
In this lesson, we'll learn about hidden files and directories and some common use cases. As we'll see, these files and directories aren't hidden as a form of secrecy — instead, they're hidden from the default view of a folder's contents to prevent clutter.
Each user on a Linux system is assigned a home directory. This is often a private directory for the user's files. In this lesson, we'll examine the home directory of a user.
Absolute and Relative Paths
There are two ways to reference files and directories: from an absolute perspective, or from a perspective relative to where we currently are in the filesystem. In this lesson, we'll examine what that means and how we can use one or the other from the command line.
2.4 Creating, Moving, and Deleting Files
Files and Directories
Now that we're comfortable moving around in our files and directories, let's learn how to actually create new files and directories! In this lesson, we'll examine how we can create files and directories and move them from one location to another. We'll also learn how to delete files and directories.
Many Linux filesystems are case-sensitive. In this lesson, we examine what that means.
In this lesson, we'll examine simple globbing and how it can make things easier for us (or introduce unwanted effects). Globbing is a technique that prevents us from having to discretely specify every file or directory we want to interact with, and instead lets us use something they all have in common.
Topic 3: The Power of the Command Line
3.1 Archiving Files on the Command Line
Files and Directories
In this lesson, we'll learn how to create an archive quickly using the command line. In addition, we'll see how we can add and extract individual files from the archive.
Archives and Compression
In this lesson, we'll build on our discussion of archiving by learning how compression can be used to reduce the file size of an archive.
3.2 Searching and Extracting Data from Files
Command Line Pipes
Command line pipes are one of the most powerful tools you can use in the command line and are a critical skill to develop as you hone your Linux skill set. In this lesson, we'll take a comprehensive look at pipes and their use in the command line. We will also go over a few commands that are commonly used with piping.
We can use I/O redirection to send the output from a command into a file, or to read input into a command from a file. This allows us to create files from our result sets!
Basic Regular Expressions
Don't be afraid of regular expressions! They may seem intimidating at first, but regular expressions are a powerful tool in your toolset. In this lesson, we'll examine the most basic regular expressions and how we can use them in our day-to-day usage of the command line.
3.3 Turning Commands into a Script
Basic Shell Scripting
I could have scripted this whole thing? Just about everthing we can do from the command line, we can do using a script. In this lesson, we'll look at the anatomy of a shell script and work through a simple example.
Awareness of Common Text Editors (vi and nano)
In this lesson, we'll discuss nano and vim, two common Linux text editing applications. While nano may seem like the easier of the two, vim is a powerful editor that can save time. Being aware of these two common editors means you'll have access to a text editor on the majority of Linux systems.
Topic 4: The Linux Operating System
4.1 Choosing an Operating System
Differences between Windows, OS X, and Linux
In this lesson, we'll examine some of the key differences between Windows, OS X (macOS), and Linux. Being aware of these differences gives us additional context on the Linux operating system and how it compares to other choices.
Distribution Lifecycle Management
In this lesson, we'll discuss and examine the distribution lifecycle and how it affects system stability and feature sets. Knowing the differences in release cycles helps us make a better decision when choosing a Linux distribution for a specific use case.
4.2 Understanding Computer Hardware
In this lesson, we'll take a high-level look at compute hardware and its primary components. We'll discuss components such as the processor, the motherboard, data storage, memory, and the drivers that make them work together.
4.3 Where Data Is Stored
Programs and Configuration
Where is configuration data stored? In this lesson, we'll discuss and examine common locations for configuration data and data used by programs on the system. Knowing where configuration data is stored is an important part of becoming familiar with Linux as an operating system.
Where can I find process data? In this lesson, we'll discuss and examine how to find process data, or data used by running processes. Knowing where to find process information is helpful when determing what a process is up to and how it may be affecting system performance.
In this lesson, we'll examine the system messaging that is produced by the kernel. Kernel messages are often used for troubleshooting hardware devices, and knowing how to view those messages is an important part of working in Linux.
Check the logs! System and application logging is often where we begin troubleshooting why something isn't working the way we think it should. Being able to locate and work with these logs is a critical step in gathering information for verification or troubleshooting. In this lesson, we'll examine where to find logs, as well as the service that enables logging.
4.4 Your Computer on the Network
Internet, Network, and Routers
In this lesson, we'll take a high-level crash course on networks, routers, and the internet in general. We'll discuss addressing and how data moves through the network so that we have a better understanding of Linux on the network.
Querying DNS Client Configuration
What IP is www.linuxacademy.com? To answer this question, we must use DNS. In this lesson, we'll examine how we can find our DNS configuration and what that means in terms of resolving a hostname like www.linuxacademy.com to an IP like 10.0.1.10.
Querying Network Configurations
In this lesson, we'll discuss and examine our network settings. This information provides us with our IP address, the network we're part of, and the route our traffic will take to reach various destinations.
Topic 5: Security and File Permissions
5.1 Basic Security and Identifying User Types
Root and Standard Users
In this lesson, we'll examine the differences between the root user and standard users. We will also discuss sudo as a means of elevating the permissions of standard users.
In this lesson, we'll discuss the difference between a standard user and a system or service user. We'll use service accounts to segregate service processes and data, sandboxing each service in its own account. By doing so, we limit the amount of resources a single service or account can access.
5.2 Creating Users and Groups
User and Group Commands
In this lesson, we'll examine how users and groups can be created and modified. Understanding how to add users and groups is a fundamental skill for managing Linux systems.
In this lesson, we'll discuss user IDs and their purpose in the Linux operating system. Understanding user IDs and how they are used prevents us from having ID collisions on the system.
5.3 Managing File Permissions and Ownership
File and Directory Permissions and Ownership
File and directory permissions are the foundation of security in Linux. Understanding how to modify and change the ownership and modes of files and directories allows us to set restrictions on who has access to those files and directories. In this lesson, we'll explore both ownership and modes using chown and chmod.
5.4 Special Directories and Files
Using Temporary Files and Directories
In this lesson, we'll explore the difference between /tmp and /var/tmp, as well as the utility mktemp for creating ad-hoc temporary files of a random name. Understanding these directory differences will help us determine the right directory for our temporary file holding needs.
Symbolic links allow us to reference the same file or directory via a custom path and filename. This is useful for retaining backwards compatibility when making filename changes. Understanding how to create and work with these links gives us options for referencing files and directories.
Linux Essentials Practice Exam 010
LPI Linux Essentials 010-160 Practice Exam
How to Prepare for the Exam
Let's take a couple minutes to talk about how to prepare for the exam!
What's Next After Certification
Where do you go from here? Let's take a look at logical next steps in your certification journey!