LPI Linux Essentials Study Guide

Sybex, 2020

by Christine Bresnahan and Richard Blum



Description

Provides a solid foundation for those considering a career in IT—covers the objectives of the new Linux Essentials Exam 010-160 v1.6

Linux is a secure, reliable, open source alternative to costly operating systems such as Microsoft Windows. As large organizations worldwide continue to add Linux servers, the need for IT professionals skilled in Linux continues to grow. The LPI Linux Essentials Study Guide is a valuable resource for anyone preparing to take the new Linux Essentials Exam—the entry-level certification from The Linux Professional Institute (LPI) which validates knowledge of Linux concepts and applications.

Written by recognized experts on Linux and open source technologies, this accessible, user-friendly guide covers desktop skills, the command line, directories and files, networks, scripting, security, users and permissions, and much more. Clear, concise chapters provide numerous hands-on tutorials, real-world examples, color illustrations, and practical end-of-chapter exercises and review questions. An ideal introduction for those new to Linux or considering a career in IT, this guide helps readers:

Learn the operation and components of Linux desktops and servers
Understand open source software, licensing, and applications
Configure networks, security, cloud services, storage, and devices
Create users and groups and set permissions and ownership
Use the command line and build automation scripts
LPI Linux Essentials Study Guide: Exam 010 v1.6 is perfect for anyone beginning a career in IT, newcomers to Linux, students in computer courses, and system administrators working with other operating systems wanting to learn more about Linux and other open source solutions.

Table of Contents

TABLE OF CONTENTS
Introduction xix

Assessment Test xxix

Chapter 1 Selecting an Operating System 1
What is an OS? 2
What is a Kernel? 2
What Else Identifies an OS? 3
Investigating User Interfaces 4
Using a Text-Mode User Interface 5
Using a Graphical User Interface 7
Where Does Linux Fit in the OS World? 9
Comparing Linux to Unix 9
Comparing Linux to macOS 11
Comparing Linux to Windows 12
What is a Distribution? 14
Creating a Complete Linux-Based OS 14
A Summary of Common Linux Distributions 15
Understanding Release Cycles 17
Embedded Linux Systems 18
Linux in the Cloud 19
What is Cloud Computing? 19
What Are the Cloud Services? 21
Summary 23
Exam Essentials 23
Review Questions 25

Chapter 2 Understanding Software Licensing 27
Investigating Software Licenses 28
Exploring Copyright Protection and Software 28
Using Licenses to Modify Copyright Terms 30
Looking at the Free Software Foundation 31
Understanding the FSF Philosophy 31
Examining Free Software and the GPL 32
Looking at the Open Source Initiative 33
Understanding the Open Source Philosophy 33
Defining Open Source Software 35
Looking at the Creative Commons 36
Using Open Source Licenses 36
Understanding Open Source Licenses 36
Understanding Open Source Business Models 38
Summary 39
Exam Essentials 40
Review Questions 41

Chapter 3 Investigating Linux’s Principles and Philosophy 43
Linux Through the Ages 44
Understanding Linux’s Origins 44
Seeing Today’s Linux World 47
Using Open Source Software 47
Understanding Basic Open Source Principles 47
Linux as a Software Integrator 49
Understanding OS Roles 50
Looking At Embedded Computers 50
Exploring Desktop and Laptop Computers 51
Investigating Server Computers 52
Summary 53
Exam Essentials 53
Review Questions 55

Chapter 4 Using Common Linux Programs 57
Using a Linux Desktop Environment 58
Choosing a Desktop Environment 58
Launching Programs 61
Using a File Manager 63
Working with Productivity Software 66
Finding the Right Tool for the Job 66
Using a Web Browser 67
Using Email Clients 68
Using Office Tools 68
Using Multimedia Applications 69
Using Linux for Cloud Computing 70
Using Mobile Applications 71
Using Server Programs 72
Identifying Common Server Protocols and Programs 72
Focusing on Web Servers 76
Installing and Launching Servers 76
Securing Servers 77
Managing Programming Languages 78
Choosing a Compiled vs. an Interpreted Language 78
Identifying Common Programming Languages 79
Handling Software Packages 81
Understanding Software Packages 81
Identifying Common Package Tools 81
Summary 82
Exam Essentials 83
Review Questions 84

Chapter 5 Getting to Know the Command Line 87
Starting a Command Line 88
Launching a Terminal 88
Logging into a Text-Mode Console 91
Running Programs 92
Understanding Text-Mode Program Syntax 93
Running Text-Mode Programs 94
Running GUI Programs 95
Running Programs in the Background 96
Using Shell Features 97
Using Command Completion 97
Using Command History 98
Getting Help Using Man Pages 99
Understanding the Purpose of Man Pages 100
Locating Man Pages by Section Number 100
Searching for a Man Page 102
Reading Man Pages 102
Using less 104
Getting Help Using Info Pages 106
Understanding the Purpose of Info Pages 106
Reading Info Pages 107
Finding Additional Documentation 109
Locating Program Documentation on Your Computer 109
Locating Program Documentation Online 112
Consulting Experts 112
Summary 114
Exam Essentials 114
Review Questions 116

Chapter 6 Managing Hardware 119
Learning About Your CPU 120
Understanding CPU Families 120
Identifying Your CPU 123
Identifying Motherboard Capabilities 123
Sizing Your Power Supply 125
Understanding Disk Issues 125
Disk Interfaces 126
Partitioning a Disk 127
Understanding Filesystem Issues 130
Using Removable and Optical Disks 133
Managing Displays 134
Understanding the Role of X 134
Using Common Display Hardware 136
Handling USB Devices 137
Managing Drivers 138
Understanding Types of Drivers 138
Locating and Installing Drivers 139
Summary 140
Exam Essentials 140
Review Questions 141

Chapter 7 Managing Files 143
Understanding Where Things Go 144
User Files vs. System Files 144
The Filesystem Hierarchy Standard 146
Important Directories and Their Contents 147
Exploring Files and Directories 149
Obtaining File Listings 149
Changing Directories 151
Using Absolute and Relative File References 152
Manipulating Files 154
Creating Files 154
Copying Files 155
Moving and Renaming Files 157
Using Links 157
Deleting Files 159
Using Wildcards 160
Understanding Case Sensitivity 160
Manipulating Directories 161
Creating Directories 161
Deleting Directories 162
Managing Directories 163
Summary 164
Exam Essentials 164
Review Questions 165

Chapter 8 Searching, Extracting, and Archiving Data 167
Using Regular Expressions 168
Searching For and Extracting Data 170
Using grep 170
Using find 172
Using wc 174
Using cut 175
Using sort 176
Using cat 177
Redirecting Input and Output 178
Using Basic Redirection Operators 178
Using Pipes 181
Generating Command Lines 182
Archiving Data 183
Using tar 183
Using Compression 187
Using zip 188
Summary 191
Exam Essentials 191
Review Questions 193

Chapter 9 Exploring Processes and Process Data 195
Understanding Package Management 196
Linux Package Management Principles 196
Understanding Package Systems 197
Managing Red Hat Systems 199
Managing Debian Systems 200
Understanding the Process Hierarchy 202
Identifying Running Processes 203
Using ps to Identify Processes 203
Using top to Identify Processes 205
Measuring Memory Use 207
Using Log Files 208
Locating Log Files 209
Producing More Verbose Log File Entries 210
Examining the Kernel Ring Buffer 211
Summary 211
Exam Essentials 212
Review Questions 213

Chapter 10 Editing Files 215
Understanding the Role of Text Files 216
Choosing an Editor 218
Editing Files with nano 219
Using Text Editor Conventions 221
Exploring Basic nano Text-Editing Procedures 221
Saving Your Changes from nano 223
Editing Files with vi 224
Understanding vi Modes 224
Exploring Basic vi Text-Editing Procedures 226
Saving Your Changes from vi 229
Summary 230
Exam Essentials 230
Review Questions 231

Chapter 11 Creating Scripts 233
Beginning a Shell Script 234
Using Commands 235
Using Arguments 237
Using Variables 238
Using Conditional Expressions 241
Using Loops 243
Using Functions 244
Setting the Script’s Exit Value 245
Summary 246
Exam Essentials 246
Review Questions 248

