Linux for Developers: Jumpstart Your Linux Programming Skills

Linux for Developers: Jumpstart Your Linux Programming Skills

by William Rothwell


View All Available Formats & Editions
Members save with free shipping everyday! 
See details


Linux for Developers shows you how to start writing great code for Linux, whether you’re a Linux user with little or no coding experience, or an experienced Windows programmer.

Leading IT trainer/author William “Bo” Rothwell begins with a clear and up-to-date review of modern open source software, including the licensing arrangements and tradeoffs all developers need to understand. He presents essential skills for both Linux command line and GUI environments, introducing text editors and other tools for efficient coding.

Building on this knowledge, Rothwell introduces scripting tools such as Bash, Python, and Perl, as well as traditional object-oriented programming languages such as Java, C++, and C. Finally, he presents a full section on the powerful Git version control system, teaching skills you can use in Linux and many other environments.

  • Access Linux systems, use GUIs, and work at the command line
  • Learn how Linux organizes files and navigate its filesystem
  • Use basic developer commands such as gzip and grep
  • Edit programs with vi and vim, and explore alternative editors
  • Perform basic sysadmin tasks that developers often need to handle
  • Compare Linux languages to choose the best one for each task
  • Write Bash scripts that interact with users or other shell features
  • Program with Python and Perl: flow control, variables, and more
  • Understand Linux features related to building C, C++, and Java programs
  • Stay on top of complex projects with GIT revision control
  • Work in GIT: staging, committing, branches, diffs, merges, and patches
  • Manage local and remote GIT repositories
This guide’s modular coverage helps you quickly access whatever information you need right now.

Product Details

ISBN-13: 9780134657288
Publisher: Pearson Education
Publication date: 04/26/2017
Series: Developer's Library Series
Pages: 224
Sales rank: 646,456
Product dimensions: 6.90(w) x 8.90(h) x 0.70(d)

About the Author

At the impressionable age of 14, William “Bo” Rothwell crossed paths with a TRS-80 Micro Computer System (affectionately known as a “Trash 80”). Soon after, the adults responsible for Bo made the mistake of leaving him alone with the TSR-80. He immediately dismantled it and held his first computer class, showing his friends what made this “computer thing” work. Since this experience, Bo’s passion for understanding how computers work and sharing this knowledge with others has resulted in a rewarding career in IT training. His experience includes Linux, Unix, and programming languages such as Perl, Python, Tcl, and BASH.

Rothwell is the founder and lead instructor of One Course Source, an IT training organization. He is author of LPIC-2 Certification Guide, contributing author of CompTIA Linux+/LPIC-1 Cert Guide, and technical editor of Red Hat RHCSA/RHCE 7 Cert Guide.

Table of Contents

Preface xii
Chapter 1 Introduction to Open Source Software 3

Defining Source Code 3
Closed Source 4
Open Source 5
“Free” Software 5
Choosing Open Source Licensing 7
Options 8
Key Terms 8
Examples 8
Useful Links 9
Summary 10

Chapter 2 Introduction to Linux 13

Accessing a Linux System 13
Choosing the Right Distribution 14
Logging In 15
Using the GUI 18
Basic Command-Line Execution 21
Command-Line Structure 22
Getting Help 22
Summary 28
Chapter 3 The Filesystem 29
Understanding the Filesystem 29
Learning the Most Used Directories 30
Naming Considerations 30
Navigating the Filesystem 31
Managing the Filesystem 33
Managing Directories 36
Managing Files 37
Summary 45
Chapter 4 Essential Commands 47
Command-Line Tools 47
Viewing Files 48
Finding Files 52
Comparing Files 54
Shell Features 55
Permissions 57
Developer Tools 59
File Compression Commands 59
The grep Command 62
Summary 66
Chapter 5 Text Editors 67
The vi Editor 67
Why Learn vi? 68
What Is vim? 68
Essential vi Commands 69
Additional Editors 79
Emacs 79
gedit and kwrite 81
nano and joe 81
lime and bluefish 82
Summary 82
Chapter 6 System Administration 83
Essential Tasks 83
Gaining Access to the Root Account 84
Displaying Disk Usage 86
Managing Software 88
Listing and Finding Software 89
Installing Software 90
User Accounts 91
Adding User Accounts 91
Modifying User Accounts 92
Deleting User Accounts 93
Understanding Groups 93
Managing Groups 93
Summary 94

Chapter 7 Overview of Linux Programming Languages 97

Scripting Languages 97
BASH Shell Scripting 98
Perl Scripting 99
Python Scripting 100
Additional Scripting Languages 101
Compiled Languages 107
C Programming Basics 107
C++ Programming Basics 108
Java Programming Basics 108
IDEs 108
Summary 109
Chapter 8 BASH Shell Scripting 111
Basics of BASH Scripting 111
Conditional Expressions 113
Integer Comparisons 115
File Test Comparisons 115
Flow Control Statements 115
The while loop 116
The for Loop 116
The case Statement 117
User Interaction 117
Additional Information 118
Summary 118
Chapter 9 Perl Scripting 119
Basics of Perl Scripting 119
Executing Perl Code 120
Additional Perl Documentation 121
Variables and Values 122
Flow Control 124
Conditions 126
Additional Features 128
Summary 130
Chapter 10 Python Scripting 131
Basics of Python Scripting 131
Executing Python Code 132
Additional Documentation 133
Variables and Values 133
Flow Control 136
Conditions 137
Additional Features 137
Summary 138
Chapter 11 C, C++, and Java 139
Understanding System Libraries 139
Managing Shared Library Files 140
Viewing Shared Library Files 142
Building Packages 142
Building RPM Packages 142
Building Debian Packages 145
Exploring Java Installation and Basics 145
Summary 146

Chapter 12 Git Essentials 149

Version Control Concepts 149
The First Generation 149
The Second Generation 149
The Third Generation 151
Installing Git 154
Git Concepts and Features 155
Git Stages 155
Choosing Your Git Repository Host 156
Configuring Git 157
Summary 160
Chapter 13 Manage Files with Git 161
Basic Configuration 161
git status 162
Handling a Multiple Location Situation 165
Telling Git to Ignore a File 166
Removing Files 168
Handling Branches 169
Pushing Branches 171
Summary 171
Chapter 14 Manage Differences in Files 173
Executing Diffs 173
Dealing with White Space 175
Comparing Branches 176
Merging Files 178
Summary 182
Chapter 15 Advanced Git Features 183
Managing Repositories 183
Getting Content from the Remote Server 184
Connecting via SSH 186
Patching 187
Summary 188
Index 189

Customer Reviews