making the command line great again - qcon€¦ · 07-03-2018  · microsoft, windows, windows...

20
Making the Command Line Great Again QCon London March 7, 2018 Rich Turner Sr. Program Manager @richturn_ms [email protected] Tara Raj Program Manager @tara_msft [email protected]

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Making the Command Line Great Again

QCon London March 7, 2018

Rich Turner

Sr. Program Manager

@richturn_ms

[email protected]

Tara Raj

Program Manager

@tara_msft

[email protected]

Page 2: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

Background – Linux on Windows

Developer Landscape

• Bash

• Linux tools

• Linux-first tools

Problem

• Assume environment behaves like Linux

Solution

• Linux tools on Windows 10

Page 3: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

Linux Tools on Windows

• The Windows Subsystem for Linux

• Important Dev Environment Tools

• In-box Linux Tools

Page 4: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

Windows Subsystem for Linux (WSL)

• Lets developers run unmodified, “native” Linux environments

• Without the overhead of a VM

• Via the command line

Page 5: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

Wow!

• WSL is only ~24 months old!• 2016-04: Unveiled during Build 2016

• 2016-04: First Win10 Insiders build

• 2016-08: Shipped in Win10 Anniversary Update

• 2017-03: HUGE improvements in Creators Update

• 2017-09: More BIG improvements in Fall Creators Update (FCU)

• 2018-Spring: More sophistication

• Reception has been AMAZING!

Page 6: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

How does WSL work?

• NO VM’s!

• Genuine Linux ELF64 binaries loaded into lightweight “PicoProcesses”

• WSL exposes Linux-compatible System Call Interface (SCI) & calling convention• Component of NT Kernel

• Utilizes existing NT Kernel API’s• Shares network, storage, IO, etc. with

Windows host

User-

mode

NT K

ern

el

Pico Process

Bash, git, Ruby, apt, etc.

Windows Subsystem for Linux (WSL)

exit fork read write …

Storage Net IO Etc.

Page 7: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Distros in the Windows Store

• WSL is “just the kernel & OS bits”

• Distro’s come from the Store

• Fast & reliable download & installation

• Simple servicing

• Install multiple distros side-by-side!

• Ubuntu

• openSUSE & SLES

• Others (launched this week!)

• Run simultaneously!• Tiny footprint vs. VM’s

Page 8: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Demo – Distros in the store & Running Ubuntu on WSL

Page 9: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

Background Task Support

• WSL processes continue running after console windows are closed

• Great for running websites & services in background• Site generator/host - Node/Jekyll/Ruby/.NETCore/Python/etc.

• Websites & services - httpd/lighttpd/etc.

• Databases - MySQL/MariaDB/Redis/etc.

• sshd

Page 10: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Demo – Interop & Background Tasks

Page 11: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Other Features

• Wslpath

• DrvFS case sensitivity

• WSLENV

• wsl.conf

• AF_UNIX and AF_UNIX interop

Page 12: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Demo – Spring 2018 New WSL Features

Page 13: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

WSL in your Dev Environment

• VS Code

• Console

Page 14: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Demo – VS Code + WSL with Node.js

Page 15: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

Console Improvements

• Lots of bug fixes & improvements

• Glorious 24-bit TrueColor

• Improved default palette

• Improved VT support• vim, emacs, tmux, mc, etc.

• Mouse Support!

• Accessibility• Narrator navigation & read-

out

• “The Grand Overhaul” continues…

Page 16: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Console demo

Page 17: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

What’s Next?

Page 18: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

@tara_msft @richturn_ms 🔗 https://aka.ms/learnwsl

What’s next?

• More!

• More & deeper SYSCALLS!• Prioritized based on feedback &

telemetry

• More disk perf improvements

• More networking improvements

• More integration & interop • VS code integration• Docker integration

• More Console improvements

To Infinity

And Beyond!

Page 19: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks

Thank You

Tara Raj

[email protected]

@tara_msft

Rich Turner

[email protected]

@richturn_ms

Command Line Blog

https://aka.ms/cliblog

Learn WSL

https://aka.ms/learnwsl

Docshttps://aka.ms/wsldocs

Git Hub (Issues)

https://github.com/Microsoft/WSL

https://github.com/Microsoft/Console

UserVoice (Feature Asks)

http://aka.ms/winbashuv© 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or

other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft

must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information

provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 20: Making the Command Line Great Again - QCon€¦ · 07-03-2018  · Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks