Using Bash on Windows to Increase Productivity

ryankmcintyre 519 views 20 slides Jun 26, 2017
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

Did you know Windows 10 can run Bash on Linux?? While it may seem weird seeing those words together, that’s no reason to shy away and not consider how this new capability can be leveraged to increase your day to day productivity. Think about all the Linux features, code samples, tutorials and tool...


Slide Content

Using Bash on Windows to Increase Your Productivity Ryan McIntyre, Sr. Technical Evangelist @ ryanmcintyre

Denver Dev Day - June 23, 2017 "Donations by YOU, Denver Dev Day attendees, are provided to support KidsTek , http://kidstek.org - Thank you!" w e l c o m e

During Windows 10 we started a conversation about the Windows command-line https://wpdev.uservoice.com/forums/266908-command-prompt/filters/top Two central themes emerged Improve the Windows Console Bring Unix/Linux tools to Windows Bash, ssh , grep, sed , awk , etc. Better support for platforms used by OSS projects esp. Ruby, Python, Java, node, etc. We hear ya ! Lots more coming soon on this 

Why? Homogeneity is sooo 1998! Windows & *NIX are more prevalent than ever before Many open-source projects depend-on/require *NIX features We want to make Windows the best place for you to do ALL your best work All the platforms All the devices How to bring *NIX tools & features to Windows? Considered LOTS of options Wanted a legitimate, comprehensive, stable, flexible long-term solution… *NIX Tools on Windows?

Integrate *NIX tools & environment into Windows Run native Linux binaries on Windows Yes! Really!! No VM’s – REAL Linux tools. On Windows. In Windows. Together! Introducing Bash on Ubuntu on Windows Windows Subsystem for Linux (WSL) New distro-agnostic, Linux compatible subsystem The solution?

Linux What is WSL?

Linux What is WSL? GNU User Space Binaries glibc Standard libraries Basic tools

What is WSL? Windows Subsystem for Linux NT Kernel glibc Standard libraries Basic tools

What is WSL? Run all your Linux tools Unmodified ELF64 binaries System call emulation layer Light weight. Less than 1MB Not a virtual machine Command line development We live in the console Built by developers for developers We think this is pretty cool

This is a beta of a brand new technology THERE WILL BE GAPS! Many of your favorite Linux tools “ Work Well In Testing ™” Bash, apt-get, git , Ruby, node, Gnu C/C++, CoreCLR We’re working hard to close gaps PLEASE file bugs on us! (See later) MANY scenarios are untested What works … and what doesn’t?

Top Creators Update Features Supports Ubuntu 16.04 Latest version of Ubuntu Default in Creators Update User choice to upgrade from Anniversary Update Interoperability Talk between Windows and Linux Piping works just like you think it should Inotify Alert when files change Useful in project builders Auto deploy on change Networking Improvements Socket options In depth plumbing Ping and ifconfig

Creators Update Features (continued) Improved utilities apt, sed , grep, awk , top, tmux , ssh , scp , etc. Support for different shells Zsh , Fish, Bash, etc. Languages and Frameworks Node.js & npm , Ruby & Gems, Java & Maven, Python & Pip, C/C++, C# & .NET Core & Nuget , Go, Rust, Haskell, Elixir/Erlang, etc. System Services sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL, etc.

Use Linux AND Windows tools Best of both worlds Develop in an environment similar to production Not meant to mimic production, though! Reduce need for VMs Remove OS dependencies Skills transportable across Windows/Linux/Mac /Mobile/Web How is This Useful for * ME *??

I Can Haz

Anniversary Update or newer (Creators preferred) Enable Developer mode (Insider build < 16215) Turn on Windows Subsystem for Linux Windows feature Restart CMD c:\bash Do everything MS tells you until you’re done!

Multiple Distributions! Download from the Windows Store and run them all side by side! Ubuntu SUSE & OpenSUSE Fedora

Day in the Life

We’re building an array of community tools UserVoice (Ideas & asks): https://aka.ms/winbashuv GitHub Issues: https://aka.ms/winbashgithub Blogs: WSL: https://blogs.msdn.microsoft.com/wsl Console & Command-line: https://blogs.msdn.Microsoft.com/commandline Learning: Docs: https://aka.ms/wsldocs Deep Dive Internals: https://aka.ms/learnwsl Twitter Follow @ richturn_ms for LOTS of updates! Community