Linux Windows

A Quick Guide to Linux Bash Shell in Windows 10

Moe Long 07-11-2016

In March, 2016 Microsoft announced the awesome Canonical partnership. Touted as Linux on Windows, the developers rejoiced at the prospect of Bash coming to Windows 10 Surprising Reasons Why You Will Like Windows 10 It's almost cool to hate on Windows 10 these days. Don't let that deprive you of all the benefits Windows 10 will bring! We show you what you're missing out on. Read More . Rather than a virtual machine, the Windows 10 Anniversary Update promised to bring the full functionality of bash to Windows.


Bash for Windows has been live for some time, and packs a wallop of capabilities. While certainly catering to a developer audience, more features lurk beneath the command line Windows 10 Receives a Full Linux Command Prompt BASH shell, complete with a Linux sub-system, is coming to Windows 10 with the Anniversary Update this summer. That was one of the biggest announcements at the Build Developer Conference. Here's why this matters. Read More . Learn more about Bash on Windows, from how and why you should install it, to hidden features you probably didn’t know about.

System Requirements for Bash on Windows

Windows Bash Requirements

Getting Bash on Windows installed is pretty simple, but let’s start with the basics.

You’ll need a PC running Windows 10 How to Install Windows 10 for Free on any Windows, Linux, or OS X PC You don't have to upgrade to Windows 10 to try it. Whether you qualify for the free upgrade or want to try Windows 10 on Linux or OS X, you can evaluate it for free. Read More , a 64-bit PC, and the Windows 10 Anniversary Update installed. Since the update targeted developers, you’ll also need to toggle developer mode on. Rebooting may be required. Once it’s back on, Windows Subsystem for Linux (Beta) may be enabled under Windows Features. This then prompts another reboot, and finally once your system has turned back on, you can open Bash. Woohoo!

Ubuntu on Windows


So installing and running Bash on Windows is surprisingly easy. As long as you’re armed with a 64-bit Windows 10 PC and have the Anniversary Update installed, it’s as simple as switching on a few features.

Enabling Bash on Windows

Enabling Bash on Windows isn’t as difficult as it sounds. Here’s how to go about with install.

First, enable Developer Mode. Navigate to Settings > Update & Security > For Developers and select the bubble by Developer Mode.

Next, hit Windows keys + Q and search for Turn Windows Features on or off.


Check OK and reboot. Once up and running again, open the Start Menu and search for Bash. Click on the Bash run command option.

You’ll be promoted to accept the terms of service, and after agreeing to those, Bash will download.

Once this is finished, you can finally run Bash! To do this, simply open the Start Menu and search for Ubuntu.

What You Can Actually Do

One of the biggest questions, what can you actually do with Bash on Windows? Standard GNU command line tools including…


…should work perfectly. Installing packages and updates using apt and apt-get functions great as well. Symlink and file system support comes via the Windows Subsystem for Linux (WSL) environment, and there’s some programming language support for the likes of Python, NodeJS, and Perl. While Bash on Windows is not intended for running graphical apps, it can be accomplished.

Luckily, you can’t edit/open/delete Windows apps or alter Windows system settings. This is a great failsafe, as we all know mistakes can happen when using the command line.

Installing Linux Software

Bash Ubuntu

On Linux, you can install apps via several methods. The command line is most commonly used. The apt-get downloads software packages from repositories, along with dependencies. It’s nifty, and would look like this (sans-brackets, and with the actual package name):

sudo apt-get install [packagename]

If we’re installing Git for instance, we’ll run:

sudo apt-get install git

Pretty simple. However, make sure to include sudo as we need superuser permissions. Git, and other software may be installed from source as well.

Born to Run (Graphical Apps)

Bash on Windows does not support graphical Linux apps, or at least officially. However, community members found a method of doing so using the apparently rather versatile Windows Subsystem for Linux. Just because something isn’t made for one purpose doesn’t mean it can’t be used for that.

Case in point: installing Bash for Windows installs an entire Ubuntu user space image. Basically, you get everything (all the binaries) that is featured on a traditional Ubuntu install with a graphical user interface (GUI).

By including a complete Ubuntu user space, it’s therefore possible to run graphical Linux apps on Windows. The workaround calls for installing X Server, using apt-get to install a program, setting a display environment variable, and finally launching the application. Though not particularly difficult, it is a cumbersome process as display environment variables must be set each time you want to run a graphical app.

Furthermore, it’s an unsupported feature, so functionality is contingent on a bevy of factors. As any native Linux user knows, app installs often require dependencies and tweaks as is, so you can only imagine jerry-rigging Bash on Windows to run these.

Want to run Linux graphical applications? You’re probably better off using Cygwin Forget Cygwin: CASH Brings The Best Of Linux To Windows Linux and Windows are very different operating systems, and nowhere is that more apparent than with the command line. Various tools are available to make Windows feel more like Linux, such as Cash. Read More , a VM on Windows to run a Linux distribution or just dual booting. Then again, there is the novelty of graphical Linux apps on Windows.

Accessing Files

Installing Bash for Windows creates a full Ubuntu user space. You can easily access these files using the Windows File Explorer. However, you will have to know where to look, which requires first enabling Show hidden files, folders, and drives under File Explorer view options. Each Windows user account has its own Ubuntu user space, which can be found by navigating to the folder:


The account home folder resides at:


With the root folder of:


Accessing Windows system files in Bash is a bit different. The default in Bash is the Ubuntu root directory created within the Windows file system. But you may mount the Windows system drive. So to mount the C: drive, use the command:


For the D: drive this would be:


And so on. Since we’re using the command line, we can couple such commands with the likes of cd (change directory). Permissions work a bit differently. To access the admin folder, the Bash on Windows program requires the “Run as Administrator” privilege.

Server Management

Want a super practical reason to use Bash for Windows? Server management is a great idea. Creating a server is really easy, but if it’s headless, you’ll need a way to manage it. There are loads of apps including PuTTY, but the command line offers a simple solution. Just ssh into the server and you can manage it from the terminal. Running remote scripts works quite well using Bash on Windows, and it’s a fantastic useful application.

Uninstall Bash for Windows

Once you’ve installed Bash for Windows, it’s fairly easy to uninstall. There are two main methods for accomplishing this: one removes Ubuntu environment but keeps your home folder intact. To accomplish this, run these commands via the command prompt or PowerShell:

lxrun /uninstall

A notification will then warn of the results of uninstalling: “This will remove the Ubuntu environment as well as any modifications and new applications…”

Type y to proceed with removal.

The alternative turns off the Windows Subsystem for Linux and this removes the Ubuntu environment and the home folder:

lxrun /uninstall /full

A notification warns:

“This will uninstall Ubuntu on Windows. This will remove the Ubuntu environment as well as any modifications, new applications, and user data.”

Type y to allow the removal of the software.

Command Prompt Windows

Bash on Windows packs loads of potential, and there are superb resources from the likes of the Windows blog, Ubuntu community sites, and even everyone’s favorite: Reddit. Conversations in the /r/bashonubuntuonwindows thread include running Visual Studio code, Samba file servers, and developing with WSL. As running graphical apps proved, the possibilities are almost infinite.

What are you currently using Bash on Windows for? Are you even running Bash on Windows? Let us know in the comments section below!

Related topics: Linux Bash Shell, Windows 10.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Colin
    November 9, 2016 at 12:35 am

    Just wondering, if using bash in windows, can you run the do-release-upgrade command and have a good OS?