What this book covers?
Chapter 1, Introduction to the Windows Subsystem for Linux, gives an overview of what the WSL is, and explores the differences between WSL 1 and WSL 2.
Chapter 2, Installing and Configuring the Windows Subsystem for Linux, takes you through the process of installing WSL 2, how to install Linux distributions with WSL, and how to control and configure WSL.
Chapter 3, Getting Started with Windows Terminal, introduces the new Windows Terminal. This new, open source terminal from Microsoft is evolving rapidly and provides a great experience for working in your shell with WSL 2. You will see how to install Windows Terminal, work with it, and customize its appearance.
Chapter 4, Windows to Linux Interoperability, starts to dig into the interoperability features that WSL offers, by looking at how to access files and applications in your Linux distributions from Windows.
Chapter 5, Linux to Windows Interoperability, continues exploring the WSL interoperability features by showing how to access Windows files and applications from Linux, and some interoperability tips and tricks.
Chapter 6, Getting More from Windows Terminal, explores some more in-depth aspects of Windows Terminal, such as customizing tab titles and splitting tabs into multiple panes. You will see various options for this, including how to control Windows Terminal from the command line (and how to reuse command-line options to work with a running Windows Terminal). You will also see how to add custom profiles to boost your day-to-day workflows.
Chapter 7, Working with Containers in WSL, covers working with Docker Desktop to run the Docker daemon in WSL 2. You will see how to build and run a container for a sample web application. The chapter also shows how to enable and work with the Kubernetes integration in Docker Desktop to run the sample web application in Kubernetes in WSL.
Chapter 8, Working with WSL Distros, walks you through the process of exporting and importing a WSL distro. This technique can be used to copy a distribution to another machine or to create a copy on the local machine. You will also see how to use container images to quickly create new WSL distros.
Chapter 9, Visual Studio Code and WSL, gives a quick introduction to Visual Studio Code before exploring the Remote-WSL extension for working with code in your WSL distro file system from Visual Studio Code. With this approach, you retain the rich GUI experience of Visual Studio Code with your code files, tools, and application all running in WSL.
Chapter 10, Visual Studio Code and Containers, continues the exploration of Visual Studio Code by looking at the Remote-Containers extension, which allows you to package all your project dependencies into a container. This approach allows you to isolate dependencies between projects to avoid conflicts, and also enables new team members to rapidly get started.
Chapter 11, Productivity Tips with Command-Line Tools, takes a look at some tips for working with Git at the command line, followed by some ways to handle JSON data. After this, it explores both the Azure and Kubernetes command-line utilities and ways they can each be used to query information, including further exploration of handling JSON data.