Yahoo
Skip to main content
Advertisement
Advertisement
Advertisement
Advertisement

CLI apps aren't just for Linux—these 5 run fine on Windows too

A Windows laptop with the Terminal open.
Nick Lewis / How-To Geek

Linux has always been a more command-line focused operating system compared to Windows, and if you just put the operating systems side-by-side, that is still true today, for better or worse. However, that doesn't mean that you're without options if you do want command-line tools on Windows.

In fact, there are a few dozen great command-line apps out there. Here are a handful I found that replicated specific functions that I've gotten used to on Linux but aren't great in Windows natively.

ripgrep (rg)

PowerShell Terminal installing Ripgrep.

If you've ever used findstr or relied on the Windows Explorer search bar to find a specific string of text across dozens of files, you know that the default search can be unbelievably sluggish. ripgrep is a recursive Regex search tool that aims to improve CLI search on Windows.

Advertisement
Advertisement

You'll find it dramatically faster than any native Windows search, and the output is colorized and easy to read. While there is a noticeable learning curve if you aren't familiar with regular expressions, the speed gain makes it worth the effort for anyone digging through code or massive log files. There are also online Regex expression tools that will save you a ton of time if you're not used to working with Regex.

Install it by running the following:

Then search your directories using rg (pattern).

fzf

A fuzzy finder that turns any list into an interactive menu

Installing the zf package.

Windows is a bit clunky if you need to interactively filter while you're typing. Luckily, there is a command-line application designed to address that shortcoming.

Advertisement
Advertisement

Fzf is a general-purpose fuzzy filter that allows you ot filter any text list through ah interactive menu, whether that be the output of dir or a file path you're working with. If you spend a lot of time in the Terminal, it is extremely useful.

It can be installed by running:

bat

A cat replacement

The output of the helloworld.py script.

Cat is a command I use a lot on Linux , but the Windows equivalent—type or Get-Content—feels conspicuously worse.

bat acts as a replacement that adds syntax highlighting and line numbers. It also handles automatic paging, so you aren't flooded with a thousand lines of text in a single scroll. That makes it way more useable than type for any kind of source code or configuration files that are longer or more complex.

Advertisement
Advertisement

You can install it using the following command:

Then, just run bat (file.extension) to view the contents of a file.

fd

Finding files without memorizing regex

Searching for the phrase hellow.

Ripgrep is fine if you want to use Regex or dig through the text of files, but it is overkill for simple search. UInfortunately, dir /s and where are just clunky. fd is designed to be a fast, more user-friendly alternative that does much the same thing.

In general, I've found it is much faster than the default search, which is important. Searching my C:\\ drive for the partial file name "hellow," which should be relevant to any helloworld files I have present, ran imperceptibly fast.

Advertisement
Advertisement

You can install it with winget install sharkdp.fd

Once it is installed, run fd (search term here)to find any file matching that name.

zoxide

Jumping to any folder you've visited by typing a few letters

The help menu for Zoxide.

The cd command is a fine tool for basic navigation, but it can be tedious if you need to repeatedly type out long, nested paths. Zoxide aims to improve your experience by learning and running the directories that you use most, so they're more quickly accessible.

For example, instead of typing the full path, you could type z projectname, and Zoxide will move you to the most likely match based on your history. It does require a one-time hook added to your profile to function, but the time saved on navigation makes that setup trivial.

Advertisement
Advertisement

Install it by running winget install ajeetdsouza.zoxideand you're off.


A little setup can make these replace your default Windows tools

To get the most out of these tools, you should run them inside Windows Terminal paired with PowerShell 7, or whichever the latest version of PowerShell is. That combination will get you the best possible command-line performance on Windows.

If you prefer user-space installations that don't require administrator rights, Scoop is a viable alternative to winget.

If the syntax bothers you (it bothered me for quite a while), you can add aliases or functions to your $PROFILE so that bat, rg, and whatever other CLI tools others become your default commands. Though you will have to watch out for the fact that PCs other than your own are going to respond very differently than you expect.

Advertisement
Advertisement

I'd recommend starting with a few useful ones to begin with, like ripgrep and fd (they're the ones I've found myself using the most), and then add the rest as they become necessary.

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