Yahoo
Advertisement
Advertisement
Advertisement
Advertisement

So You've Set Up Linux On Windows Using WSL, Here's What You Can Do With It

Tux, the Linux mascot, holding the Windows 11 logo with 'WSL' text in the background.
Lucas Gouveia/How-To Geek

So you just installed and set up Windows Subsystem For Linux (WSL) on your Windows machine, and now you're wondering what this blinking terminal can do. Here's a quick guide to get you started.

Get the Right Windows Subsystem For Linux

Start by checking which type of Linux you installed on your Windows. We'll be working with commands that are specific to the Debian flavor of Linux. If you've got Debian or a Debian-derived distro like Mint or Ubuntu, you'll be able to follow this guide perfectly. If you're working with Arch , you'll have to translate certain commands to their Arch equivalents first.

Open the Debian terminal on your Windows machine and type or paste in this command:

It will print details about your Linux install. If you see "Debian" or "Ubuntu" in the first lines, you're good to go. If it shows Arch or some other versions of Linux, the simplest way to follow this guide is to install Debian instead. Open the Microsoft Store, search for Debian, click "Get," and wait for it to install.

Getting the Debian WSL box.

Alternatively, open PowerShell as admin and enter this command.

Start With the Basics

The terminal is just another way to talk to your computer, but instead of clicking or dragging, you type exact commands. Let's jump into it. Type this and then hit Enter.

Finding the current directory.

The command stands for "print working directory." When you run it, you'll see a folder location, typically the Home directory. Whenever you want to find out where you are in the system, you can run this command. Let's make a new text file in this Home folder. Enter this command.

The touch command creates new files if you follow it with the file name and extension type. Once you run it, the Home folder should now have a new plain text file. Let's check if it's there. Type lsand hit Enter. The ls command shows you a list of all available files in the current directory. We only have one new file that we created.

Screenshot 2025-08-20 215255

You can open the file and make changes to the plaintext file if you like. Type nanoand then the name of the text file. Nano is an in-built text viewer tool and if you type nanoand follow it with a file name, it opens it instantly.

Screenshot 2025-08-20 215558
Advertisement
Advertisement

Once we have the blank file open, we can now add text to the file. Press Ctrl+X and then Y to save changes and exit back to the main terminal. The text file should have been updated now.

Now let's leave the Home directory and see where else we can go, and how we can bring our files and folders with us. Let's try heading to the root directory.

The cd command is short for "change directory," and its function is self-explanatory. It changes your directory to whatever you type. We typed two dots, which means take me one level up, so we went from the Home folder to the root folder. Type ls to see what's in the root folder.

Using cd to jump into the root folder.

Let's go back to Home.

Let's create a new folder to keep our plain text files. Here's what you type.

The "sudo" parameter lets you run this command as root or admin. The mkdir command is shorthand for "make directory" and then you just type the name of the folder you want to create. You can write as many names as you want and create as many folders. You can type ls and hit Enter to confirm that the new folder is there.

Creating a new folder using mkdir.

Right now, the plaintext file we created is sitting in the Debian folder, and we want to move it to our Drafts folder. Let's do that.

The sudo command, once again, is granting us root access, and the "mv" command moves the file "draft.txt" to the folder location /home/drafts.

Opening the Drafts folder to view its contents.

Let's cd into the drafts and see if the file is actually there. Sure enough, it is there, and we can use the nano editor again to view and change the text file.

Advertisement
Advertisement

The "mv" command does double duty. It can move a file if you give it a directory, but if you give it another file name, it functions as a rename command.

To rename a file:

Now, if you want you can delete it.

Once removed using rm (short for remove), the file is gone forever because there's no recycle bin. By now your terminal must feel pretty cluttered. You can clear it by typing clear and hitting Enter.

Install Apps

Linux app installation will feel different if you're used to only installing through downloaded files and GUI-based setup wizards. Linux versions like Debian handle app installs, uninstalls, and updates through something called a "package manager." The package manager takes a set of simple commands and automatically finds and installs the app you want from trust repositories. Different versions of Linux have different package managers , some even use multiple kinds.

Advertisement
Advertisement

On Debian and Debian derivatives, the package manager is called APT. That's the one we'll use to install and remove software.

It's a good practice to update the software repos before you install any apps to make sure you're getting the most updated version.

Here too, sudo runs the command following it with root privileges, apt is the package manager, and the update command refreshes its software repositories. Let's try installing something now. We'll get Fastfetch. Fastfetch is a tiny program that displays your system info in the terminal with beautiful ASCII art.

It will ask you to confirm the installation. You can do so by pressing Y. And when the command finishes, just type the app's name and hit Enter:

Running Fastfetch on Debian WSL.

There you go. You just ran your first Linux CLI app. You can search for packages or apps by swapping the "install" parameter with "search" and remove apps by swapping it with "remove." Uninstalling an app on Linux is as simple as:

Build a Workspace Inside Your Terminal

Linux offers a huge library of tools that work within the terminal, and you can get pretty much anything done with the right tool already available for free. And yes, you can get your work done here too, provided it's not graphics work. It is possible to set up GUI support for WSL, but that will take an entire guide. For writing, data entry, or coding workflows, the terminal is the last place you can get your work done in peace.

Advertisement
Advertisement

You can install an entire workspace in the WSL terminal with a single command. Consider these five apps a starter pack. You can swap or add apps you want. This workspace is entirely offline and free of all distractions.

