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 <.
LPI Linux Essentials Study Guide : Exam 010 V1. 6