Linux with Operating System Concepts, 2nd Edition
- Length: 608 pages
- Edition: 2
- Language: English
- Publisher: Chapman and Hall/CRC
- Publication Date: 2021-12-29
- ISBN-10: 1032063459
- ISBN-13: 9781032063454
- Sales Rank: #0 (See Top 100 Books)
A True Textbook for an Introductory Course, System Administration Course, or a Combination Course
Linux with Operating System Concepts merges conceptual operating system (OS) and Unix/Linux topics into one cohesive textbook for undergraduate students. The book can be used for a one- or two-semester course on Linux or Unix. It is complete with review sections, problems, definitions, and concepts.
Details for Introductory and Advanced Users
The book covers Linux from both the user and system administrator positions. From a user perspective, it emphasizes command line interaction. From a system administrator perspective, the text reinforces shell scripting with examples of administration scripts that support the automation of administrator tasks.
Thorough Coverage of Concepts and Linux Commands
The author incorporates OS concepts not found in most Linux/Unix textbooks, including kernels, file systems, storage devices, virtual memory, and process management. He also introduces computer science topics, such as computer networks and TCP/IP, encryption, file compression and the GNUs C compiler.
New in this Edition
The book has been updated to systemd Linux and the newer services like Cockpit, NetworkManager, firewalld and journald. This edition explores Linux beyond CentOS/Red Hat by adding detail on Debian distributions. Content across most topics has been updated and improved.
Cover Half Title Title Page Copyright Page Dedication Table of Contents Preface Acknowledgments and Contributions Author Chapter 1 Linux: What, Why, Who and When, and How 1.1 Introduction 1.2 What Is Linux? 1.2.1 Early Operating Systems 1.2.2 The Operating System Kernel 1.2.3 Other Operating System Components 1.2.4 So, What Is Linux? 1.3 Why Use Linux? 1.4 Who Developed Linux and When? 1.4.1 The Birth and Development of Unix 1.4.2 GNU 1.4.3 Enter Linus Torvalds 1.4.4 The Open-Source Community 1.5 How Do You Use Linux? 1.5.1 Installing Debian Linux 1.5.2 Installing CentOS Linux 1.5.3 Installing Ubuntu Linux 1.5.4 Installing Linux Mint 1.5.5 An Introduction to the Shell and Command Line 1.6 Chapter Review Review Questions Chapter 2 Bash 2.1 Introduction 2.2 Entering Linux Commands 2.2.1 Simple Linux Commands 2.2.2 Commands with Options and Parameters 2.3 Forms of Linux Help 2.3.1 man Pages 2.3.2 Other Forms of Command-Line Help 2.4 Bash Features 2.4.1 Recalling Commands through the History List 2.4.2 Shell Variables 2.4.3 Aliases 2.4.4 Command-Line Editing 2.4.5 Redirection 2.4.6 Other Useful Bash Features 2.5 Tailoring Our Environment 2.6 vi 2.6.1 vi Commands 2.6.2 An Example to Illustrate How to Use vi 2.7 Interpreters 2.7.1 Interpreters in Programming Languages 2.7.2 Interpreters in Shells 2.7.3 The Bash Interpreter 2.8 Chapter Review Review Questions Chapter 3 Linux File Commands 3.1 Introduction 3.2 Storage Terminology 3.3 Filename Specification 3.3.1 The Path 3.3.2 Filename Arguments with Paths 3.3.3 The PATH Variable 3.3.4 Specifying Filenames with Wildcards 3.4 File Commands 3.4.1 Directory Commands 3.4.2 File Movement and Copy Commands 3.4.3 File Deletion Commands 3.4.4 Creating and Deleting Directories 3.4.5 Textfile Viewing Commands 3.4.6 File Comparison Commands 3.4.7 File Manipulation Commands 3.4.8 Miscellaneous but Useful File Commands 3.5 Permissions 3.5.1 What Are Permissions? 3.5.2 Altering Permissions from the Command Line 3.5.3 Altering Permissions from the GUI 3.5.4 Advanced Permissions 3.6 Hard and Symbolic Links 3.7 Locating Files 3.7.1 Search Using the File Browser 3.7.2 The find Command 3.7.3 Other Means of Locating Files 3.8 Secondary Storage Devices 3.8.1 The Hard Disk Drive 3.8.2 Magnetic Tape 3.8.3 Optical Discs 3.8.4 Flash Memory Drives 3.8.5 Device Drivers 3.9 File Compression 3.9.1 Types of File Compression 3.9.2 The Lempel–Ziv Algorithms for Lossless Compression 3.9.3 Other Lossless Compression Algorithms 3.9.4 Compression and Decompression Programs in Linux 3.10 Chapter Review Review Questions Chapter 4 Managing Processes 4.1 Introduction 4.2 Forms of Process Management 4.2.1 Single-Process Execution 4.2.2 Concurrent Processing 4.2.3 Interrupt Handling 4.3 Starting, Pausing and Resuming Processes 4.3.1 Ownership of Running Processes 4.3.2 Launching Processes from the Command Line 4.3.3 Suspending and Resuming Processes from the Command Line 4.4 Monitoring Processes 4.4.1 GUI Monitoring Tools 4.4.2 Command-Line Monitoring Tools 4.5 Managing Process Priority 4.6 Process Termination 4.6.1 Orphans and Zombies 4.6.2 Killing Processes 4.6.3 Shutting Down Linux 4.7 A Look at System Resources 4.7.1 Memory and Virtual Memory 4.7.2 Linux Commands to Inspect System Resources 4.8 Chapter Review Review Questions Chapter 5 Regular Expressions 5.1 Introduction 5.2 Metacharacters 5.2.1 Controlling Repeated Characters through *, + and ? 5.2.2 Using and Modifying the . Metacharacter 5.2.3 Controlling Where a Pattern Matches 5.2.4 Matching from a List of Options 5.2.5 Matching Characters That Must Not Appear 5.2.6 Matching Metacharacters Literally 5.2.7 More Precisely Controlling Repetition 5.2.8 Selecting between Sequences 5.3 Examples 5.4 grep 5.4.1 Using egrep 5.4.2 Useful egrep Options 5.4.3 Examples: Searching the Linux Dictionary 5.4.4 Using egrep to Control the Output of Other Linux Commands 5.5 sed 5.5.1 Basic sed Syntax 5.5.2 Placeholders 5.5.3 Other sed Capabilities 5.6 awk 5.6.1 awk Condition-Action Pairs 5.6.2 BEGIN and END Sections 5.6.3 Other Forms of Control 5.6.4 awk Command Line Options and Arguments 5.6.5 Non-File Input to awk 5.7 Chapter Review Review Questions Chapter 6 Shell Scripting 6.1 Introduction 6.2 Simple Scripting 6.2.1 Scripts of Linux Instructions 6.2.2 Running Scripts 6.2.3 Scripting Errors 6.3 Variables, Assignments and Parameters 6.3.1 Bash Variables 6.3.2 Assignment Statements 6.3.3 Executing Linux Commands from within Assignment Statements 6.3.4 Arithmetic Operations in Assignment Statements 6.3.5 String Operations Using expr 6.3.6 Command-Line Parameters 6.4 Input and Output 6.4.1 Output with echo 6.4.2 Input with read 6.5 Selection Statements 6.5.1 Conditions for Strings and Integers 6.5.2 File Conditions 6.5.3 The if-then and if-then-else Statements 6.5.4 Nested Statements 6.5.5 Case Statement 6.5.6 Conditions Outside of Selection Statements 6.6 Loops 6.6.1 Conditional Loops 6.6.2 Counter-Controlled Loops 6.6.3 Iterator Loops 6.6.4 Using the seq Command to Generate a List 6.6.5 The while read Statement 6.7 Arrays 6.7.1 Declaring and Initializing Arrays 6.7.2 Accessing Array Elements and Entire Arrays 6.7.3 Example Scripts Using Arrays 6.8 String Manipulation 6.8.1 Substrings Revisited 6.8.2 String Regular Expression Matching 6.9 Functions 6.9.1 Defining Bash Functions 6.9.2 Using Functions 6.9.3 Functions and Variables 6.9.4 exit and return Statements 6.10 Chapter Review Review Questions Chapter 7 User Accounts 7.1 Introduction 7.2 Creating Accounts and Groups 7.2.1 Creating User and Group Accounts through the GUI 7.2.2 Creating User and Group Accounts from the Command Line 7.2.3 Creating a Large Number of User Accounts 7.3 Managing Users and Groups 7.4 Password Management 7.4.1 Automatically Generating Passwords 7.4.2 Managing Passwords 7.5 PAM and Enforcing Strong Passwords 7.6 Establishing Common User Resources 7.6.1 Populating User Home Directories with Initial Files 7.6.2 Initial User Settings and Defaults 7.7 The sudo Command 7.8 SELinux 7.8.1 SELinux Components 7.8.2 A Closer Look at Contexts 7.8.3 Rules 7.9 Establishing User and Group Policies 7.10 Chapter Review Review Questions Chapter 8 Administering Linux File Systems 8.1 Introduction 8.2 Storage Access 8.2.1 Disk Storage and Blocks 8.2.2 Block Indexing Using a File Allocation Table 8.2.3 Other Disk Storage Details 8.2.4 File Storage and Object Storage 8.3 Linux Files 8.3.1 Files versus Directories 8.3.2 Non-File File Types 8.3.3 Links as File Types 8.3.4 Reviewing the File Types 8.4 The inode 8.4.1 inode Metadata 8.4.2 inode Pointers 8.4.3 Linux Commands to Inspect inodes and Files 8.5 Partitions and File Systems 8.5.1 Why Partition? 8.5.2 Viewing the Available Partitions 8.5.3 Creating Partitions 8.5.4 Repartitioning 8.5.5 Using a Logical Volume Manager to Partition 8.5.6 Adding a Disk Drive 8.6 Administrative File System Tasks 8.6.1 Mounting and Unmounting File Systems 8.6.2 Remote File Systems 8.6.3 Establishing Quotas on a File System 8.6.4 Miscellaneous Administrative File System Commands 8.7 Linux Top-Level Directories 8.7.1 Root (/) Partition Directories 8.7.2 The /etc Directory 8.7.3 The /boot, /home and /var Directories 8.7.4 Virtual File System Directories 8.8 Chapter Review Review Problems Chapter 9 System Initialization and Services 9.1 Introduction 9.2 Booting the Computer 9.2.1 Volatile and Non-Volatile Memory 9.2.2 The Boot Process 9.2.3 The Linux Boot Process 9.2.4 Loading and Running the Linux Kernel 9.3 Initialization of the Linux Operating System 9.3.1 Target Unit Files 9.3.2 Service Unit Files 9.3.3 Other Unit File Types 9.3.4 Modifying System Initialization 9.4 Linux Services 9.4.1 What Are Services? 9.4.2 An Examination of Signification Linux Services 9.5 Using systemctl 9.6 Configuration Files 9.6.1 Non-Service Configuration Files 9.6.2 Configuring rsyslog 9.6.3 Configuring nfs 9.6.4 Configuring logrotate 9.6.5 Configuring auditd 9.7 Chapter Review Review Problems Chapter 10 Network Configuration 10.1 Introduction 10.2 Computer Networks and TCP/IP 10.2.1 Network Connection Devices 10.2.2 The TCP/IP Protocol Stack 10.2.3 Ports 10.2.4 IPv6 10.2.5 Domains, the Domain Name System and Host Names 10.3 Linux NetworkManager Service and Related Services and Files 10.3.1 NetworkManager 10.3.2 Other Network Services of Note 10.3.3 Establishing DNS Access 10.4 Obtaining IP Addresses 10.4.1 Configuring Our Interface Device(s) 10.4.2 Setting Up a DHCP Server 10.5 Network Programs 10.5.1 The ip Program 10.5.2 Remote Access and File Transfer Programs 10.5.3 Network Inspection Programs 10.5.4 Address Resolution Programs 10.6 The Linux Firewall 10.6.1 The firewalld Service 10.6.2 The Firewall Configuration GUI Tool 10.6.3 firewall-cmd 10.6.4 ufw 10.7 Chapter Review Review Questions Chapter 11 Software Installation and Maintenance 11.1 Introduction 11.2 Software Maintenance Terminology 11.2.1 Types of Programming Languages 11.2.2 Types of Software 11.2.3 Types of Software Licenses 11.2.4 Types of Software Management 11.3 Installation and Maintenance from a Software Store 11.3.1 Red Hat Software GUI 11.3.2 Debian Mint Software GUI 11.3.3 Ubuntu Software Center 11.4 rpm and dpkg 11.4.1 rpm 11.4.2 dpkg 11.5 dnf/yum and apt 11.6 Installation of Source Code 11.6.1 Obtaining Installation Packages 11.6.2 Extracting from the Archive 11.6.3 Running the configure Script 11.6.4 The make Step and the makefile 11.6.5 The make install Step 11.7 The gcc Compiler 11.7.1 Preprocessing 11.7.2 Lexical Analysis and Syntactic Parsing 11.7.3 Semantic Analysis, Compilation and Optimization 11.7.4 Linking 11.7.5 Using gcc 11.8 Software Documentation 11.9 Chapter Review Review Questions Chapter 12 Maintaining and Troubleshooting Linux 12.1 Introduction 12.2 File System Integrity: Backups, RAID and Encryption 12.2.1 Backups: Why, How and When 12.2.2 RAID for File System Integrity 12.2.3 Encryption and Encryption Programs 12.3 Task Scheduling 12.3.1 at and atd 12.3.2 crontab and crond 12.4 System Monitoring 12.4.1 Operating System Issues That Degrade Performance 12.4.2 Processor and Process System Monitoring Tools 12.4.3 Memory System Monitoring Tools 12.4.4 I/O System Monitoring Tools 12.5 Log Files 12.5.1 rsyslogd- Created Log Files 12.5.2 auditd Logs 12.5.3 Examining the Log Files 12.5.4 journald 12.6 Troubleshooting 12.7 Chapter Review Review Questions Bibliography Index
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.