How to use Unix/Linux commands at the Windows command prompt


A lot of us who use Linux at work/school or have always grown up using unix commands for years and more often than not, there might have been instances where a ls command comes more naturally than the dir command at the command prompt in Windows. For the most part, a lot of us work around this drawback using the excellent tool: Cygwin. Cygwin is available for windows users here.The Cygwin tools are ports of the popular GNU development tools for Microsoft Windows. They run thanks to the Cygwin library which provides the UNIX system calls and environment these programs expect.

With these tools installed, it is possible to write Win32 console or GUI applications that make use of the standard Microsoft Win32 API and/or the Cygwin API. As a result, it is possible to easily port many significant Unix programs without the need for extensive changes to the source code. This includes configuring and building most of the available GNU software . Even if the development tools are of little to no use to you, you may have interest in the many standard Unix utilities provided with the package. They can be used both from the bash shell (provided) or from the standard Windows command shell.

While Cygwin would be an obvious choice for many Unix/Linux power users, there is an excellent and a much simpler alternative to using Cygwin. In this article, we will show you how to run your Unix commands right in the windows command prompt.

For this, we will be using CoreUtils. CoreUtils is available through Sourceforge and is available for download here. If you look in here, there are a number of GNUWin32 packages available, the one we would be using is the CoreUtils package. CoreUtils is a collection of basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every OS. And when I talk about File utilities, they include chgrp, chmod, cp, dd, du, ln, ls, mkdir, mv, rm, touch, vdir among others. A sample of the text utilities include cat, cksum, cut, join, md5sum, shasum, sort, split etc. The shell root commands include echo, chroot, hostname, nice, pathchk, tty, who, whoami and yes su. So it is pretty much the whole nine yards here… The direct link for download of the CoreUtils package available through SourceForge is available here.

Once installed, you will need to add the path to the utilities to your PATH environment variable. Follow the steps below to achieve this

1. Click on Start –> Run and enter sysdm.cpl to bring up the system properties Dialog

2. Click on the Advanced tab –> Environment variables button Path to environment variable

3. In the System Variables pane, scroll down to Path and then click on edit.

4. Under Edit System Variable, in the variable value, at the end of the line , type the following including the semicolon which separates the individual elements in the path variable. ;C:\Program Files\GnuWin32\bin

env variable properties

Congratulations !! You have now added the GNUWin directory to your path and Unix commands can now be executed directly from the command line and run natively on the Win32 command prompt without the need for any emulation layer as shown below using the example of dir vs ls

command prompt comparing dir vs lsDownloads and Sources

1. Download CYGWIN

2. Download CoreUtils


If you liked this article, click here to buy me a beer!

27 replies to this post
  1. Hi sir,thanks a lot for your article, sir i have a doubt is it working for all windows operating systems.plz give me the reply

  2. Hello bhai mein punjab se hoon tera kaam bahut …………………………………… Super mind blowing
    thanx man really thanx
    i love linux but due to lack of gui of linux i use window from last mounth i used linux since 6 years but i really do not know that how can i run linux commands in window xp
    Thanx man
    Rinku from punjab

  3. IMPORTANT – 64 bit users

    You must change the path to C:\Program Files (x86)\GnuWin32\bin instead of C:\Program Files\GnuWin32\bin

  4. i really doubt all command of linux run or not
    example whois domain don’t work
    and some other also
    is there internal and external command to run or not run?

  5. Worked great, thanks for the article and links.

    vi and clear aren’t listed in coreutilities. I would imagine there’s a GNU version of vi available for Windows, though why would you want it? Ugh.

  6. […] instructions I found are at […]

  7. Dear Sir
    I read your article it is quite interseting and have an innovative move of having linux command under Linux.
    Dear Sir I have wine package installed under my Linux Box.It has a sub package winelib which provide the user with compiling a win32 application under Linux and is ran as native Linux executable. I want to execute a Linux command in a win32 application. I have the environment for compiling a win32 application but I don’t have a win32 application that a Linux command in it. If you may please help me How I can use Linux command in a win32 application I’ll be greatefull if you may help me in this

  8. […] I’m not a Windows command line user at heart, I was raised during my Computer Science classes to poke around Linux machines. Sadly, certain commands like ls -la come much more naturally to me than dir /aMy solution to this is installing the CoreUtils for Windows package, which adds most of the core GNU utilities into the command line. This hack requires installing a package from SourceForge and adding to the PATH environment variable, which are covered in this blog post over at […]

Leave a Reply