Wednesday 9 December 2020

The Windows Subsystem for Linux has a degree of cross-compatibility with PowerShell, as well as being manageable from within your Windows shell. Here are some of the essential commands to know as you get set up.

The Windows Subsystem for Linux (WSL) is an incredibly powerful tool and with the latest version it puts an actual Linux kernel on your Windows 10 PC. The future is exciting, too, with support for GUI apps in the pipeline and even a nifty method of setting up with a single command coming in the not too distant future.

WSL is, as a result of no GUI support right now, managed through the terminal. Once you have a Linux distro installed, or multiple even, managing and interacting with them through PowerShell is something you'll want to be familiar with.

Here are some of the essential commands you'll want to commit to memory.

How to enable Windows Subsystem for Linux

Before you can get WSL2, you need to have WSL. That may sound slightly strange, but the methods of enabling the first iteration and the second are quite different. But to have the newest version, you first need to have the first. There's no direct path to just installing WSL2.

We have a full guide on getting set up with the Windows Subsystem for Linux, which you should check out for a full primer on getting started, but if you're looking for the quickest route, there's a single line of code to enable it on your machine.

Open PowerShell as administrator and enter this command:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

You can either reboot now or later, and if you're wanting to get WSL2 setup as well then we've got a full guide on that as well.

The essential WSL commands for PowerShell

Some of the basics you need to know, especially if you're running WSL2 or a mixture of both versions include commands to manage which Linux distro runs on which version. For all of these commands, any shortened versions will only be available in Windows 10 19041 and higher, but the full versions are worth knowing anyway as they better explain exactly what you're doing.

Basics

If you're inside a PowerShell window and simply want to get into your default WSL Linux distro:

wsl

Where exit will always then take you back to PowerShell. If you want to launch a specific distro then enter:

wsl -d <distribution name> so for example, to launch Debian it would be wsl -d debian

It's also worth mentioning perhaps the most useful tool of all when learning and managing WSL, and that's how to get help:

wsl --help

If you ever need a prod, this will give you a handy list in your terminal of the main commands.

Handling WSL versions

To see which version of WSL is assigned to each of your installed Linux distros:

wsl --list --verbose or wsl -l -v

The results will also show which of your versions is your default wsl distro with an asterisk. If you only want to see what distros you have installed simply remove the verbose option.

If you wish to go one step further and dictate which distro you have installed is your default, enter:

wsl --set-default <distro> or shorten to wsl -s <distro> so, for example, if you wish to set Ubuntu as default you would enter wsl -s ubuntu.

If you've made the upgrade to WSL2 and want that to be your default going forward, enter this command:

wsl --set-default-version 2

This will ensure that any future Linux installs use WSL2, but it won't convert any that you already have installed that are on WSL version 1. To do that you'll need to manually change with the command below.

To amend the version of WSL attached to a distro:

wsl --set -version <distribution name> <version> so for example, to change Debian to WSL 2 you would enter wsl --set -version Debian 2

Running commands using wsl.exe

It's possible to run execute a number of Linux commands without having to first launch into the dedicated shell. This is particularly handy for quick processes, for example running an update.

To do this you would use the template wsl <argument> <options> <commandline>

If you just want to run commands in your default Linux distro then you don't need to specify an argument at all. For example, to run the sudo apt update command for Ubuntu if it's your default you would simply enter:

wsl sudo apt update

You'll be asked for your Linux password but otherwise it'll execute the command without ever having to leave PowerShell. If you want to target a specific version of Linux then you would target it with an argument and an option. So, using the same command but this time using Debian as an example you would enter:

wsl --distribution debian sudo apt update where --distribution or -d is the argument and debian is your option.

This works for all kinds of commands and can be used to install software and much more, while also supporting standard Linux flags such as -y to auto accept. An example command here where we're installing youtube-dl on Debian again, just using wsl.exe:

wsl -d debian sudo apt install youtube-dl -y

Likewise launching applications and many other regular Linux functions, you can follow the same template. To run as a specific user if you have multiple set up, the template above will also accept --user <username> or -u <username> as well, even when mixed with other arguments.

Managing WSL

There are some basic commands which you'll want to remember, too, that are designed to help you manage your WSL setup. Some of them we've already covered, such as listing distributions and setting defaults, but there are some other handy bits to know.

If you want to export your disribution to a tar file use this template:

wsl --export <distribution> <location> <filename>

It's important to enter the full path of the file you want to create as well, so in the example command below I'm creating an export of Debian into a folder on my C:\ drive called "Code" and calling it "debiantest":

wsl --export debian c:\code\debiantest.tar

By contrast you can also import a tar file using the same template, substituting the --export argument for --import. To then run the imported distro you would enter:

wsl --distribution <yourdistributionname>

So after importing the "debiantest" file created above, to run it would be:

wsl --distribution debiantest1

Simple!


There's much more you can do with WSL on Windows 10 but this should cover off most of the basics of interacting with it from within PowerShell and managing your installations.



0 comments:

Post a Comment

ShortNewsWeb

Blog Archive

Categories

'The Woks of Life' Reminded Me to Cook With All the Flavors I Love (1) 13 of the Best Spooky Episodes From (Mostly) Un-Spooky Shows (1) 1Password Now Generates QR Codes to Share Wifi Passwords (1) 2024 (15) 30 Movies and TV Shows That Are Basically 'Competence Porn' (1) 30 of the Most Obscenely Patriotic Movies Ever (1) 31 Spooky Movies to Watch Throughout October (1) 40 Netflix Original Series You Should Watch (1) Active Directory (1) Adobe's AI Video Generator Might Be as Good as OpenAI's (1) AIX (1) and Max Bundle Isn't a Terrible Deal (1) Apache (2) Apple Intelligence Is Running Late (1) Apple Intelligence's Instructions Reveal How Apple Is Directing Its New AI (1) August 18 (1) August 4 (1) August 5 (1) Backup & Restore (2) best practices (1) bleepingcomputer (45) Blink Security Cameras Are up to 68% Off Ahead of Prime Day (1) CentOS (1) Configure PowerPath on Solaris (1) Documents (2) Don't Rely on a 'Monte Carlo' Retirement Analysis (1) Eight Cleaning Products TikTok Absolutely Loves (1) Eight of the Best Methods for Studying so You Actually Retain the Information (1) Eight Unexpected Ways a Restaurant Can Mislead You (1) Elevate Your Boring Store-Bought Pretzels With This Simple Seasoning Technique (1) Everything Announced at Apple's iPhone 16 Event (1) file system (6) Find (1) Five Red Flags to Look for in Any Restaurant (1) Flappy Bird's Creator Has Nothing to Do With Its 'Remake' (1) Four Reasons to Walk Out of a Job Interview (1) Four Signs Thieves Are Casing Your House (1) gaming (1) Hackers Now Have Access to 10 Billion Stolen Passwords (1) How I Finally Organized My Closet With a Digital Inventory System (1) How to Cancel Your Amazon Prime Membership After Prime Day Is Over (1) How to Choose the Best Weightlifting Straps for Your Workout (1) How to Keep Squirrels Off Your Bird Feeders (1) How to Set Up Your Bedroom Like a Hotel Room (and Why You Should) (1) How to Take a Screenshot on a Mac (1) How to Take Full Control of Your Notifications on a Chromebook (1) Hulu (1) If You Got a Package You Didn't Order (1) If You Hate Running (1) Important Questions (17) Install and Configure PowerPath (1) interview questions for linux (2) Is ‘Ultra-Processed’ Food Really That Bad for You? (1) Is Amazon Prime Really Worth It? (1) It Might Be a Scam (1) July 14 (1) July 21 (1) July 28 (1) July 7 (1) June 30 (1) LifeHacker (99) Linux (36) Meta Releases Largest Open-Source AI Model Yet (1) Monitoring (3) music (688) My Favorite 14TB Hard Drive Is 25% Off Right Now (1) My Favorite Amazon Deal of the Day: Apple AirPods Max (2) My Favorite Amazon Deal of the Day: Google Nest Mesh WiFi Router (1) My Favorite Amazon Deal of the Day: Google Pixel 8 (1) My Favorite Amazon Deal of the Day: SHOKZ OpenMove Bone Conduction Headphones (1) My Favorite Tools for Managing Cords and Cables (1) Nagios (2) Newtorking (1) NFS (1) OMG! Ubuntu! (688) Oracle Linux (1) oracleasm (3) osnews (22) Password less communication (1) Patching (2) Poaching Is the Secret to Perfect Corn on the Cob (1) powerpath (1) Prioritize Your To-Do List By Imagining Rocks in a Jar (1) Red Hat Exam (1) register (44) Rsync (1) Safari’s ‘Distraction Control’ Will Help You Banish (Some) Pop Ups (1) Samba (1) Scrcpy (1) September 1 (1) September 15 (1) September 2 (1) September 22 (1) September 23 (1) September 30 (1) September 8 (1) Seven Home 'Upgrades' That Aren’t Worth the Money (1) ssh (1) Swift Shift Is the Window Management Tool Apple Should Have Built (1) System hardening (1) Target’s Answer to Prime Day Starts July 7 (1) Tech (9534) Tech CENTRAL (16) Technical stories (101) technpina (6) The 30 Best Movies of the 2020s so Far (and Where to Watch Them) (1) The 30 Best Sports Movies You Can Stream Right Now (1) The Best Deals on Robot Vacuums for Amazon’s Early Prime Day Sale (2) The Best Deals on Ryobi Tools During Home Depot's Labor Day Sale (1) The Best Early Prime Day Sales on Power Tools (1) The Best Movies and TV Shows to Watch on Netflix This Month (1) The Best Places to Go When You Don't Want to Be Around Kids (1) The Best Strategies for Lowering Your Credit Card Interest Rate (1) The Best Ways to Store All Your Bags and Purses (1) The Latest watchOS Beta Is Breaking Apple Watches (1) The New Disney+ (1) The Two Best Times of Year to Look for a New Job (1) These Meatball Shots Are My Favorite Football Season Snack (1) These Milwaukee Tools Are up to 69% off Right Now (1) This Google Nest Pro Is 30% Off for Prime Day (1) This Peanut Butter Latte Isn’t As Weird As It Sounds (1) This Tech Brand Will Get the Biggest Discounts During Prime Day (1) Three Quick Ways to Shorten a Necklace (1) Today’s Wordle Hints (and Answer) for Monday (4) Today’s Wordle Hints (and Answer) for Sunday (11) Try 'Pile Cleaning' When Your Mess Is Overwhelming (1) Try 'Rucking' (1) Ubuntu News (345) Ubuntu! (1) Unix (1) Use This App to Sync Apple Reminders With Your iPhone Calendar (1) veritas (2) Videos (1) Was ChatGPT Really Starting Conversations With Users? (1) Watch Out for These Red Flags in a Realtor Contract (1) Wayfair Is Having a '72-Hour Closeout' Sale to Compete With Prime Day (1) We Now Know When Google Will Roll Out Android 15 (1) What Is the 'Die With Zero' Movement (and Is It Right for You)? (1) What Not to Do When Training for a Marathon (1) What's New on Prime Video and Freevee in September 2024 (1) Windows (5) You Can Easily Add Words to Your Mac's Dictionary (1) You Can Get 'World War Z' on Sale for $19 Right Now (1) You Can Get a Membership to BJ's for Practically Free Right Now (1) You Can Get Beats Studio Buds+ on Sale for $100 Right Now (1) You Can Get Microsoft Visio 2021 Pro on Sale for $20 Right Now (1) You Can Get This 12-Port USB-C Hub on Sale for $90 Right Now (1) You Can Get This Roomba E5 Robot Vacuum on Sale for $170 Right Now (1) You Can Hire Your Own Personal HR Department (1) You Can Set Different Scrolling Directions for Your Mac’s Mouse and Trackpad (1)

Recent Comments

Popular Posts

Translate

My Blog List

Popular

System Admin Share

Total Pageviews