{"id":14712,"date":"2016-04-04T17:00:10","date_gmt":"2016-04-05T00:00:10","guid":{"rendered":""},"modified":"2025-01-15T16:14:42","modified_gmt":"2025-01-16T00:14:42","slug":"bash-ubuntu-windows","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/","title":{"rendered":"Bash on Ubuntu on Windows"},"content":{"rendered":"\n<p>At <a href=\"http:\/\/news.microsoft.com\/build2016\/?utm_campaign=Build&amp;utm_medium=bitly&amp;utm_source=MNC+Microsite#sm.0001k8szo9qp9fietc225zcfhqsbq\">Build 2016<\/a>, Microsoft announced a series of updates reflecting the company&#8217;s commitment to support developers with their favorite tools, frameworks, and platforms, including open source technologies. One announcement welcomed by developers was the ability to run native Bash on Ubuntu on Windows.<\/p>\n\n\n\n<p>Based on feedback\u00a0that developers would like Microsoft to make it easier to use open source tools on Windows, Microsoft added\u00a0native Bash and with it support for Linux command-line tools which run directly on Windows in an environment that behaves like Linux.<\/p>\n\n\n\n<p>To accomplish this, Microsoft built new infrastructure within Windows \u2013 the Windows Subsystem for Linux (WSL) \u2013 upon which runs a genuine Ubuntu user-mode image, provided by our great partners at <a href=\"http:\/\/www.canonical.com\/\">Canonical<\/a>, creators of <a href=\"http:\/\/www.ubuntu.com\/\">Ubuntu Linux<\/a>.<\/p>\n\n\n\n<p>The result is that you can now run native Bash on Ubuntu on Windows, including Bash scripts, Linux command-line tools like sed, awk, grep, and you can even try Linux-first tools like Ruby, Git, Python, etc. directly on Windows. You can also access your Windows filesystem from within Bash allowing you to work on the same set of files using your preferred Windows tools or Linux command-line tools.<br>Given this is a beta release, the team provided some important caveats. Mike Harsh with the Windows team <a href=\"https:\/\/blogs.windows.com\/buildingapps\/2016\/03\/30\/run-bash-on-ubuntu-on-windows\/\">wrote<\/a>:<\/p>\n\n\n\n<p><em>&#8220;First, this is the first time we\u2019re releasing this technology \u2013 <strong>it\u2019s marked as beta for a reason<\/strong>: We know that <strong>there are some rough edges<\/strong> and that <strong>some things will break<\/strong>! Do not expect every Bash script and tool that you run will work perfectly \u2013 <strong>there will be gaps<\/strong>. But by trying out this feature, you\u2019ll help us figure out what we need to work on in order to greatly improve our reliability, coverage, and reach.<\/em><\/p>\n\n\n\n<p><em>Second, while you\u2019ll be able to run native Bash and many Linux command-line tools on Windows, it\u2019s important to note that <strong>this is a developer toolset<\/strong> to help you write and build all your code for all your scenarios and platforms. <strong>This is not a server platform<\/strong> upon which you will host websites, run server infrastructure, etc. For running production workloads on Ubuntu, we have some great solutions using Azure, Hyper-V, and Docker, and we have great tooling for developing containerized apps within Windows using Docker Tools for Visual Studio, Visual Studio Code and yo docker.&#8221;<\/em><\/p>\n\n\n\n<p>For more on this news, check out the <a href=\"https:\/\/blogs.windows.com\/buildingapps\/2016\/03\/30\/run-bash-on-ubuntu-on-windows\/\">Windows Blog<\/a>, as well as\u00a0a great Build session recording with\u00a0Rich Turner and Russ Alexander, introducing and demonstrating <a href=\"https:\/\/channel9.msdn.com\/Events\/Build\/2016\/P488\">Bash running on Ubuntu on Windows<\/a>. Let us know what you think of this news in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At Build 2016, Microsoft announced a series of updates reflecting the company&#8217;s commitment to support developers with their favorite tools, frameworks, and platforms, including open source technologies. One announcement welcomed by developers was the ability to run native Bash on Ubuntu on Windows.<\/p>\n","protected":false},"author":5562,"featured_media":95489,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[107,160,227],"content-type":[],"topic":[2240],"programming-languages":[2273],"coauthors":[2343],"class_list":["post-14712","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-canonical","tag-linux","tag-windows","topic-application-development","programming-languages-bash","review-flag-new-1593580248-669"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bash on Ubuntu on Windows | Microsoft Open Source Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash on Ubuntu on Windows | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"At Build 2016, Microsoft announced a series of updates reflecting the company&#8217;s commitment to support developers with their favorite tools, frameworks, and platforms, including open source technologies. One announcement welcomed by developers was the ability to run native Bash on Ubuntu on Windows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-05T00:00:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-16T00:14:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Michelle_03.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mark Hill\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mark Hill\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/\"},\"author\":[{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/author\\\/mark-hill\\\/\",\"@type\":\"Person\",\"@name\":\"Mark Hill\"}],\"headline\":\"Bash on Ubuntu on Windows\",\"datePublished\":\"2016-04-05T00:00:10+00:00\",\"dateModified\":\"2025-01-16T00:14:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/\"},\"wordCount\":434,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/STB13_Michelle_03.webp\",\"keywords\":[\"Canonical\",\"Linux\",\"Windows\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/\",\"name\":\"Bash on Ubuntu on Windows | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/STB13_Michelle_03.webp\",\"datePublished\":\"2016-04-05T00:00:10+00:00\",\"dateModified\":\"2025-01-16T00:14:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#primaryimage\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/STB13_Michelle_03.webp\",\"contentUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/STB13_Michelle_03.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/04\\\/04\\\/bash-ubuntu-windows\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash on Ubuntu on Windows\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Microsoft-Logo.png\",\"contentUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bash on Ubuntu on Windows | Microsoft Open Source Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/","og_locale":"en_US","og_type":"article","og_title":"Bash on Ubuntu on Windows | Microsoft Open Source Blog","og_description":"At Build 2016, Microsoft announced a series of updates reflecting the company&#8217;s commitment to support developers with their favorite tools, frameworks, and platforms, including open source technologies. One announcement welcomed by developers was the ability to run native Bash on Ubuntu on Windows.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2016-04-05T00:00:10+00:00","article_modified_time":"2025-01-16T00:14:42+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Michelle_03.png","type":"image\/png"}],"author":"Mark Hill","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Mark Hill","Est. reading time":"2 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/mark-hill\/","@type":"Person","@name":"Mark Hill"}],"headline":"Bash on Ubuntu on Windows","datePublished":"2016-04-05T00:00:10+00:00","dateModified":"2025-01-16T00:14:42+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/"},"wordCount":434,"commentCount":2,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Michelle_03.webp","keywords":["Canonical","Linux","Windows"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/","url":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/","name":"Bash on Ubuntu on Windows | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Michelle_03.webp","datePublished":"2016-04-05T00:00:10+00:00","dateModified":"2025-01-16T00:14:42+00:00","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Michelle_03.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Michelle_03.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/04\/04\/bash-ubuntu-windows\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash on Ubuntu on Windows"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/14712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=14712"}],"version-history":[{"count":2,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/14712\/revisions"}],"predecessor-version":[{"id":96656,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/14712\/revisions\/96656"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95489"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=14712"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=14712"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=14712"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=14712"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=14712"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=14712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}