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:
cat /etc/os-release
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.
Alternatively, open PowerShell as admin and enter this command.
wsl --install Debian
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.
pwd
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.
touch draft.txt
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 ls and 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.
You can open the file and make changes to the plaintext file if you like. Type nano and then the name of the text file. Nano is an in-built text viewer tool and if you type nano and follow it with a file name, it opens it instantly.
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.
cd ..
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.
Let’s go back to Home.
cd home
Let’s create a new folder to keep our plain text files. Here’s what you type.
sudo mkdir drafts
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.
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.
sudo mv draft.txt /home/drafts
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.
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.
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:
mv draft.txt notes.txt
Now, if you want you can delete it.
rm notes.txt
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.
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.
sudo apt update
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.
sudo apt install fastfetch
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:
fastfetch
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:
sudo apt remove fastfetch
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.
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.
sudo apt install taskwarrior timewarrior calcurse qalc micro
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.
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.
task add write a guide
You can repeat the same command to add more tasks. Let’s see our task list.
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.
task 1 done
If a task stalls, modify it:
task 2 modify +waiting
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.
task list limit:1
To keep tracking of your time:
timew start writing
When you’re done:
timew stop
You can check a summary of how you spent your time:
timew summary
Now let’s look at the calendar. Launch it by typing the app’s name:
calcurse
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.
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:
micro notes.txt
When it opens, you can just start typing right away.
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:
qalc
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.
Type quit to 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.
sudo apt install newsboat
newsboat
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.
Add your RSS feeds here (one on each line). For example:
http://rss.cnn.com/rss/cnn_topstories.rss
http://feeds.bbci.co.uk/news/rss.xml
https://rss..com/services/xml/rss/nyt/HomePage.xml
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.
sudo apt install python3 python3-pip python3.13-venv
Then,
python3 -m venv webappssource webapps/bin/activate
Then to install Tuir:
pip install tuir-continued
Now run Tuir with this command
python3 -m tuir
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.
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.
sudo apt install w3m
w3m .com
You can navigate with arrow keys and interact with Enter.
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.
curl wttr.in
You can add a location at the end to see the forecast there.
curl wttr.in/london
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.
sudo apt install bastet
bastet
Snake
This is just the regular snake but in the terminal.
sudo apt install nsnake
nsnake
Fortune and Cowsay
These two apps print a random fortune and have a cow say them.
sudo apt install fortune cowsay
fortune | cowsay
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.