Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Halftitle
Title Page
Copyright Page
Table of Contents
Preface
Introduction
1 A Linux Primer
1.1 What Is an Operating System?
1.2 Getting Started: Login and Logout
Desktop Login
Starting a Terminal Window
Remote Login
1.3 Understanding the Shell
Entering Commands
Trying a Few Commands
Correcting Typing Mistakes
Aborting a Command
1.4 Exercise A
1.5 Using Files and Directories
Current Working Directory and Filenames
Handling Files and Directories
Standard Personal Directories
1.6 Protecting Files: Access Control
The Super User
Examining the Permission Settings
Setting Permissions
1.7 Exercise B
1.8 Text Editing
1.9 Getting Hard/Saved Copies
1.10 Communicating with Others
Who’s Who on the System: finger
Email
1.11 Browsing the Web
1.12 Exercise C
1.13 Creating and Running Your Own Program
Compiling
1.14 Exercise D
1.15 Consulting Linux Documentation
1.16 Exercise E
1.17 Rounding Up Useful Commands
1.18 Summary
2 The Desktop Environment
2.1 Desktop Overview
2.2 Desktop Components
2.3 The GNOME 3 Desktop
2.4 Understanding GUI
2.5 Working with the Desktop
Session Control and System Settings
Launching Application Programs
Managing Files
Multiple Workspaces
Desktop Appearance
2.6 Windows
The X Window System
Window Manager
Window Information
2.7 The File Browser
Navigating the File Tree
Opening a File or Folder
Finding Files
Managing Files and Folders
Access Control for Files and Folders
Writing CDs or DVDs
Changing Your Default File Browser
2.8 Terminal Window
Starting a GNOME Terminal
Terminal Window and the Shell
Select, Copy, and Paste
Web and Email Links
2.9 Accessing Help and Documentation
2.10 Summary
2.11 Exercises
3 Interacting with the BASH Shell
3.1 Bash
3.2 Interacting with Bash
3.3 Command-Line Editing and Command Completion
3.4 Bash Command Execution
3.5 Bash Input/Output Redirection
Standard Input and Output
I/O Redirection
Pipes
3.6 Bash Job Control
3.7 Bash Shell Expansions
History Expansion
Alias Expansion
Brace and Tilde Expansions
Variable Expansion
Command Expansion
Process Expansion
Filename Expansion
3.8 Bash Built-in Commands
3.9 Shell Variables
3.10 Environment of a Program
Command Execution Environment
3.11 Examples of Bash Usage
Customized Prompt
Removing Files Safely
Copy, Paste, and I/O Redirection
Displaying Manual Pages
Setting Up Your Personal Web Folder
3.12 Default File Permissions
3.13 Shell Startup and Initialization
3.14 Shell Special Characters and Quoting
Quoting in Bash
3.15 Simple Functions
3.16 For More Information
3.17 Summary
3.18 Exercises
4 Putting Commands and Applications to Use
4.1 Useful GUI Apps
Word Processing
Document Formatting and Typesetting
Drawing and Diagramming
Raster Graphics and Image Processing
File Upload and Download
Password Manager
Cloud Storage
3D Modeling and 3D Printing
Mathematical Calculations
4.2 Commands and Filters
Leading and Trailing Lines: head and tail
Character Translation: tr
Tab Expansion
Folding Text Lines
Calendar Reminders by Email
Sorting Text Lines
4.3 The grep Command
4.4 Regular Expressions
Quoting in Search Patterns
4.5 Patterns for grep
4.6 A Stream Editor: sed
4.7 Building Pipelines
Address Processing
4.8 For More Information
4.9 Summary
4.10 Exercises
5 Writing BASH Scripts
5.1 Invoking Shell Scripts
5.2 A First Shell Script
5.3 Shell Script Execution
5.4 Positional Parameters
5.5 The for Command
5.6 The if Command
5.7 Test Expressions and Exit Status
Exit Status
Test Expressions
5.8 The shift Command
5.9 The case Command
5.10 The while and until Commands
5.11 Numerical Expressions
5.12 The break and continue Commands
5.13 File Queries
5.14 Variables
5.15 Arrays
5.16 Variable Modifiers
5.17 The Here Document
5.18 More on Functions
Function Arguments
Return Value of a Function
5.19 Redefining Bash Built-in Functions
5.20 Example Bash Scripts
Example: Removing Unwanted Files
Example: Conditional Copy
Example: Total File Sizes
Example: Secure File Transfer
Example: Resizing Pictures
5.21 Debugging Shell Scripts
5.22 Error and Interrupt Handling
Interrupt Handling
5.23 The Perl and PHP Alternatives
5.24 For More Information
5.25 Summary
5.26 Exercises
6 The File System
6.1 A File Location Road Map
6.2 File Types
Ordinary Files
Directories
Special Files
Links
Symbolic Links
6.3 More on File Access Control
Meaning of Permissions for a Directory
6.4 File Status
File Mode
File Userid and Groupid
Access Control Enforcement
Setuid and Setgid Modes
Establishing a Group
DAC and MAC
6.5 File System Implementation
Filesystem Organization
Mounted Filesystems
Filesystem Super Block and Block Groups
6.6 The Filesystem Table
6.7 Creating Special Files
6.8 Network Filesystem
6.9 Searching the File Tree: find
6.10 The locate Command
6.11 Saving, Compressing, and Distributing Files
Packing Files with shar
6.12 File Sharing with Samba
6.13 More File-Related Commands
6.14 For More Information
6.15 Summary
6.16 Exercises
7 Networking, Internet, and the Web
7.1 Networking Protocols
7.2 The Internet
Network Addresses
Packet Switching
Client and Server
7.3 The Domain Name System
7.4 Networking in Nautilus
Accessing Samba Shared Files
7.5 Networking Commands
7.6 SSH with X11 Forwarding
No Password ssh, sftp, and scp
Remote File Synchronization
7.7 Cryptography
7.8 Symmetric Cryptosystems
7.9 Public-Key Cryptography and Digital Signature
7.10 GNU Privacy Guard
Setting Up GnuPG Keys
ncryption/Decryption with GnuPG
7.11 Secure Email
Secure Email with Thunderbird
7.12 Message Digests
Software and Message Signing
7.13 The Web
Hypertext Markup Language
URLs
Accessing Information on the Web
7.14 Handling Different Content Types
7.15 Putting Information on the Web
7.16 What Is HTML?
7.17 Web Hosting
7.18 Domain Registration
Accessing Domain Registration Data
7.19 The DNS
DNS Servers
DNS Resolvers
7.20 Dynamic Generation of Web Pages
Dynamic Server Pages
7.21 HTTP Briefly
7.22 A Real HTTP Experience
7.23 For More Information
7.24 Summary
7.25 Exercises
8 Basic System Administration
8.1 Managing Users
Sudo
8.2 Package Management
Software Management Tasks
8.3 Managing Processes
8.4 Network Configuration
8.5 Firewall Settings
8.6 Managing Filesystems and Disks
Disk Partitions
Managing Filesystems
Adding a New Disk
LVM
File Storage Quotas
8.7 File and System Backup
Backup with Déjà Dup
8.8 System Booting
8.9 SELinux
SELinux Status and Enforcing Modes
Security Contexts
Maintaining and Managing File Contexts
8.10 For More Information
8.11 Summary
8.12 Exercises
9 Web Hosting: Apache, MySQL, and PHP
9.1 What Is a Web Server?
9.2 URL and URI
9.3 Request Processing
9.4 Response and Content Types
9.5 The Apache Web Server
9.6 Apache on Linux
Installing Apache with Package Management
Running the Apache Web Server
Controlling the Apache Server
9.7 Apache Run-Time Configuration
Apache Configuration File Basics
About Configuration Directives
Loading Modules
Global Directives
Container Directives
9.8 Access Control under Apache
What Is Access Control?
Access Control by Host
9.9 Requiring Passwords
Setting Up User Login under Apache
9.10 How HTTP Basic Authentication Works
9.11 How HTTP Digest Authentication Works
Basic vs. Digest Authentication
9.12 Password Encryption
9.13 Automatic File Deflation
9.14 HTTPS and SSL/TLS
9.15 HTTPS Support
9.16 Manual Installation of Apache
Configure and Compile
9.17 What Is PHP?
9.18 The PHP Module for Apache
Installing the PHP Module
9.19 Testing PHP
9.20 PHP Configuration
9.21 PHP Command Line Scripting
9.22 Database Support for the Web
9.23 MySQL
Initializing, Starting, and Stopping MySQL
MySQL Run-Time Configuration
Administering MySQL
Resetting the MySQL Root Password
9.24 Installing phpMyAdmin
9.25 Installing MySQL/MariaDB
9.26 For More Information
9.27 Summary
9.28 Exercises
10 C Programming in Linux
10.1 Command-Line Arguments
Exit Status
Compile and Execute
10.2 Linux Command Argument Conventions
10.3 The GCC Compiler
The gcc Command
Options for gcc
The C Preprocessor
Preventing Multiple Loading of Header Files
Compilation
Assembly
Linking and Loading
10.4 The C Library
I/O to Files
File Updating
I/O Redirection
10.5 Creating Libraries and Archives
10.6 Error Handling in C Programs
Errors from System and Library Calls
Error Indications from Mathematical Functions
10.7 Error Recovery
10.8 Debugging with GDB
Interactive Debugging
Basic gdb Commands
A Sample Debugging Session with gdb
10.9 Examining Core Dumps
10.10 For More Information
10.11 Summary
10.12 Exercises
11 I/O and Process Control System Calls
11.1 System-Level I/O
11.2 I/O Descriptors
11.3 Reading and Writing I/O Descriptors
Moving the Current Position
11.4 Operations on Files
Creating and Deleting a File
Linking and Renaming Files
Accessing File Status
Determining Allowable File Access
11.5 Operations on Directories
Creating and Removing a Directory
11.6 Directory Access
Current Working Directory
11.7 An Example: ccp
11.8 Shell-Level Commands from C Programs
11.9 Process Control
Virtual Address Space
Process Life Cycle
11.10 The Process Table
The ps Command
11.11 Process Creation: fork
11.12 Program Execution: exec Routines
Example: A Simple Shell
11.13 Synchronization of Parent and Child Processes
11.14 Process Termination
11.15 The User Environment of a Process
Example: Command Search
11.16 Interrupts and Signals
Basic Concepts
Sending Signals
Signal Delivery and Processing
Signal Trapping
11.17 For More Information
11.18 Summary
11.19 Exercises
12 Inter-process and Network Communication
12.1 Opening a Process for I/O
12.2 IPC with pipe
Pipe between Two Commands
12.3 Connecting a File Descriptor to a File Stream
12.4 Two-Way Pipe Connections
12.5 Network Communication
Client and Server
12.6 Sockets
Creating Sockets
Socket Address
Local and Internet Socket Addresses
12.7 A TCP Echo Client
12.8 Using Datagram Sockets
12.9 Socket I/O System Calls
Shutting Down Sockets
12.10 TCP-Based Servers
Accepting a Connection
An Example TCP/IP Server
12.11 Network Library Routines
12.12 Daemon Processes
Programming a Daemon
12.13 Input/Output Multiplexing
12.14 TCP Out-of-Band Data
12.15 For More Information
12.16 Summary
12.17 Exercises
Appendices Online
Website and Example Code Package
References
Index
← Prev
Back
Next →
← Prev
Back
Next →