iTranslated by AI
How to Install UNIX-like Tools on Windows
Introduction
In this article, I will introduce how to install UNIX-like tools that can be used in a Windows environment.
Tools commonly used in Linux environments, such as less and grep, have been ported to Windows.
By installing these UNIX-like tools on Windows, you will be able to perform operations similar to those in Linux, improving the efficiency of console operations.
1. What are UNIX-like tools?
Here, I am referring to shells such as sh and bash, and tools such as Coreutils.
Windows 10/11 comes with PowerShell by default, and you can use UNIX commands like rm and ls through aliases.
However, it is important to note that the options remain specific to PowerShell.
By installing UNIX-like tool packages such as BusyBox or Coreutils on Windows, you can perform operations just like in Linux.
1.1. BusyBox
BusyBox is a program that combines a shell and major commands used in a Linux environment into a single package.
Since it includes shells like sh and bash, it can also serve as a replacement for a shell.
Installing BusyBox provides a suite of Linux-like environments, including the shell, on Windows.
BusyBox includes many commands such as ls, rm, and cat. These commands can be called as subcommands of BusyBox or function as independent commands.
To execute each command within BusyBox, you need to call BusyBox using the respective command name via symbolic links.
For example, if you call BusyBox with the command name ls, BusyBox behaves just like ls.
Similarly, if you call BusyBox with the command name rm, it behaves like rm.
busybox ls . # Behaves the same as `ls .`
ls . # BusyBox is executed via a symbolic link. BusyBox executes `ls .`.
1.2. Coreutils
Coreutils (GNU Core Utilities) is a package that provides basic commands used in UNIX/Linux-based OSs, such as ls and cat.
While BusyBox provides only the essential commands within its package, Coreutils offers a more extensive range of commands.
1.3. less (Pager)
less is a type of pager that displays file contents on the screen.
Since it is frequently used in Linux environments, it is convenient to have it installed.
1.4. grep (Search Tool)
grep (GNU grep) is a search tool that checks if text matching a specific pattern exists within a file.
It is installed to ensure compatibility with Linux distributions.
1.5. tree
tree is a command that displays files and directories in a tree format.
Windows also has a tree command, but the version ported to Linux is more feature-rich.
For the sake of its extensive functionality, we will install the Linux version of the tree command.
2. Installing UNIX-like Tools
2.1. Prerequisites
Directory Structure
The Windows side has the following directory structure:
c:\
|-- app
| |-- develop # Development tools
| |-- launnch # For app shortcuts
| \-- scoop # Scoop Global (includes subdirectories like app and shims for Scoop)
|
\-- bin
|-- Wz # Wz Editor
|-- init # For initialization
|-- neovim # NeoVIM Editor
|-- scripts # Various scripts
`-- tools # UNIX-like tools, command-line tools
Commands installed using Scoop are automatically placed in the appropriate directory under "c:\app\scoop".
Other commands are installed under the c:\bin\tools directory, where Windows command-line tools are located.
Environment Variable Path
Set the Path according to the directory structure.
The Path will look like this:
c:\bin;C:\bin\scripts;c:\bin\tools;c:\bin\wz;C:\bin\neovim\bin;C:\app\develop\ide\VSCode\bin;c:\app;c:\app\launch;C:\app\scoop\shims;C:\app\develop\scm\github\gitlfs;C:\app\develop\scm\github\cli\;...
Since both are registered in the Windows environment variable PATH, you can use UNIX-like commands as soon as you start the console.
Terminal (Administrator)
Since all commands are installed for all users, please open the terminal with administrator privileges.

2.2. Installing BusyBox
BusyBox can be installed using Scoop.
Follow the steps below to install BusyBox:
-
Install
BusyBoxterminalscoop install busybox --global
This completes the installation of BusyBox.
2.3. Installing CoreUtils
Scoop offers the standard coreutils as well as the Rust-based uutils.
In this instance, we will install uutils, which is faster because it is written in Rust.
-
Install
coreutilsterminalscoop install uutils-coreutils --global
This completes the installation of Core Utils.
2.4. Installing less and grep
Both less and grep can also be installed using Scoop.
Follow the steps below to install less and grep:
-
Install
lessterminalscoop install less --global -
Install
grepterminalscoop install grep --global
This completes the installation of less and grep.
2.5. Installing tree
Since tree cannot be installed via Scoop, you must manually download the package and install it.
Follow the steps below to install 'tree':
-
Access Tree for Windows

-
Click the Binaries link and download the archive.
-
Extract the downloaded archive.
-
Copy the extracted "
tree.exe" to "c:\bin\tools"terminalcp .\tree-1.5.2.2-bin\bin\tree.exe c:\bin\tools\
This completes the installation of tree.
Conclusion
This concludes the introduction to installing UNIX-like tools on Windows. By using UNIX-like tools, flexible operations become possible even on Windows.
If you need any other tools, you can easily install them using package managers such as winget or Scoop.
Happy Hacking!
Technical Terms and Annotations
- UNIX-like tools: Command-line tools used under
UNIX/Linux. They range from simple commands (likels,mv) to more complex ones (likeless). - Scoop: A package manager for Windows that features many open-source tools.
- PATH: An environment variable that stores a list of directories where the system searches for commands. If a command is in a directory listed in the Path, it can be executed from any location.
References
Tools
- GNU core utilities: https://www.gnu.org/software/coreutils/
- uutils coreutils: https://github.com/uutils/coreutils
- Busybox for Windows: https://frippery.org/busybox/
- less: https://www.greenwoodsoftware.com/less/
- GNU grep: https://www.gnu.org/software/grep/
- Tree for Linux: http://mama.indstate.edu/users/ice/tree/
- Tree for Windows: https://gnuwin32.sourceforge.net/packages/tree.htm
Package Managers
- Scoop: https://scoop.sh/
- winget (Windows Package Manager): https://github.com/Microsoft/winget-cli
Discussion