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
- How the command line works
- What is happening on this system?
- Process and Service Management
- Shell Tricks
- Processes
- Users
- The File System and Files
- Files
- Managing Installed Software
- Processes, Files, and Streams
- Editing Files on the Command Line
- Tools and Utilities
- Configuring Software
- Pipes
- Shell Scripts
- SSH T
- Git T
- Docker Containers
- Logging
- Cloud Basics
- Architecture Basics
- Load Balancing and HTTP
- Networking Basics
- The Machinery Around You
(N.B. Additional chapters to be confirmed upon publication)
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.