Bash on Windows 10

What is this Witchcraft?

Ever since Satya Nadella's takeover, Microsoft has become much friendlier towards developers. Never has this transition been more apparent than the addition of the Bash shell to Windows 10. This is not some half-baked, cross-compiled port, or even a VM. It's fully-native Bash running inside Windows. This means you're not limited to the basic commands like SSH now built into PowerShell or the hodgepodge of third-party tools like Cygwin. For the first time, software development on Windows is a first class experience, in many ways on par with Mac and Linux.

How to Install Bash on Windows 10

In less than five minutes, we'll have the Bash shell running.

Activate Developer Mode

The first step is to navigate to Settings and activate Developer mode.

Add the Windows Subsystem for Linux

Next, type Features into the Start Menu and click "Turn Windows Features On or Off". Check the option for "Windows Subsystem for Linux (Beta)" and click OK. When prompted, restart your machine to complete the installation.

That's all there is to the install process.

Test-drive the terminal

After the reboot, type Bash into the Start Menu and you'll see an option for the somewhat awkwardly named Bash on Ubuntu on Windows.

Et voila!

The first time you open the terminal, you'll be prompted to create a username and password for the Linux environment. And that's it. Now we have all of the great commands like vi, grep, wget and ssh at our fingertips.

Run some commands

I'll start by using SSH to connect to one of my Linux machines.

This is my Machine Learning rig (GPU+ machine) so I'll check the GPU by running nvidia-smi. And since we're in a real Ubuntu shell, Python is installed by default.

The File System

Finally, the Ubuntu user shares the file system with the default Windows user. It's located here:

C:\Users\Paperspace\AppData\Local\lxss\rootfs

Look familiar?

That's it for now. Check it out and let us know what you think!

Please note: This feature is still in Beta so it's currently only available on Windows 10, not Server 2016.