{"id":2635,"date":"2018-03-07T16:14:44","date_gmt":"2018-03-08T00:14:44","guid":{"rendered":"http:\/\/blogs.msdn.microsoft.com\/commandline\/?p=2635"},"modified":"2019-05-03T17:24:08","modified_gmt":"2019-05-04T00:24:08","slug":"windows10v1803","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/commandline\/windows10v1803\/","title":{"rendered":"What&#8217;s new for the Command Line in Windows 10 version 1803"},"content":{"rendered":"<p>The next Windows 10 update includes many new features for Command Line developers. In this post we&#8217;ll review WSL, Hyper-V, new tools, and UWP Console applications coming to the Microsoft Store.\u00a0 We want to thank everyone who tried these updates via the Insiders program and provided feedback.\u00a0 We really appreciate hearing from you both when we get something right, and when we need to do better.\u00a0 Your success and improved productivity with these tools is our ultimate goal.<\/p>\n<h2 style=\"color: #2f5496\">\n  WSL\n<\/h2>\n<hr \/>\n<p>We&#8217;ll start the summary of this Windows 10 update with the Windows Subsystem for Linux (WSL).\u00a0 WSL provides the ability to run Linux binaries on Windows with no VM, and WSL has been very popular.\u00a0 Now that most of the popular stacks are working well on WSL we&#8217;ve been able to spend more time on improving system integration and configuration.<\/p>\n<h3>New Distros in the Store<\/h3>\n<p>We&#8217;re excited to see more distros come to the Microsoft Store for running on WSL.\u00a0 Windows 10 supports having multiple distros for WSL installed on the same machine and running them simultaneously.<\/p>\n<p style=\"padding-left: 30px\">\n  <strong>Kali Linux ships for WSL<\/strong>\n<\/p>\n<p style=\"text-align: left;padding-left: 30px\">\n  Announcing and the latest addition to the distros on WSL &#8211; Kali Linux. Kali Linux\u2019s focus is on penetration testing and they explain their reasons for publishing to WSL here. It&#8217;s now easy for developers on Windows 10 to try Kali!\u00a0 Read more in the <a href=\"https:\/\/devblogs.microsoft.com\/commandline\/kali-linux-for-wsl\/\">announcement blog post<\/a>.\n<\/p>\n<p style=\"padding-left: 30px\">\n  <a href=\"https:\/\/devblogs.microsoft.com\/commandline\/kali-linux-for-wsl\/\"><img decoding=\"async\" width=\"161\" height=\"108\" class=\"alignnone wp-image-2725\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/kali1.png\" \/><\/a>\n<\/p>\n<p style=\"text-align: left;padding-left: 30px\">\n  <strong>Debian GNU\/Linux ships for WSL<\/strong>\n<\/p>\n<p style=\"padding-left: 30px\">\n  We&#8217;re also excited to announce the addition of Debian GNU\/Linux to the Store. Debian is a flavor of Linux that comes with over 51,000 packages, a package manager (APT), and other utilities that make it possible to manage thousands of computers as easily as installing a single application. Check out Debian now available in the Store! Read more in the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2018\/03\/06\/debian-gnulinux-for-wsl-now-available-in-the-windows-store\/\">announcement blog post<\/a>.\n<\/p>\n<p style=\"padding-left: 30px\">\n  <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2018\/03\/06\/debian-gnulinux-for-wsl-now-available-in-the-windows-store\/\"><img decoding=\"async\" width=\"282\" height=\"80\" class=\"alignnone wp-image-2755\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/debian-logo-horizontal-600x170.png\" \/><\/a>\n<\/p>\n<h3>Configuration<\/h3>\n<p>A new file\u00a0\/etc\/wsl.conf is now supported to give you more control over your distro configuration when launching your environment. Drive mounting, and network configuration are the two specific areas supported at the moment. Read the <a href=\"https:\/\/devblogs.microsoft.com\/commandline\/automatically-configuring-wsl\/\">wslconf blog post<\/a> for more details, and let us know what other features you want added to wsl.conf.<\/p>\n<h3>Background Tasks<\/h3>\n<p>You&#8217;ve been able to run background tasks but a caveat was you had to remember to keep a WSL console up or the tasks would end. In this update you can run tasks in the background even after you close the WSL console windows. For more details check out the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2017\/12\/04\/background-task-support-in-wsl\/\">background tasks blog post<\/a>.<\/p>\n<h3>Interoperability<\/h3>\n<p>Great interoperability with the rest of Windows is one of WSL&#8217;s top features.\u00a0 We&#8217;re pleased to announce many interop improvements in this update.<\/p>\n<p style=\"padding-left: 30px\">\n  <strong>wslpath<\/strong> is a new tool you can use to convert paths between Windows and Linux.\u00a0 Run wslpath in a WSL environment.\n<\/p>\n<p style=\"padding-left: 30px\">\n  The options are:\n<\/p>\n<p style=\"padding-left: 60px\">\n  -a force result to absolute path format -u translate from a Windows path to a WSL path (default) -w translate from a WSL path to a Windows path -m translate from a WSL path to a Windows path, with \u2018\/\u2019 instead of \u2018\\\\\u2019\n<\/p>\n<p style=\"padding-left: 30px\">\n  We received a lot of feedback that the inability to <strong>share environment variables<\/strong> between Windows and WSL was a major pain point. We&#8217;re glad we could address this issue in this Windows update. Read more about this feature in the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2017\/12\/22\/share-environment-vars-between-wsl-and-windows\/\">environment variable blog post<\/a>.\n<\/p>\n<p style=\"padding-left: 30px\">\n  <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2017\/12\/22\/share-environment-vars-between-wsl-and-windows\/\"><img decoding=\"async\" width=\"399\" height=\"209\" class=\"alignnone wp-image-2105\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/love-600x314.png\" \/><\/a>\n<\/p>\n<p style=\"padding-left: 30px\">\n  The <strong>filesystem<\/strong> support for WSL is greatly improved. Linux permissions are now added as additional metadata to files. You can create special files like fifos, unix sockets, and device files. And there are more mount options. Read more in the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2018\/01\/12\/chmod-chown-wsl-improvements\/\">filesystem improvements<\/a> post. <b>Case sensitivity<\/b> improvements were also enabled via the DrvFs filesystem driver as an opt-in feature. Directories where you enable a case sensitivity flag allow you to create files where names are only different in casing. This works for Windows tools too as shown in this <a href=\"https:\/\/devblogs.microsoft.com\/commandline\/per-directory-case-sensitivity-and-wsl\/\">blog post<\/a>.\n<\/p>\n<p style=\"padding-left: 30px\">\n  <strong>VS Code<\/strong> has rapidly grown in popularity as a text editor\/IDE for all types of projects. Now you can use VS Code on Windows to debug a NodeJS project running the Linux NodeJS (on WSL).\u00a0 The <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2017\/10\/27\/running-node-js-on-wsl-from-visual-studio-code\/\">setup is simple<\/a> &#8211; add one attribute to your project&#8217;s launch.json.\n<\/p>\n<p style=\"padding-left: 30px\">\n  <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2017\/10\/27\/running-node-js-on-wsl-from-visual-studio-code\/\"><img decoding=\"async\" width=\"400\" height=\"258\" class=\"alignnone wp-image-1826\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/vscodewsl_lead-600x387.png\" \/><\/a>\n<\/p>\n<h3>Unix Sockets<\/h3>\n<p>Unix Sockets weren&#8217;t supported on Windows, and now they are! You can also communicate over Unix sockets between Windows and WSL. There are some rules regarding permissions and interop so make sure to read the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2018\/02\/07\/windowswsl-interop-with-af_unix\/\">unix socket blog post<\/a> for details. One of the great things about this is it enables WSL to run the Linux Docker Client to interact with the Docker Daemon running on Windows. Instructions on how to set this up are covered in the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2017\/12\/08\/cross-post-wsl-interoperability-with-docker\/\">docker post<\/a>.<\/p>\n<h2 style=\"color: #2f5496\">\n  Hyper-V\n<\/h2>\n<hr \/>\n<h3>Enhanced Session<\/h3>\n<p>Linux VM&#8217;s running on Hyper-V can now benefit from an <a href=\"https:\/\/blogs.technet.microsoft.com\/virtualization\/2018\/02\/28\/sneak-peek-taking-a-spin-with-enhanced-linux-vms\/\">enhanced session mode<\/a>. The key tech enabling this is the open source XRDP project which enables us to interact with the Linux VM the same way we do with Windows which is via the RDP protocol. Give this a try and you&#8217;ll see the user experience improvement is significant.<\/p>\n<p><a href=\"https:\/\/blogs.technet.microsoft.com\/virtualization\/2018\/02\/28\/sneak-peek-taking-a-spin-with-enhanced-linux-vms\/\"><img decoding=\"async\" width=\"399\" height=\"224\" class=\"alignnone wp-image-2695\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/esm-vm-879x494-600x337.png\" \/><\/a><\/p>\n<h3>Quick Create<\/h3>\n<p>If you&#8217;re someone who doesn&#8217;t like to spend a lot of time configuring VM&#8217;s you need to know about <a href=\"https:\/\/blogs.technet.microsoft.com\/virtualization\/2017\/11\/08\/create-your-custom-quick-create-vm-gallery\/\">Quick Create<\/a>. This tool allows you to quickly create VM&#8217;s without going through a multi-step wizard.<\/p>\n<p><a href=\"https:\/\/blogs.technet.microsoft.com\/virtualization\/2017\/11\/08\/create-your-custom-quick-create-vm-gallery\/\"><img decoding=\"async\" width=\"400\" height=\"236\" class=\"alignnone wp-image-2715\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/customquickcreategallery-500x295.png\" \/><\/a><\/p>\n<h2 style=\"color: #2f5496\">\n  More CLI Tools\n<\/h2>\n<hr \/>\n<p>Windows 10 now includes more Windows native CLI tools. We did this because you asked.\u00a0 It&#8217;s common for developers to have muscle memory for these tools and we&#8217;re glad to bring them to Windows 10.<\/p>\n<h3>OpenSSH-based client and server<\/h3>\n<p><a href=\"https:\/\/www.openssh.com\/\">OpenSSH<\/a> is a suite of tools originally created by the OpenBSD Foundation for remote command-line administration, public\/private key management, secure file transfers, and more.<\/p>\n<p>The SSH client and key agent are enabled and available by default in this Update, and the SSH server is an optional feature-on-demand. For more information, check out <a href=\"https:\/\/blogs.msdn.microsoft.com\/powershell\/2017\/12\/15\/using-the-openssh-beta-in-windows-10-fall-creators-update-and-windows-server-1709\/\">this blog post<\/a> on the beta we shipped in Fall Creators Update.<\/p>\n<p><a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2018\/01\/22\/openssh-in-windows-10\/\"><\/a>Adding these tools was one of the top tooling requests we heard from the community.<\/p>\n<h3>Tar and Curl with Windows 10<\/h3>\n<p>Tar allows you to create and unpack .tar archive files.\u00a0 The tar format is common in Linux much like zip is common in Windows.<\/p>\n<p>Curl is a feature rich CLI tool for sending and receiving files.\u00a0 It supports a variety of protocols.\u00a0 A simple use case is you can easily make an HTTP request and view the response all from the command line.<\/p>\n<p>Read the <a href=\"https:\/\/blogs.msdn.microsoft.com\/commandline\/2018\/01\/18\/tar-and-curl-come-to-windows\/\">announcement blog post<\/a> for more details.<\/p>\n<h2 style=\"color: #2f5496\">\n  UWP Console Applications\n<\/h2>\n<hr \/>\n<p>UWP is the Universal Windows Platform which includes many improvements in application packaging, deployment, and functionality.\u00a0 With Windows 10 you&#8217;ve been able to continue building classic console applications but not UWP console applications. In this Windows 10 update, UWP Console applications are now supported!<\/p>\n<p>One of the reasons we&#8217;re excited about this is it means developers can now ship Console Applications in the Microsoft Store!\u00a0 There&#8217;s some work done for multi-instancing, debugging multi-instance apps, aliasing of console apps so you easily launch them from a CLI, and templates in Visual Studio.\u00a0 More details are covered <a href=\"https:\/\/blogs.windows.com\/buildingapps\/2018\/02\/23\/windows-community-standup-discussing-multi-instancing-console-uwps-broader-file-system-access\">here <\/a>and the post includes a video link with demos.<\/p>\n<p><a href=\"https:\/\/blogs.windows.com\/buildingapps\/2018\/02\/23\/windows-community-standup-discussing-multi-instancing-console-uwps-broader-file-system-access\"><img decoding=\"async\" width=\"401\" height=\"230\" class=\"alignnone wp-image-2735\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/33\/2019\/02\/uwpcli-600x344.png\" \/><\/a><\/p>\n<h2 style=\"color: #2f5496\">\n  Summary\n<\/h2>\n<hr \/>\n<p>Those are some highlights for Command Line developers in this Windows 10 update. We hope you agree these are great additions. Thanks again for following this blog and providing feedback. We&#8217;re already working on the next Windows 10 release and your input makes a big difference.<\/p>\n<h3 style=\"color: #2f5496\">\n  <span style=\"color: #000000\">Stay in Touch<\/span>\n<\/h3>\n<p>In addition to commenting on posts in this blog, many of us are on Twitter<\/p>\n<p style=\"padding-left: 30px\">\n  Sarah Cooley @virtualscooley John Starks @gigastarks Taylor Brown @taylorb_msft Ben Hillis @benhillis Ben Armstrong @vBenArmstrong Craig Wilhite @CraigWilhite Rich Turner @richturn_ms Yosef Durr @yosefdurr\n<\/p>\n<p>We&#8217;ll also be at developer events over the next 6 months speaking and\/or staffing the Microsoft booth. Here are some of the events we&#8217;ll be at. If you&#8217;re at one of these please stop by and say hello! Qcon London, Scale 16x, DockerCon, ReactEurope, Front Trends, JSConf EU, Full Stack, OSCON<\/p>\n<p>Thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The next Windows 10 update includes many new features for Command Line developers. In this post we&#8217;ll review WSL, Hyper-V, new tools, and UWP Console applications coming to the Microsoft Store.\u00a0 We want to thank everyone who tried these updates via the Insiders program and provided feedback.\u00a0 We really appreciate hearing from you both when [&hellip;]<\/p>\n","protected":false},"author":1034,"featured_media":4392,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,5,6,9],"tags":[],"class_list":["post-2635","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-command-line","category-windows-10","category-windows-console","category-bash-on-ubuntu-on-windows"],"acf":[],"blog_post_summary":"<p>The next Windows 10 update includes many new features for Command Line developers. In this post we&#8217;ll review WSL, Hyper-V, new tools, and UWP Console applications coming to the Microsoft Store.\u00a0 We want to thank everyone who tried these updates via the Insiders program and provided feedback.\u00a0 We really appreciate hearing from you both when [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts\/2635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/users\/1034"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/comments?post=2635"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts\/2635\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/media\/4392"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/media?parent=2635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/categories?post=2635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/tags?post=2635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}