Chapter 12 Understanding Basic Security 251
Understanding Accounts 252
Understanding Account Features 253
Identifying Accounts 256
Understanding Groups 258
Using Account Tools 259
Discovering Your Own Identity 260
Learning Who’s Online 261
Working as root 263
Understanding User Types 263
Acquiring root Privileges 264
Using root Privileges Safely 266
Summary 268
Exam Essentials 268
Review Questions 270

Chapter 13 Creating Users and Groups 273
Creating New Accounts 274
Deciding on a Group Strategy 274
Selecting a Good Password 275
Creating Accounts Using GUI Tools 278
Creating Accounts from the Shell 280
Modifying Accounts 283
Deciding When to Modify Accounts 283
Checking for Logged-in Users 283
Modifying Accounts Using GUI Tools 284
Modifying Accounts from the Shell 286
Deleting Accounts 289
Avoiding Account Deletion Pitfalls 289
Deleting Accounts Using GUI Tools 290
Deleting Accounts from the Shell 291
Managing Groups 291
Managing Groups Using GUI Tools 291
Managing Groups from the Shell 294
Summary 295
Exam Essentials 295
Review Questions 297

Chapter 14 Setting Ownership and Permissions 299
Setting Ownership 300
Understanding Ownership 300
Setting Ownership in a File Manager 301
Setting Ownership in a Shell 302
Setting Permissions 304
Understanding Permissions 304
Setting Permissions in a File Manager 308
Setting Permissions in a Shell 309
Setting the umask 310
Using Special Permission Bits and File Features 310
Using Sticky Bits 311
Using Special Execute Permissions 313
Hiding Files from View 314
Viewing Directories 315
Summary 315
Exam Essentials 315
Review Questions 317

Chapter 15 Managing Network Connections 319
Configuring Network Features 320
Graphical Tools 321
Command-Line Tools 323
Basic Network Troubleshooting 329
Sending Test Packets 330
Finding Host Information 331
Advanced Network Troubleshooting 333
The netstat Command 334
Examining Sockets 337
Summary 337
Exam Essentials 338
Review Questions 339

Appendix A Answers to Review Questions 341
Chapter 1: Selecting an Operating System 342
Chapter 2: Understanding Software Licensing 343
Chapter 3: Investigating Linux’s Principles and Philosophy 344
Chapter 4: Using Common Linux Programs 346
Chapter 5: Getting to Know the Command Line 347
Chapter 6: Managing Hardware 348
Chapter 7: Managing Files 349
Chapter 8: Searching, Extracting, and Archiving Data 351
Chapter 9: Exploring Processes and Process Data 352
Chapter 10: Editing Files 353
Chapter 11: Creating Scripts 354
Chapter 12: Understanding Basic Security 356
Chapter 13: Creating Users and Groups 357
Chapter 14: Setting Ownership and Permissions 358
Chapter 15: Managing Network Connections 359

Appendix B Setting Up a Linux Environment 363

Index 365

Comments

No comments posted yet. Add a comment


Useful Web sites:



Linux


DistroWatch
Here's where I keep up to date on the latest Linux distribution news.

Ubuntu
The most popular desktop Linux distribution.

openSUSE
A popular full-featured Linux distribution, great for both desktops and servers.

CentOS
A popular Linux server distribution.


Web Programming


PHP online manual
The ultimate resource in all PHP programming topics

MySQL online manual
The MySQL database online manual.

W3Schools
A great online tutorial and reference for many Web programming languages.


Bass Guitar


Fender basses
One of my favorites, I love the Fender Jazz bass. It's such a versatile instrument you can take it to just about any gig!

Lakland basses
The Lakland Skyline 55-01 bass is yet another of my favorite basses!


Bible Study


Reformed Theological Seminary
When I'm not reading computer books, I'm doing bible studies. The Reformed Theological Seminary has some great online courses for free that cover the basics of reformed theology.

BiblicalTraining.org
A smorgasbord of more reformed and evangelical seminary course recordings, all for free!