WSL lets you use the tools you want, in the environment you want, on the hardware you want.

Whether you’re a seasoned developer or just getting started, one of the most important decisions you need to make is the type of hardware and development environment to use. In the past, most dev professionals would have told you to stick with macOS or Linux because the most common development tools, languages, and frameworks were easy to install and work with. All that has changed with Windows Subsystem for Linux (WSL). WSL lets you run a GNU/Linux environment - including most command-line tools, utilities, and applications - directly on Windows, unmodified and fully integrated with your Windows file system and favorite tools like Visual Studio Code.

Want to work with Node.js? Ruby on Rails? Django and Python? With WSL, you can install your preferred Linux distribution (like Ubuntu), and when you open it for the first time you'll be greeted by a familiar face: the Bash shell. From there, you can treat it like a regular Linux distribution: install binaries by using the package manager, edit files in built-in editors like Vim or Emacs, and start processes as true Linux binaries.

Even better, you can now directly access Windows files and tools from the Bash shell and seamlessly move between your Linux and Windows environment. You don't need to choose between Bash and PowerShell. You can use them both.

Whether you're new to software development, a seasoned Windows dev interested in learning more about how you can use Linux, a Linux-lover who'd like to integrate Windows, or you've been running both systems separately and are ready to integrate them, this course is for you! Ready to learn more?


WSL is not designed to run a graphical user interface. When using WSL, you'll be working with the command line exclusively.

Learning objectives

In this module, you will:

  • Enable Windows Subsystem for Linux and install a Linux distribution.
  • Integrate your workflow between native Linux and Windows commands, file systems, and tools.
  • Create a Hello World web app by using Node.js and Express.
  • Integrate your Linux distribution with Visual Studio Code and customize your terminal.
  • Debug your Node.js website with Visual Studio Code and Linux tools.
  • Run multiple Linux distributions, switch between them, and set a default.