LPI Linux Essentials Study Guide: Exam 010 v1.6
By Christine Bresnahan and Richard Blum
()
About this ebook
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.
Read more from Christine Bresnahan
CompTIA Linux+ Study Guide: Exam XK0-004 Rating: 0 out of 5 stars0 ratingsCompTIA Linux+ Study Guide: Exam XK0-005 Rating: 0 out of 5 stars0 ratingsCompTIA Linux+ Powered by Linux Professional Institute Study Guide: Exam LX0-103 and Exam LX0-104 Rating: 3 out of 5 stars3/5LPIC-1 Linux Professional Institute Certification Study Guide: Exam 101-500 and Exam 102-500 Rating: 0 out of 5 stars0 ratingsMastering Linux System Administration Rating: 0 out of 5 stars0 ratingsLPIC-2: Linux Professional Institute Certification Study Guide: Exam 201 and Exam 202 Rating: 0 out of 5 stars0 ratingsLinux Essentials Rating: 4 out of 5 stars4/5LPIC-1: Linux Professional Institute Certification Study Guide Rating: 4 out of 5 stars4/5
Related to LPI Linux Essentials Study Guide
Related ebooks
Linux Security Fundamentals Rating: 0 out of 5 stars0 ratingsCompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsCompTIA Linux+ Practice Tests: Exam XK0-005 Rating: 0 out of 5 stars0 ratingsCCENT ICND1 Study Guide: Exam 100-105 Rating: 0 out of 5 stars0 ratingsCCNA Routing and Switching Practice Tests: Exam 100-105, Exam 200-105, and Exam 200-125 Rating: 0 out of 5 stars0 ratingsCCNA Routing and Switching Complete Review Guide: Exam 100-105, Exam 200-105, Exam 200-125 Rating: 0 out of 5 stars0 ratingsLPIC-1: Linux Professional Institute Certification Study Guide Rating: 4 out of 5 stars4/5CompTIA IT Fundamentals Study Guide: Exam FC0-U51 Rating: 0 out of 5 stars0 ratingsCompTIA Security+ Practice Tests: Exam SY0-501 Rating: 0 out of 5 stars0 ratingsCompTIA PenTest+ Study Guide: Exam PT0-001 Rating: 0 out of 5 stars0 ratingsMCA Modern Desktop Administrator Practice Tests: Exam MD-100 and MD-101 Rating: 0 out of 5 stars0 ratingsCCNA Certification Study Guide, Volume 2: Exam 200-301 Rating: 0 out of 5 stars0 ratingsCompTIA A+ Complete Study Guide: Exam Core 1 220-1001 and Exam Core 2 220-1002 Rating: 4 out of 5 stars4/5CompTIA A+ Practice Tests: Exam 220-901 and Exam 220-902 Rating: 0 out of 5 stars0 ratingsCompTIA Cloud+ Study Guide: Exam CV0-002 Rating: 0 out of 5 stars0 ratingsCompTIA Network+ Review Guide: Exam N10-007 Rating: 0 out of 5 stars0 ratingsCompTIA A+ Complete Review Guide: Exam Core 1 220-1001 and Exam Core 2 220-1002 Rating: 5 out of 5 stars5/5Linux Essentials Rating: 4 out of 5 stars4/5CCNP Enterprise Certification Study Guide: Implementing and Operating Cisco Enterprise Network Core Technologies: Exam 350-401 Rating: 0 out of 5 stars0 ratingsAWS Certified Cloud Practitioner Study Guide: CLF-C01 Exam Rating: 5 out of 5 stars5/5CEH Certified Ethical Hacker Study Guide Rating: 3 out of 5 stars3/5CompTIA PenTest+ Practice Tests: Exam PT0-001 Rating: 0 out of 5 stars0 ratingsCompTIA PenTest+ Certification For Dummies Rating: 0 out of 5 stars0 ratingsCompTIA Server+ Study Guide: Exam SK0-004 Rating: 0 out of 5 stars0 ratingsCompTIA Network+ Review Guide: Exam N10-006 Rating: 0 out of 5 stars0 ratingsLinux Bible Rating: 0 out of 5 stars0 ratingsCompTIA Server+ Certification All-in-One Exam Guide, Second Edition (Exam SK0-005) Rating: 0 out of 5 stars0 ratingsMastering Linux Shell Scripting Rating: 4 out of 5 stars4/5CompTIA Server+ Study Guide: Exam SK0-005 Rating: 5 out of 5 stars5/5
Operating Systems For You
Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5macOS Sonoma For Dummies Rating: 0 out of 5 stars0 ratingsLinux Command-Line Tips & Tricks Rating: 0 out of 5 stars0 ratingsBash Command Line Pro Tips Rating: 5 out of 5 stars5/5iPhone Unlocked Rating: 0 out of 5 stars0 ratingsWindows 11 For Dummies Rating: 0 out of 5 stars0 ratingsWindows 11 All-in-One For Dummies Rating: 5 out of 5 stars5/5The Linux Command Line Beginner's Guide Rating: 4 out of 5 stars4/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5The Mac Terminal Reference and Scripting Primer Rating: 4 out of 5 stars4/5Hacking : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Ethical Hacking Rating: 5 out of 5 stars5/5Make Your PC Stable and Fast: What Microsoft Forgot to Tell You Rating: 4 out of 5 stars4/5The Windows Command Line Beginner's Guide: Second Edition Rating: 4 out of 5 stars4/5iPhone For Dummies Rating: 0 out of 5 stars0 ratingsMacBook Pro User Manual: 2022 MacBook Pro User Guide for beginners and seniors to Master Macbook Pro like a Pro Rating: 0 out of 5 stars0 ratingsApple Card and Apple Pay: A Ridiculously Simple Guide to Mobile Payments Rating: 0 out of 5 stars0 ratingsNetworking for System Administrators: IT Mastery, #5 Rating: 5 out of 5 stars5/5Ultimate SwiftUI Handbook for iOS Developers: A complete guide to native app development for iOS, macOS, watchOS, tvOS, and visionOS Rating: 0 out of 5 stars0 ratingsTor Darknet Bundle: Master the Art of Invisibility Rating: 0 out of 5 stars0 ratingsUbuntu: 101 Tips & Tricks Rating: 0 out of 5 stars0 ratingsHacking for Beginners: Mastery Guide to Learn and Practice the Basics of Computer and Cyber Security Rating: 0 out of 5 stars0 ratingsExploring Windows 11: The Illustrated, Practical Guide to Using Microsoft Windows Rating: 0 out of 5 stars0 ratingsXDA Developers' Android Hacker's Toolkit: The Complete Guide to Rooting, ROMs and Theming Rating: 2 out of 5 stars2/5Raspberry Pi Cookbook for Python Programmers Rating: 0 out of 5 stars0 ratingsLinux All-In-One For Dummies Rating: 2 out of 5 stars2/5Linux for Beginners: Linux Command Line, Linux Programming and Linux Operating System Rating: 4 out of 5 stars4/5Linux Bible Rating: 0 out of 5 stars0 ratings
Reviews for LPI Linux Essentials Study Guide
0 ratings0 reviews
Book preview
LPI Linux Essentials Study Guide - Christine Bresnahan
Introduction
This book you hold in your hands provides a solid introduction to the Linux operating system. As its title suggests, it will give you the essential knowledge to begin using and managing this powerful operating system (OS), which is an important one in today’s computing world.
The Linux Professional Institute, or LPI (lpi.org), offers a series of Linux certifications. These certifications aim to provide proof of skill levels for employers; if you’ve passed a particular certification, you should be competent to perform certain tasks on Linux computers. The LPI exams include Linux Essentials, LPIC-1, LPIC-2, and the LPIC-3 series. As the name implies, the Linux Essentials exam is the lowest level of the four exams, covering the most basic tasks of using and administering a Linux computer.
The purpose of this book is to help you pass the Linux Essentials exam, updated in 2019 to version 1.6. The Linux Essentials exam is meant to certify that you:
Understand the open source industry
Have knowledge of the most popular open source applications
Understand the major components of Linux
Can work at the Linux command line
Have basic knowledge of security and administration-related concepts
Know where to go for help
Why Become Linux Certified?
With the growing popularity of Linux (and the increase in Linux-related jobs) comes hype. With all the hype that surrounds Linux it’s become hard for employers to distinguish between employees who are competent Linux users and those who just know the buzzwords. This is where the Linux Essentials certification comes in.
With a Linux Essentials certification, you will establish yourself as a Linux user who is familiar with the Linux platform and its applications and who can use any type of Linux system. LPI has created the Linux Essentials exams as a way for employers to have confidence in knowing their employees who pass the exam will have the skills necessary to get the job done.
How to Become Certified
The certification is available to anyone who passes the LPI Linux Essentials required exam. The current version of the exam is version 1.6 and is denoted as 010-160.
The exam is administered by Pearson VUE. The exam can be taken at any Pearson VUE testing center. If you pass, you will get a certificate in the mail saying that you have passed.
To register for the exam with Pearson VUE register online at home.pearsonvue .com. You’ll have to provide your name, mailing address, phone number, employer, when and where you want to take the test (which testing center), and your credit card number (arrangement for payment must be made at the time of registration).
Who Should Buy This Book
You may have been assigned this book for a class that you’re taking, but if not, it can still have value for self-study or as a supplement to other resources. If you’re new to Linux, this book covers the material that you will need to learn the OS from the beginning. You can pick up this book and learn from it even if you’ve never used Linux before. If you’re already familiar with Linux, you’ll have a leg up on many of the topics described in these pages.
This book is written with the assumption that you know at least a little about computers generally, such as how to use a keyboard, how to insert a disc into an optical drive, and so on. Chances are that you have used computers in a substantial way in the past—perhaps even Linux, as an ordinary user—or maybe you have used Windows or macOS. We do not assume that you have knowledge of how to use a Linux system.
It will also help to have a Linux system available to follow along with. Each chapter contains a simple exercise that will walk you through the basic concepts presented in the chapter. This provides the crucial hands-on experience that you’ll need, both to pass the exam and to do well in the Linux world.
Although the LPI Linux Essentials exam is Linux distribution neutral, it’s impossible to write exercises that work in all Linux distributions. That said, the exercises in this book assume you have a learning environment similar to the one described in Appendix B Setting up a Linux Environment.
How This Book Is Organized
This book consists of 15 chapters, two appendixes, plus this introduction and the assessment test after the introduction. The chapters are organized as follows:
Chapter 1, Selecting an Operating System,
provides a birds-eye view of the world of operating systems. The chapter will help you understand exactly what Linux is and the situations in which you might want to use it.
Chapter 2, Understanding Software Licensing,
describes copyright law and the licenses that both Linux and non-Linux OSs use to expand or restrict users’ rights to use and copy software.
Chapter 3, Investigating Linux’s Principles and Philosophy,
covers Linux’s history and the ways in which Linux, and other OSs, are commonly used.
Chapter 4, Using Common Linux Programs,
looks at the major categories of Linux software, and it provides pointers to some of the most popular Linux programs.
Chapter 5, Getting to Know the Command Line,
tackles using typed commands to control Linux. Although many new users find this topic intimidating, command-line control of Linux is important.
Chapter 6, Managing Hardware,
provides advice on how to select and use hardware in Linux. Specific topics range from the central processing unit (CPU) to device drivers.
Chapter 7, Managing Files,
describes how to move, rename, delete, and edit files. Directories are just a special type of file, so they are covered here as well.
Chapter 8, Searching, Extracting, and Archiving Data,
summarizes the tools that you can use to find data on your computer, as well as how you can manipulate data archive files for data transport and backup purposes.
Chapter 9, Exploring Processes and Process Data,
describes how to install programs in Linux and how to adjust the priority of running programs or terminate selected programs.
Chapter 10, Editing Files,
introduces the topic of editing text files. This includes the basic features of the nano and vi text-mode text editors, as well as some common configuration file and formatted text file conventions.
Chapter 11, Creating Scripts,
describes how to create simple scripts, which are programs that can run other programs. You can use scripts to help automate otherwise tedious manual tasks, thus improving your productivity.
Chapter 12, Understanding Basic Security,
introduces the concepts that are critical to understanding Linux’s multiuser nature. It also covers super user privileges, which Linux uses for most administrative tasks.
Chapter 13, Creating Users and Groups,
covers the software and procedures you use to create, modify, and delete accounts and groups, which define who may use the computer.
Chapter 14, Setting Ownership and Permissions,
describes how to control which users may access files and in what ways they may do so. In conjunction with users and groups, ownership and permissions control your computer’s security.
Chapter 15, Managing Network Connections,
covers the critical topic of telling Linux how to use a network, including testing the connection and some basic network security measures.
Each chapter begins with a list of the exam objectives that are covered in that chapter. The book doesn’t cover the objectives in order. Thus, you shouldn’t be alarmed at some of the odd ordering of the objectives within the book. At the end of each chapter, you’ll find a couple of elements you can use to prepare for the exam:
Exam Essentials This section summarizes important information that was covered in the chapter. You should be able to perform each of the tasks or convey the information requested.
Review Questions Each chapter concludes with 10 review questions. You should answer these questions and check your answers against the ones provided in Appendix A. If you can’t answer at least 80 percent of these questions correctly, go back and review the chapter, or at least those sections that seem to be giving you difficulty.
The review questions, assessment test, and other testing elements included in this book are not derived from the actual exam questions, so don’t memorize the answers to these questions and assume that doing so will enable you to pass the exam. You should learn the underlying topic, as described in the text of the book. This will let you answer the questions provided with this book and pass the exam. Learning the underlying topic is also the approach that will serve you best in the workplace—the ultimate goal of a certification.
To get the most out of this book, you should read each chapter from start to finish and then check your memory and understanding with the chapter-end elements. Even if you’re already familiar with a topic, you should skim the chapter; Linux is complex enough that there are often multiple ways to accomplish a task, so you may learn something even if you’re already competent in an area.
Additional Study Tools
Readers of this book can access a website that contains several additional study tools, including the following:
Readers can access these tools by visiting wiley.com/go/sybextestprep.
Sample Tests All the questions in this book are there, including the assessment test at the end of this introduction and the questions from the review sections at the end of each chapter. In addition, there are two bonus exams.
Electronic Flashcards The additional study tools include questions in flashcard format (a question followed by a single correct answer). You can use these flashcards to review your knowledge of the exam objectives.
Glossary of Terms as a PDF File In addition, there is a searchable glossary in PDF format, which can be read on all platforms that support PDF.
Conventions Used in This Book
This book uses certain typographic styles in order to help you quickly identify important information and to avoid confusion over the meaning of words such as onscreen prompts. In particular, look for the following styles:
Italicized text indicates key terms that are described at length for the first time in a chapter. (Italics are also used for emphasis.)
A monospaced font indicates the contents of configuration files, messages displayed at a text-mode Linux shell prompt, filenames, text-mode command names, and Internet URLs.
Italicized monospaced text indicates a variable—information that differs from one system or command run to another, such as the name of a client computer or a process ID number.
Bold monospaced text is information that you’re to type into the computer, usually at a Linux shell prompt. This text can also be italicized to indicate that you should substitute an appropriate value for your system. (When isolated on their own lines, commands are preceded by non-bold monospaced $ or # command prompts, denoting regular user or system administrator use, respectively.)
In addition to these text conventions, which can apply to individual words or entire paragraphs, a few conventions highlight segments of text:
A note indicates information that’s useful or interesting but that’s somewhat peripheral to the main text. A note might be relevant to a small number of networks, for instance, or it may refer to an outdated feature.
A tip provides information that can save you time or frustration and that may not be entirely obvious. A tip might describe how to get around a limitation or how to use a feature to perform an unusual task.
Warnings describe potential pitfalls or dangers. If you fail to heed a warning, you may end up spending a lot of time recovering from a bug, or you may even end up restoring your entire system from scratch.
Exercise
An exercise is a procedure you should try on your own computer to help you learn about the material in the chapter. Don’t limit yourself to the procedures described in the exercises, though! Try other commands and procedures to really learn about Linux.
A real-world scenario is a type of sidebar that describes a task or example that’s particularly grounded in the real world. This may be a situation I or somebody I know has encountered, or it may be advice on how to work around problems that are common in real, working Linux environments.
The Exam Objectives
Behind every computer industry exam you can be sure to find exam objectives—the broad topics in which exam developers want to ensure your competency. The official exam objectives are listed here. (They’re also printed at the start of the chapters in which they’re covered.)
Exam objectives are subject to change at any time without prior notice and at LPI’s sole discretion. Please visit LPI’s website (lpi.org) for the most current listing of exam objectives.
Exam 010-160 Objectives
The following are the areas in which you must be proficient in order to pass the Linux Essentials 010-160 exam. This exam is broken into five main topics, each of which has three to eight objectives. Each objective has an associated weight, which reflects its importance to the exam as a whole. Refer to the LPI website to view the weights associated with each objective. The five main topics are as follows:
Topic 1: The Linux Community and a Career in Open Source
1.1 Linux Evolution and Popular Operating Systems (Chapters 1 and 3)
Knowledge of Linux development and major distributions
Key knowledge areas:
Distributions:
Embedded Systems
Linux in the Cloud
1.2 Major Open Source Applications (Chapter 4)
Awareness of major applications as well as their uses and development
Key knowledge areas:
Desktop applications
Server applications
Development languages
Package management tools and repositories
1.3 Open Source Software and Licensing (Chapter 2)
Open communities and licensing Open Source Software for business
Key knowledge areas:
Open source philosophy
Open source licensing
Free Software Foundation (FSF), Open Source Initiative (OSI)
1.4 ICT Skills and Working in Linux (Chapters 4 and 5)
Basic Information and Communication Technology (ICT) skills and working in Linux
Key knowledge areas:
Desktop skills
Getting to the command line
Industry uses of Linux, cloud computing and virtualization
Topic 2: Finding Your Way on a Linux System
2.1 Command Line Basics (Chapters 5, 7 and 11)
Basics of using the Linux command line
Key knowledge areas:
Basic shell
Command line syntax
Variables
Quoting
2.2 Using the Command Line to Get Help (Chapter 5)
Running help commands and navigation of the various help systems
Key knowledge areas:
Man pages
Info pages
2.3 Using Directories and Listing Files (Chapter 7)
Navigation of home and system directories and listing files in various locations
Key knowledge areas:
Files, directories
Hidden files and directories
Home directories
Absolute and relative paths
2.4 Creating, Moving, and Deleting Files (Chapter 7)
Create, move, and delete files and directories under the home directory.
Key knowledge areas:
Files and directories
Case sensitivity
Simple globbing
Topic 3: The Power of the Command Line
3.1 Archiving Files on the Command Line (Chapter 8)
Archiving files in the user home directory
Key knowledge areas:
Files, directories
Archives, compression
3.2 Searching and Extracting Data from Files (Chapters 5 and 8)
Search and extract data from files in the home directory.
Key knowledge areas:
Command line pipes
I/O redirection
Basic Regular Expressions using ., [ ], *, and ?
3.3 Turning Commands into a Script (Chapters 10 and 11)
Turning repetitive commands into simple scripts
Key knowledge areas:
Basic shell scripting
Awareness of common text editors (vi and nano)
Topic 4: The Linux Operating System
4.1 Choosing an Operating System (Chapter 1)
Knowledge of major operating systems and Linux distributions
Key knowledge areas:
Differences between Windows, OS X, and Linux
Distribution life cycle management
4.2 Understanding Computer Hardware (Chapter 6)
Familiarity with the components that go into building desktop and server computers
Key knowledge areas:
Motherboards, processors, power supplies, optical drives, peripherals
Hard drives, solid state disks and partitions, /dev/sd*
Drivers
4.3 Where Data Is Stored (Chapters 7 and 9)
Where various types of information are stored on a Linux system
Key knowledge areas:
Programs and configuration
Processes
Memory addresses
System messaging
Logging
4.4 Your Computer on the Network (Chapter 15)
Querying vital networking configuration and determining the basic requirements for a computer on a Local Area Network (LAN)
Key knowledge areas:
Internet, network, routers
Querying DNS client configuration
Querying network configuration
Topic 5: Security and File Permissions
5.1 Basic Security and Identifying User Types (Chapter 12)
Various types of users on a Linux system
Key knowledge areas:
Root and standard users
System users
5.2 Creating Users and Groups (Chapter 13)
Creating users and groups on a Linux system
Key knowledge areas:
User and group commands
User IDs
5.3 Managing File Permissions and Ownership (Chapter 14)
Understanding and manipulating file permissions and ownership settings
Key knowledge areas:
File permissions and ownership
Directory permissions and ownership
5.4 Special Directories and Files (Chapter 7)
Special directories and files on a Linux system including special permissions
Key knowledge areas:
Using temporary files and directories
Symbolic links
Assessment Test
What elements does a Linux distribution bundle that make it unique? Choose all that apply.
Kernel
Applications
User and group accounts
GNU utilities
Package management utility
What graphical interfaces does Linux support? (Choose all that apply.)
macOS
GNOME
KDE Plasma
Metro
Cinnamon
True or false: The Free Software Foundation (FSF) advocates free software, which means they believe you should not have to pay money for software.
Which of the following are open source software licenses? (Choose all that apply.)
MIT
GPL
BSD
Creative Commons
Apache
What are the three common categories for Linux systems?
Embedded
Graphical
Desktop
Industrial
Server
What are some of the recent changes seen in Linux? (Choose all that apply.)
Improvements in the kernel
Improvements in support tools
Creation of new support tools
Creation of new distributions
Payment is now required to install Linux.
Which of the following are software suites that allow you to set up a private cloud using Linux? (Choose all that apply.)
Nextcloud
Zoho
ownCloud
Castero
Kdenlive
True or false: The dpkg and rpm package management utilities are both low-level tools.
True or false: When working in a terminal, the shell prompt often ends in either a dollar sign or a greater-than symbol for ordinary users.
Which of the following commands allow you to search the man pages for the keyword copy? (Choose all that apply.)
apropos copy
man -k copy
whereis copy
whatis copy
locate copy
Which is the current version of the original ext filesystem?
extfs
ext2fs
ext3fs
ext4fs
btrfs
What command(s) display(s) information about the CPU that your Linux system is running on? (Choose all that apply.)
uname -a
lsusb
lspci
lscpu
man cpu
What type of files are typically stored in the /usr folder?
User data files
Configuration files
Critical system files
Noncritical system program and data files
Program library files
Which wildcard character matches any character or set of characters?
*
?
[]
_
-
Which of the following are considered characters that can be used for regular expression matching rules? (Choose all that apply.)
*
[]
>
?
.
Which tar option is used to compress the archive into a tarball using xz compression?
-X
-j
-z
-v
-J
What commands could you use to see if the MySQL database server is currently running on your system? (Choose all that apply.)
ls
ps
top
free
yum
What command-line command displays the overall memory usage on your Linux system?
ps
top
free
ls
yum
Which of the following are text editors you can use at the command line on a text-based tty terminal? (Choose all that apply.)
vi
nano
gedit
Kate
emacs
The first line of a shell script is #!/bin/bash. What does that mean?
The script won’t run on most Linux systems.
The script requires the Bash shell to run.
The script requires the C shell to run.
The script will run on Unix systems.
The script can be run without specifying the full pathname to the script file.
What variable can you use to view the exit status of a script after it completes?
$?
$0
$1
$PATH
$exit
Which of the following typically holds user account passwords on a modern Linux distribution?
/etc/passwd
/bin/bash
/etc/shadow
/etc/group
/sbin/nologin
A(n) _____ account is one that most common users have as their account type.
home
system
administrative
standard
root
When you create a new account with the useradd utility, if you did not set a password with an option the account will be locked. What command should you use with super user privileges to unlock it?
usermod -uusername
passwordusername
passwdusername
useradd -ppasswordusername
unlockusername
True or false: When a user account is created, it is automatically assigned a primary group.
Which commands can you use to change the group a file is assigned to? (Choose all that apply.)
chmod
chgrp
chage
chown
groupadd
What command would you use to make the file myfile.txt a hidden file?
chmod 755 myfile.txt
mv myfile.txt ~myfile.txt
cp myfile.txt ./myfile.txt
mv .myfile.txt myfile.txt
mv myfile.txt .myfile.txt
If your Linux server doesn’t have a graphical desktop installed, what two tools could you use to configure network settings from the command line?
nmcli
iwconfig
ip
netstat
ping
What tool allows you to send ICMP messages to a remote host to test network connectivity?
netstat
ifconfig
ping
iwconfig
ss
Answers to Assessment Test
A, B, D, and E. A Linux distribution bundles the Linux kernel, GNU utilities, applications, and a package management utility to make it unique, so options A, B, D, and E are all correct. User and group accounts are somewhat standard across Linux systems based on the software packages installed, not on the distribution, so option C is incorrect.
B, C, and E. Linux supports the GNOME, KDE Plasma, and Cinnamon graphical interfaces, so options B, C, and E are correct. Linux does not support the proprietary macOS or Metro environments, so options A and D are incorrect.
False. The FSF does advocate free software, but it defines it in terms of freedom to do things you want to do with the software, not the price of the software.
A, B, C, E. The MIT, GPL, BSD, and Apache are all open source licenses or groups of licenses. Therefore, options A, B, C, and E are correct answers. The Creative Commons is an organization that offers a suite of licenses but not for software. Instead, it targets audio recordings, video recordings, textual works, and so on, not just software programs.
A, C, and E. Linux systems are commonly used in embedded systems, as desktop workstations, and in server environments, so options A, C, and E are correct. Linux systems can use a graphical desktop in either a desktop or server environment, but graphical is not a category of Linux systems, so option B is incorrect. Linux can be used as either a desktop, embedded system, or server in an industrial environment, but industrial is not a category, making option D incorrect.
A, B, C, and D. In the Linux world, constant improvements are being made to the kernel and support tools and new support tools and distributions are being released, so options A, B, C, and D are all correct. Linux is still released under the open source license, which doesn’t prohibit charging a fee for Linux, but most Linux distributions are still available free of charge for installing in any environment, making option E incorrect.
A, C. Nextcloud and ownCloud are both software suites that allow you to set up a private cloud using Linux, so options A and C are correct answers. Zoho is a cloud-based office productivity suite but does not allow you to set up a private cloud, so option B is a wrong answer. Castero is a text-based podcast client that is available on Linux, but it does not provide the ability to configure a private cloud, making option D incorrect. Kdenlive is another useful Linux application (you can use it to perform video editing), but it is not involved with the cloud. Thus, option E is also an incorrect choice.
True. The dpkg and rpm package management utilities are both low-level tools, and they are limited in what functions they can perform for maintaining software packages. It’s typically better to use a higher-level utility, such as yum or apt-get, depending on your Linux distribution.
True. Typically, when working in a terminal, for regular users (users who are not logged into the root account) the default shell prompt ends in either in a dollar sign ($) or a greater-than symbol (>).
A, B, D. The apropos, man -k, and whatis commands can all be used to search the man pages for the keyword copy. Therefore, options A, B, and D are correct answers. The whereis program searches for files in a restricted set of locations instead of keywords within the man pages, so option C is a wrong answer. The locate command also searches for files, but it uses a database—it does not search for keywords within the man pages. Therefore, option E is also an incorrect choice.
D. The ext filesystem is currently at version 4, which is called ext4fs, so option D is correct. The original extfs filesystem is no longer supported, so option A is incorrect. The ext2fs and ext3fs filesystems are still supported and can be used if needed, but they are not recommended for new Linux installations, so options B and C are incorrect. The btrfs filesystem is not part of the extfs family but instead a new type of filesystem, so option E is incorrect.
A, D. The uname command with the -a option displays information about the host system, including the architecture the kernel was built for, which gives you a clue as to the CPU. The lscpu command provides detailed information about the CPU. Thus, both options A and D are correct. The lsusb command provides information about USB devices connected to the system, not the CPU, so option B is incorrect. Likewise, the lspci command provides information about PCI devices connected to the system, not the CPU, so option C is incorrect. The man command provides information about system and application commands, not about the CPU hardware, so option E is incorrect.
D. Linux installs noncritical applications, such as word processors and browsers, in the /usr directory, so option D is correct. User data files are normally stored in each user’s home directory, located in the /home directory structure, so option A is incorrect. Most Linux applications store their configuration files in the /etc directory, so option B is incorrect. Linux installs critical applications in either the /bin directory for user utilities or the /sbin directory for administrator programs, so option C is incorrect. In Linux, program library files are stored within the /lib directory structure, so option E is incorrect.
A. The asterisk (*) wildcard character matches none, one, or a set of characters in filename globbing, so option A is correct. The question mark (?) matches only one character in filename globbing, not a set of characters, so option B is incorrect. The square brackets ([]) match only one character within a set of characters, not the entire set of characters, so option C is incorrect. The underscore (_) and dash (-) characters are not valid wildcard characters used in filename globbing, so options D and E are both incorrect.
A, B, D, E. The *, [], ?, and . are all characters that activate regular expression matching rules. Thus, options A, B, D, and E are correct choices. The > character is used for basic redirection, and not for regular expressions, so option C is a wrong choice.
E. The tar option to compress the archive into a tarball using xz compression is -J, so option E is the correct answer. The -X option has a name of a file passed to it as an argument. That file contains filenames to be excluded from the archive, so option A is a wrong answer. The -j option is for using bzip2 compression, so option B is also an incorrect answer. The -z option is for using gzip compression. Thus, option C is an incorrect choice. The -v option instructs the tar command to produce verbose output (show what files are being archived). Therefore, option D is also an incorrect choice.
B, C. Programs running on the Linux system are called processes. The ps command allows you to display a snapshot of running processes, and the top command produces a real-time display of running processes, so options B and C are correct. The ls command displays files and directories, not running processes, so option A is incorrect. The free command displays memory usage, so option D is incorrect. The yum command is a package management tool used for installing and removing software packages, so option E is incorrect.
C. The free program displays the current memory usage on the Linux system, including memory in-use, free memory, and swap space, so option C is correct. The ps and top commands display information about the processes running on the system, and they can display information about process memory usage but not the overall memory usage on the Linux system, so options A and B are incorrect. The ls command displays file and directory information, so option D is incorrect. The yum program is a package management tool that allows you to install and remove software packages, so option E is incorrect.
A, B, E. The vi, nano, and emacs editor are all text editors you can use at the command line on a text-based terminal such as tty3. Therefore, options A, B, and E are the correct answers. The gedit and Kate editors are GUI-only editors and cannot be used on a text-based terminal. Therefore, options C and D are incorrect choices.
B. The shebang command specifies the shell that the Linux system should use to process the script. The /bin/bash path indicates to use the Bash shell, so option B is correct. The Bash shell is the default shell on most Linux systems, so this script should run on most Linux systems, making option A incorrect. The C shell is specified using either /bin/csh or /bin/tcsh, depending on which C shell your Linux system uses, so option C is incorrect. Most Unix systems don’t support the Bash shell, so option D is incorrect. The shebang specifies the path to the shell, not to the script file, so option E is incorrect.
A. The special $? variable contains the exit status of the last statement in the shell script, or the result of the exit statement if the shell script ends with that, so option A is correct. The $0 variable contains the name of the shell script, not the exit status, so option B is incorrect. The $1 variable contains the first parameter specified on the command line when the shell script is launched, not the exit status, so option C is incorrect. The $PATH environment variable specifies a list of directories the Linux system should search to find executable files, not the exit status of a shell script, so option D is incorrect. The $exit variable is a user variable that you can define either locally in a script or globally in a shell, but it has no special meaning in shell scripts, so option E is incorrect.
C. On modern Linux distributions, the /etc/shadow file typically holds user account passwords, so option C is the correct answer. Although many years ago the /etc/passwd file held the user account passwords, it does not (and should not) due to file permissions, so option A is incorrect. The /bin/bash is a shell program, not an account file, and is typically the default shell assigned to regular user accounts. Thus, option B is also incorrect. The /etc/group file contains group information as well as which user accounts belong to the various groups, so option D is a wrong choice. The /sbin/nologin is a program (not an account file) that helps to prevent system accounts from logging into the system. Therefore, option E is incorrect.
D. Most common users have an account type of standard, so option D is the correct answer. There is no account type of home, so option A is incorrect. A system account is one that is used by daemons, but not common users, so option B is a wrong choice. The administrative account is not for common users, nor is the root account, because they use super user privileges to perform duties such as installing software or changing other accounts’ passwords, so options C and E are also incorrect.
C. The passwdusername command in option C will allow you to set a password for the passwdusername account, effectively unlocking it. Therefore, option C is the correct answer. The usermod -u command modifies an account’s UID but does not unlock it, so option A is a wrong answer. The password command in option B is does not exist and is therefore incorrect. If you had used the useradd -ppassword username command in option D to create the account (not recommended for security reasons), then the account would not be locked. However, you cannot reissue the useradd command for a preexisting account, so option D is a wrong choice. There is no standard command called unlock, so option E is also incorrect.
True. When a user account is created, it is automatically assigned a primary group that typically has the same name as the account’s username.
B, D. You can use either the chgrp or chown command-line command to assign a new primary group to a file or directory, making options B and D correct. The chmod command assigns permissions to a file, not the group, so option A is incorrect. The chage command changes the password options for a user account, not the group of a file, so option C is incorrect. The groupadd command adds a new group to the system and does not change the group assigned to a file, so option E is incorrect.
E. Linux uses a leading period in filenames to indicate hidden files. To change the name of a file, you use the mv command, thus making option E correct. The chmod and cp commands don’t change the name of a file, so options A and C are incorrect. The mv command lists the original filename first and the new filename second, so option D is incorrect. Since Linux uses a period to indicate hidden files, option B is incorrect.
A, C. The nmcli and the ip commands both allow you to set and change network settings from the command line, so options A and C are both correct. The iwconfig command only sets wireless network information, so option B is incorrect. The netstat command displays open ports—it doesn’t change any network settings—so option D is incorrect. The ping command sends ICMP packets to remote hosts for testing—it also doesn’t set any network settings—so option E is also incorrect.
C. The ping command sends ICMP packets to a specified remote host and waits for a response, making option C the correct answer. The netstat command displays statistics about the network interface, so option A is incorrect. The ifconfig command displays or sets network information but doesn’t send ICMP packets, making option B incorrect. The iwconfig command displays or sets wireless network information but doesn’t handle ICMP packets, making option D incorrect. The ss command displays information about open connections and ports on the system, so option E is also incorrect.
CHAPTER 1
Selecting an Operating System
Objectives:
1.1 Linux Evolution and Popular Operating Systems
4.1 Choosing an Operating System
The fact that you’re reading this book means you want to learn about the Linux operating system (OS). To begin this journey, you must first understand what Linux is and what an OS is. This chapter describes what an OS is, how users interact with an OS, how Linux compares to other popular OSs, and how even specific Linux implementations vary. Understanding these issues will help you as you make the switch to Linux and learn about the various Linux-based systems.
What Is an OS?
An OS provides all the fundamental features of a computer, at least from a software point of view. An OS enables you to use the computer’s hardware devices, defines the user interface standards, and provides basic tools that allow applications to run on the computer. This section describes the different parts that make up an OS and how they work together to create your computing experience.
What Is a Kernel?
An OS kernel is a software component responsible for managing various low-level features of the computer, including:
Interfacing with hardware devices (network adapters, hard disks, and so on)
Allocating memory to individual programs
Allocating CPU time to individual programs
Enabling programs to interact with one another
When you use a program (say, a web browser), it relies on the kernel for many of its basic functions. The web browser can communicate with the outside world only by using network functions provided by the kernel. The kernel allocates memory and CPU time to the web browser, without which it couldn’t run. The web browser may rely on plug-ins to display multimedia content; such programs are launched and interact with the web browser through kernel services. Any program you run on a computer relies on the kernel in a similar way, although the details vary from one OS to another and from one program to another.
The kernel is the software glue
that holds the computer together. Without a kernel, a modern computer can do very little.
Kernels are not interchangeable; the Linux kernel is different from the macOS kernel used in Apple workstations and laptops, and from the Windows kernel used in Microsoft-compatible workstations and laptops. Each of these kernels uses a different internal design and provides different software interfaces for programs to use. Thus, each OS is built from the kernel up and uses its own set of programs that further define each OS’s features.
Some programs run on multiple kernels, but most need OS-specific tweaks. Programmers create binaries—the program files for a particular processor and kernel—for each OS. You need to run the binary file created for the specific OS you’re running the program on.
Linux uses a kernel called Linux—in fact, technically speaking, the word Linux refers only to the kernel. Other features that you might associate with Linux are provided by non-kernel programs, most of which are available on other platforms, as described shortly, in What Else Identifies an OS?
A student named Linus Torvalds created the Linux kernel in 1991. Linux has evolved considerably since that time. Today, it runs on a wide variety of CPUs and other hardware. The easiest way to learn about Linux is to use it on a desktop or laptop PC, so that’s the type of configuration emphasized in this book. The Linux kernel, however, runs on everything from tiny cell phones to powerful supercomputers.
What Else Identifies an OS?
The kernel is at the core of any OS, but it’s a component that most users don’t directly manipulate. Instead, most users interact with a number of other software components, many of which are closely associated with particular OSs. Such programs include the following:
Command-Line Shells Years ago, users interacted with computers exclusively by typing commands in a program (known as a shell) that accepted such commands. The commands would rename files, launch programs, and so on. Although many computer users today don’t use text-mode shells, they’re still important for intermediate and advanced Linux users, so we describe them in more detail in Chapter 5, Getting to Know the Command Line,