With the new Windows 10 Preview Build 17063 released today to Windows Insiders, Microsoft is bringing curl and bsdtar, two popular command-line tools to the Windows toolchain. Developers can access these tools from the command-line for all SKUs of Windows.
- Tar: A command line tool that allows a user to extract files and create archives. Outside of PowerShell or the installation of third party software, there was no way to extract a file from cmd.exe. We’re correcting this behavior. The implementation we’re shipping in Windows uses libarchive.
- Curl: Another command line tool that allows for transferring of files to and from servers (so you can, say, now download a file from the internet).
Learn more about this feature here.
Microsoft is also making Unix style sockets (AF_UNIX) on Windows. Two Win32 processes can now use the AF_UNIX address family over Winsock API to communicate with each other. You can read more about it from this blog.
This build also includes several improvements for Windows Subsysten for Linux. Read about them below.
WSL can run background tasks: Processes that set themselves up to run in the background such as sshd, tmux/screen, etc. will now continue running after the last console window has been closed. Read this blog for more information and a demo.
Elevated and non-elevated WSL instances can run simultaneously: Previously WSL instances all had to all run as elevated or all unelevated. Now you can run some elevated and some non-elevated instances. You can also use Scheduled Tasks to run WSL.
WSL runs in remote connections: WSL is now supported when connected via OpenSSH, VPN, Enter-PSSession, and/or other similar Windows remoting tools. Previously this would only work in cases where the user logged in interactively and started a WSL instance before connecting remotely. to the remote host and then launch WSL. With background processes you can background sshd in WSL so it persists in the background without having any open windows.
Tool to convert Linux paths to Windows-friendly paths: Wslpath is a tool that allows you to convert Linux paths to their Windows equivalent. Here is a quick reference for how you can use the wslpath tool:
-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 ‘/’ instead of ‘\\’