Installing workspace apps on WSL.

Let's look at these tools one by one. First up is Taskwarrior. This is a task list that works on FIFO (first in, first out) logic. It's not a typical to-do list or a Kanban table which throws everything at you at once. You use simple commands to capture tasks and then pull up the list, but you only focus on the top task. Clear it or mark it stalled and move on to the next and so on.

Timewarrior is for tracking your work hours. When you start a task, start the timer with a simple command to stop it when the task is done. It will automatically tag the task and its duration and provide you detailed summaries and reports of where your time went.

Calcurse is a terminal-based calendar and to-do list. You can keep track of your appointments and tasks with just the keyboard.

Advertisement
Advertisement

We have already used the Nano editor to edit our text files before, but you may have noticed it's pretty dated and confusing to understand. That's why we'll upgrade to Micro to work with documents. It's far more intuitive, and you can write in it just like you would in Windows Notepad.

Qalc is incredibly powerful. It can do unit conversions, math, and currency conversions directly in the terminal and displays results while you type.

Together, these apps make a complete workspace that's lightweight, local, and distraction-free. Tasks and time tracking are handled by the timewarrior and taskwarrior. You can handle appointments and agendas with Calcurse and notes or documents with Micro. It's also fully modular and flexible because you can add or remove apps to adapt to your particular workflows.

Write, Track, and Plan Inside the Terminal

Now that you've set up the workspace, let me show you how you can actually get your work done in this space. First, let's create a task. You can capture incoming tasks using the simple command "task" followed by "add" and the task name.

Adding tasks to the list.

You can repeat the same command to add more tasks. Let's see our task list.

Every task gets its own ID and that's how you identify it and edit it. You just work through the list by marking tasks as done or stalled. When you're done with a task, enter this command.

If a task stalls, modify it:

Tasks are shown in the order they were added. You look at the first one, finish it or mark it waiting, then move to the next. I only surface the very next task when I'm using taskwarrior. Here's how you do it.

Showing the very next task with Taskwarrior.

To keep tracking of your time:

When you're done:

You can check a summary of how you spent your time:

Timewarrior daily summary.

Now let's look at the calendar. Launch it by typing the app's name:

You can see it split into three panes, which you can move around using the Tab key. When in a pane, press a to add an item, and s to save. Calcurse lets you add specific timings for your appointments, or you can leave them blank for all-day events.

Using Calcurse to set agendas and reminders.
Advertisement
Advertisement

Press q to quit.

Now let's work with documents. Let's launch Micro and load the text file we created before. It was in the Drafts folder, so we'll cd there.

Open a file with:

When it opens, you can just start typing right away.

Using Micro to edit text files.

Here are some handy shortcuts to get you started:

  • Press Ctrl+S to save

  • Ctrl+Q to quit Micro

  • Ctrl+E opens the command bar to search and replace text.

  • Press Ctrl+G to pull up the shortcut cheat sheet.

Now to round it all off, you can use Qalc for quick conversions.

Run it by typing:

Using Qalc for real-time currency conversions.

Just enter your conversions and Qalc will display the results as you type. You can run basic mathematical operations or convert units or currencies just like that.

Advertisement
Advertisement

Type quitto quit.

News, Reddit, and Browser In Your Terminal

The terminal isn't just for work. You can stay in the terminal to check the news or browse Twitter and Reddit. Newsboat is an RSS reader . It pulls articles from the feeds you choose.

It'll warn you that no URLs are configured and show you the path to the URLs file that you can edit. Copy that path and then open it with Micro.

Setting up Newsboat.

Add your RSS feeds here (one on each line). For example:

Press Ctrl+S to save and quit with Ctrl+Q. Now open Newsboat by typing its name in the terminal. You might have to press Shift+R to refresh the list.

Now let me show you how you can browse Reddit. Tuir is a Reddit client for the terminal, but it's a Python app, and you can't install it directly with the APT package manager. Run the following commands one by one.

Then,

Then to install Tuir:

Now run Tuir with this command

Browsing Reddit in the terminal.

You can login by pressing "u" or browse without logging in. When you're logged in, you can post and leave comments too. Press "q" to quit.

Advertisement
Advertisement

You can also browse the internet (kind of). There are a few terminal-based browsers that are purely text-based and can load sites without images and without javascript.

You can navigate with arrow keys and interact with Enter.

Browsing the internet with W3m.

Finally, you can check the weather for any location with a simple command (no need to install a weather app). You may need to install the curl tool though, which can fetch and download content from links.

You can add a location at the end to see the forecast there.

Weekly forecast as seen on a WSL terminal.

Toys and Games

You can also add games and tiny fun utilities to kill time. Press Ctrl+C to exit any of these.

Tetris

Bastet is a Tetris clone that runs entirely in the terminal.

Playing bastet on a WSL box.

Snake

This is just the regular snake but in the terminal.

Playing snake in a WSL box.
Advertisement
Advertisement

Fortune and Cowsay

These two apps print a random fortune and have a cow say them.

Cowsay running in a WSL box.

Your WSL box is now a place where you can journal, get your work done, browse the internet, and even play a few games. That's not all though. There is a lot more you can do with a WSL box, so don't be afraid to experiment.

Advertisement
Advertisement
Mobilize your Website
View Site in Mobile | Classic
Share by: