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...
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 tools that are out in the world. Now think about all the Windows counterparts. Bash on Windows gives us the option to use all of it on a single operating system and I’ll show you how!
This session will show you how to get up and running and then we’ll spend some time looking at specific development scenarios and why you would want to use Bash. If development isn’t your focus, we’ll also look at some DevOps scenarios targeting Azure. Finally, I’ll show you some of my favorite tools, tips and tricks along the way that can help you leave the room with knowledge you can immediately put to good use.
Size: 2.36 MB
Language: en
Added: Jun 26, 2017
Slides: 20 pages
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