| |
| |
Introduction | |
| |
| |
| |
Selecting an Operating System | |
| |
| |
What Is an OS? | |
| |
| |
What Is a Kernel? | |
| |
| |
What Else Identifies an OS? | |
| |
| |
Investigating User Interfaces | |
| |
| |
Using a Text-Mode User Interface | |
| |
| |
Using a Graphical User Interface | |
| |
| |
Where Does Linux Fit in the OS World? | |
| |
| |
Comparing Linux to Unix | |
| |
| |
Comparing Linux to Mac OS X | |
| |
| |
Comparing Linux to Windows | |
| |
| |
What Is a Distribution? | |
| |
| |
Creating a Complete Linux-Based OS | |
| |
| |
A Summary of Common Linux Distributions | |
| |
| |
Understanding Release Cycles | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Investigating Linux's Principles and Philosophy | |
| |
| |
Linux through the Ages | |
| |
| |
Understanding Linux's Origins | |
| |
| |
Seeing Today's Linux World | |
| |
| |
Using Open Source Software | |
| |
| |
Understanding Basic Open Source Principles | |
| |
| |
Linux as a Software Integrator | |
| |
| |
Understanding OS Roles | |
| |
| |
Understanding Embedded Computers | |
| |
| |
Understanding Desktop and Laptop Computers | |
| |
| |
Understanding Server Computers | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Understanding Sof tware Licensing | |
| |
| |
Investigating Software Licenses | |
| |
| |
Copyright and Software | |
| |
| |
Using Licenses to Modify Copyright Terms | |
| |
| |
The Free Software Foundation | |
| |
| |
Understanding the FSF Philosophy | |
| |
| |
Free Software and the GPL | |
| |
| |
The Open Source Initiative | |
| |
| |
Understanding the Open Source Philosophy | |
| |
| |
Defining Open Source Software | |
| |
| |
The Creative Commons | |
| |
| |
Using Open Source Licenses | |
| |
| |
Understanding Open Source Licenses | |
| |
| |
Understanding Open Source Business Models | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Using Common Linux Programs | |
| |
| |
Using a Linux Desktop Environment | |
| |
| |
Choosing a Desktop Environment | |
| |
| |
Launching Programs | |
| |
| |
Using a File Manager | |
| |
| |
Working with Productivity Software | |
| |
| |
Finding the Right Tool for the Job | |
| |
| |
Using a Web Browser | |
| |
| |
Using Email Clients | |
| |
| |
Using Office Tools | |
| |
| |
Using Multimedia Applications | |
| |
| |
Using Linux for Cloud Computing | |
| |
| |
Using Mobile Applications | |
| |
| |
Using Server Programs | |
| |
| |
Identifying Common Server Protocols and Programs | |
| |
| |
Installing and Launching Servers | |
| |
| |
Securing Servers | |
| |
| |
Managing Programming Languages | |
| |
| |
Choosing a Compiled vs. an Interpreted Language | |
| |
| |
Identifying Common Programming Languages | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Managing Hardware | |
| |
| |
Learning About Your CPU | |
| |
| |
Understanding CPU Families | |
| |
| |
Identifying Your CPU | |
| |
| |
Identifying Motherboard Capabilities | |
| |
| |
Sizing Your Power Supply | |
| |
| |
Understanding Disk Issues | |
| |
| |
Disk Interfaces | |
| |
| |
Partitioning a Disk | |
| |
| |
Understanding Filesystem Issues | |
| |
| |
Using Removable and Optical Disks | |
| |
| |
Managing Displays | |
| |
| |
Understanding the Role of X | |
| |
| |
Using Common Display Hardware | |
| |
| |
Handling USB Devices | |
| |
| |
Managing Drivers | |
| |
| |
Understanding Types of Drivers | |
| |
| |
Locating and Installing Drivers | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Get ting to Know the Command Line | |
| |
| |
Starting a Command Line | |
| |
| |
Launching a Terminal | |
| |
| |
Logging Into a Text-Mode Console | |
| |
| |
Logging In Remotely | |
| |
| |
Running Programs | |
| |
| |
Running Text-Mode Programs | |
| |
| |
Running GUI Programs | |
| |
| |
Running Programs in the Background | |
| |
| |
Manipulating Files | |
| |
| |
Obtaining File Listings | |
| |
| |
Changing Directories | |
| |
| |
Using Absolute and Relative File References | |
| |
| |
Using Common File Manipulation Commands | |
| |
| |
Using Shell Features | |
| |
| |
Using Command Completion | |
| |
| |
Using Command History | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Managing Files | |
| |
| |
Manipulating Files | |
| |
| |
Creating Files | |
| |
| |
Copying Files | |
| |
| |
Moving and Renaming Files | |
| |
| |
Using Links | |
| |
| |
Deleting Files | |
| |
| |
Using Wildcards | |
| |
| |
Understanding Case Sensitivity | |
| |
| |
Manipulating Directories | |
| |
| |
Creating Directories | |
| |
| |
Deleting Directories | |
| |
| |
Managing Directories | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Getting Help | |
| |
| |
Using man Pages | |
| |
| |
Understanding the Purpose of man Pages | |
| |
| |
Locating man Pages by Section Number | |
| |
| |
Searching for a man Page | |
| |
| |
Reading man Pages | |
| |
| |
Using less | |
| |
| |
Using info Pages | |
| |
| |
Understanding the Purpose of info Pages | |
| |
| |
Reading info Pages | |
| |
| |
Finding Additional Documentation | |
| |
| |
Locating Program Documentation on Your Computer | |
| |
| |
Locating Program Documentation Online | |
| |
| |
Consulting Experts | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Using Programs and Processes | |
| |
| |
Understanding Package Management | |
| |
| |
Linux Package Management Principles | |
| |
| |
Understanding Package Systems | |
| |
| |
Managing RPM Systems | |
| |
| |
Managing Debian Systems | |
| |
| |
Understanding the Process Hierarchy | |
| |
| |
Identifying Running Processes | |
| |
| |
Using ps to Identify Processes | |
| |
| |
Using top to Identify Processes | |
| |
| |
Measuring Memory Use | |
| |
| |
Using Log Files | |
| |
| |
Locating Log Files | |
| |
| |
Producing More Verbose Log File Entries | |
| |
| |
Examining the Kernel Ring Buffer | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Searching, Extracting, and Archiving Data | |
| |
| |
Using Regular Expressions | |
| |
| |
Searching for and Extracting Data | |
| |
| |
Using grep | |
| |
| |
Using find | |
| |
| |
Using wc | |
| |
| |
Redirecting Input and Output | |
| |
| |
Using Basic Redirection Operators | |
| |
| |
Using Pipes | |
| |
| |
Generating Command Lines | |
| |
| |
Archiving Data | |
| |
| |
Using tar | |
| |
| |
Using Compression | |
| |
| |
Using zip | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Editing Files | |
| |
| |
Understanding the Role of Text Files | |
| |
| |
Choosing an Editor | |
| |
| |
Launching an Editor | |
| |
| |
Editing Files with pico or nano | |
| |
| |
Using Text Editor Conventions | |
| |
| |
Exploring Basic nano Text-Editing Procedures | |
| |
| |
Saving Your Changes from nano | |
| |
| |
Editing Files with Vi | |
| |
| |
Understanding Vi Modes | |
| |
| |
Exploring Basic Vi Text-Editing Procedures | |
| |
| |
Saving Your Changes from Vi | |
| |
| |
Using Configuration File Conventions | |
| |
| |
Editing Formatted Text Files | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Creating Scripts | |
| |
| |
Beginning a Shell Script | |
| |
| |
Using Commands | |
| |
| |
Using Arguments | |
| |
| |
Using Variables | |
| |
| |
Using Conditional Expressions | |
| |
| |
Using Loops | |
| |
| |
Using Functions | |
| |
| |
Setting the Script's Exit Value | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Understanding Users and Groups | |
| |
| |
Understanding Accounts | |
| |
| |
Understanding Account Features | |
| |
| |
Identifying Accounts | |
| |
| |
Understanding Groups | |
| |
| |
Using Account Tools | |
| |
| |
Discovering Your Own Identity | |
| |
| |
Learning Who's Online | |
| |
| |
Working as root | |
| |
| |
Why Work as root? | |
| |
| |
Acquiring root Privileges | |
| |
| |
Using root Privileges Safely | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Creating Users and Groups | |
| |
| |
Creating New Accounts. | |
| |
| |
Deciding on a Group Strategy | |
| |
| |
Selecting a Good Password | |
| |
| |
Creating Accounts Using GUI Tools | |
| |
| |
Creating Accounts from the Shell | |
| |
| |
Modifying Accounts | |
| |
| |
Deciding When to Modify Accounts | |
| |
| |
Checking for Logged-in Users | |
| |
| |
Modifying Accounts Using GUI Tools | |
| |
| |
Modifying Accounts from the Shell | |
| |
| |
Deleting Accounts | |
| |
| |
Avoiding Account-Deletion Pitfalls | |
| |
| |
Deleting Accounts Using GUI Tools | |
| |
| |
Deleting Accounts from the Shell | |
| |
| |
Managing Groups | |
| |
| |
Managing Groups Using GUI Tools | |
| |
| |
Managing Groups from the Shell | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Set ting Ownership and Permissions | |
| |
| |
Setting Ownership | |
| |
| |
Understanding Ownership | |
| |
| |
Setting Ownership in a File Manager | |
| |
| |
Setting Ownership in a Shell | |
| |
| |
Setting Permissions | |
| |
| |
Understanding Permissions | |
| |
| |
Setting Permissions in a File Manager | |
| |
| |
Setting Permissions in a Shell | |
| |
| |
Setting the umask | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Navigating the Linux Filesystem | |
| |
| |
Understanding Where Things Go | |
| |
| |
User Files vs. System Files | |
| |
| |
The Filesystem Hierarchy Standard | |
| |
| |
Important Directories and Their Contents | |
| |
| |
Using Special Permission Bits and File Features | |
| |
| |
Using Sticky Bits | |
| |
| |
Using Special Execute Permissions | |
| |
| |
Hiding Files from View | |
| |
| |
Viewing Directories | |
| |
| |
The Essentials and Beyond | |
| |
| |
| |
Managing Network Connections | |
| |
| |
Understanding Network Features | |
| |
| |
Configuring a Network Connection | |
| |
| |
Deciding Whether to Use DHCP | |
| |
| |
Creating a Wi-Fi Connection | |
| |
| |
Using a Network Configuration GUI | |
| |
| |
Using Text-Based Tools | |
| |
| |
Testing Your Network Connection | |
| |
| |
Checking Your Routing Table | |
| |
| |
Testing Basic Connectivity | |
| |
| |
Finding Breaks in Connectivity | |