O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Linux for Developers: Jumpstart your Linux Programming Skills

Book Description

This is the Rough Cut version of the printed book.

Developers are increasingly being asked to create software for Linux platforms. Many developers are accustomed to creating software for Microsoft or other platforms, but don't have experience with Linux environments or tools. While several books cover Linux software development, Linux for Developers is specifically designed to help these developers move to Linux.

Leading IT trainer/author William (Bo) Rothwell first provides a clear and up-to-date introduction to the complex world of open source software, including its licensing arrangements and their associated tradeoffs. Next, Rothwell introduces essential skills for both Linux command line and GUI environments, emphasizing tools that developers need to create code in Linux, including text editors.

Building on this knowledge, he introduces the primary languages used by Linux developers, from scripting tools such as Bash, Python and Perl to traditional full-fledged programming languages such as Java, C++, and C. Finally, Rothwell presents a full section on the powerful Git version control system, teaching skills that developers can use both in Linux and in many other environments.

This guide's modular coverage enables you to quickly access the information you need to meet current challenges. Appendices present one-page cheatsheets for each language, and for the Linux commands developers need most often.

Table of Contents

  1. cover
  2. Title page
  3. copyright
  4. Contents
  5. Preface
  6. About the Author
  7. Part I: Open Source Software
    1. Chapter 1. Open Source Software
      1. Defining Source Code
      2. Choosing Open Source Licensing
      3. Summary
  8. Part II: Linux Essentials
    1. Chapter 2. Introduction to Linux
      1. Accessing a Linux System
      2. Using the GUI
      3. Basic Command-Line Execution
      4. Summary
    2. Chapter 3. The filesystem
      1. Understanding the Filesystem
      2. Navigating the Filesystem
      3. Managing the Filesystem
      4. Summary
    3. Chapter 4. Essential commands
      1. Command-Line Tools
      2. Developer Tools
      3. Summary
    4. Chapter 5. Text editors
      1. The vi Editor
      2. Additional Editors
      3. Summary
    5. Chapter 6. System administration
      1. Essential Tasks
      2. Managing Software
      3. User Accounts
      4. Summary
  9. Part III: Linux Programming Languages
    1. Chapter 7. Linux Programming Languages
      1. Scripting Languages
      2. Compiled Languages
      3. IDEs
      4. Summary
    2. Chapter 8. BASH Shell scripting
      1. Basics of BASH Scripting
      2. Conditional Expressions
      3. Flow Control Statements
      4. User Interaction
      5. Additional Information
      6. Summary
    3. Chapter 9. Perl scripting
      1. Basics of Perl Scripting
      2. Flow Control
      3. Conditions
      4. Additional Features
      5. Summary
    4. Chapter 10. Python scripting
      1. Basics of Python Scripting
      2. Flow Control
      3. Conditions
      4. Additional Features
      5. Summary
    5. Chapter 11. C, C++ and Java
      1. Understanding System Libraries
      2. Building Packages
      3. Exploring Java Installation and Basics
      4. Summary
  10. Part IV: Using GIT
    1. Chapter 12. GIT Essentials
      1. Version Control Concepts
      2. Installing Git
      3. Git Concepts and Features
      4. Summary
    2. Chapter 13. Manage files with GIT
      1. Basic Configuration
      2. Removing Files
      3. Handling Branches
      4. Pushing Branches
      5. Summary
    3. Chapter 14. Manage differences in files
      1. Executing Diffs
      2. Merging Files
      3. Summary
    4. Chapter 15. Advanced GIT features
      1. Managing Repositories
      2. Patching
      3. Summary