The Software Developer's Guide to Linux: A practical, no-nonsense guide to using the Linux command line and utilities as a software developer - Softcover

David Cohen; Christian Sturm

 
9781804616925: The Software Developer's Guide to Linux: A practical, no-nonsense guide to using the Linux command line and utilities as a software developer

Synopsis

If you’re a software developer who has ever felt frustrated because you’re missing the skills to work fluidly and efficiently on the command line, this book is for you

Key Features

  • A practical, no-nonsense guide specifically written for developers (not sysadmins) who need to quickly learn command-line skills
  • Expand your practical skills and look like a wizard on the command line
  • Build practical skills to work effectively with the most common CLI and Unix-like systems

Book Description

Developers are always working with the operating system, yet most of them are incredibly uncomfortable with the Linux command line.

This book is the bridge that will take you to the next level in your software development career. Most of the skills in the book can be immediately practiced on your Mac OS, Linux, or Windows machine. It’s written specifically for software engineers, not Linux system administrators, so each chapter will equip you with just enough theory to understand what you’re doing before diving into practical commands that you can use in your day-to-day work as a software developer.

As you work through the book, you will quickly get comfortable with the basics of moving around on the command line.

Once you’ve got the core skills, you’ll see how to apply them in different contexts that you’ll come across as a software developer: building and working with Docker images, spinning up applications on cloud instances, and troubleshooting issues in production environments.

By the end of the book, you’ll be able to use Linux and the command line comfortably, and apply your newfound skills in your day-to-day work to save time, troubleshoot issues, and be the resident command-line wizard on your team.

What you will learn

  • Learn useful command-line tricks and tools that make software development, testing, and troubleshooting easy
  • Understand how Linux and command-line environments actually work
  • Avoid common bugs, security issues, and misunderstandings that most developers run into
  • Discover Linux utilities that are useful for developers (not just sysadmins), and learn how to quickly chain them together to create powerful, customized tools that can save you thousands of lines of code
  • Gain context and awareness of how your applications run inside common runtime environments, from Docker to modern public cloud infrastructure
  • Become better equipped to handle common bugs and troubleshooting situations that stump other developers
  • Learn powerful CLI shortcuts and utilities to expand your practical skills and look like a wizard on the command line

Who This Book Is For

This book is for software developers who want to understand Command-Line (CLI) and who want to quickly fill the gap to advance their skills and their career. Basic knowledge of editing text, working with files and folders, having some idea of what “operating systems” are, installing software, and using a development environment is assumed.

Table of Contents

  1. How the command line works
  2. What is happening on this system?
  3. Process and Service Management
  4. Shell Tricks
  5. Processes
  6. Users
  7. The File System and Files
  8. Files
  9. Managing Installed Software
  10. Processes, Files, and Streams
  11. Editing Files on the Command Line
  12. Tools and Utilities
  13. Configuring Software
  14. Pipes
  15. Shell Scripts
  16. SSH T
  17. Git T
  18. Docker Containers
  19. Logging
  20. Cloud Basics
  21. Architecture Basics
  22. Load Balancing and HTTP
  23. Networking Basics
  24. The Machinery Around You
  25. (N.B. Additional chapters to be confirmed upon publication)

"synopsis" may belong to another edition of this title.

About the Author

David Cohen has spent the last 15 years working as a software engineer, Linux sysadmin, DevOps engineer, and everything in between. He runs the popular TutoriaLinux YouTube channel, where he's taught millions of people Linux, Cloud, and Programming skills. After a 7-year stint in DevOps and Site Reliability Engineering, David just moved back to a software development role at Hashicorp, writing Go.<br /><br />Christian Sturm is a software and systems architect. He started out as a software developer running Linux and Unix variants from the very beginning. Today he consults for organizations ranging from startups, to nonprofits, to big corporations – in areas such as operations, security, and development.

"About this title" may belong to another edition of this title.