Many people use both operating systems – Linux and Windows in their daily life. If you are one of those people who often keep switching between different operating systems in their work environment, you may have encountered scenarios when you have run Linux commands, such as ‘ls’ and ‘cd’ while working on the Windows command line. This can often happen with people who spend most of their time in server environments (typically ‘Unix’), and switch to the Windows environment (‘non Unix’), once in a while.
In such cases, the message ‘ls (or any Unix or Linux command that you entered on a Windows command prompt) is not recognized as an internal or external command, operable program or batch file.’ gets displayed at the command line as soon as you run a Linux command.
Now, here is an easy tip to work around this. There is a utility called ‘*UnxUtils*’ (Read as ‘Unix Utils’), which is a Windows compatible utility or library of commands used ‘Unix’ commands.
Note: Remember, the utility does not have all Windows-Linux compatibility commands, but only the most commonly used ones.
You can download binary file from one of the following links:
It contains GNU utilities for Win 32, which is dependent on the ‘msvcrt.dll’ file in the Windows Operating System.
Download the binary (‘.zip’) file and extract it on your computer. For example, ‘C:\UnxUtils’ indicates that the file is saved in the ‘C:’ drive.
Now, add the environment variable in the User variables:
Variable name: Path
Variable value: C:\unxutils\bin\;C:\unxutils\usr\local\wbin\
If you don’t know how to change environment variable then read this tutorial. You can then open a new command prompt and type cd, ls, pwd, cat, or any of your favorite ‘Unix’ command. You can even run shell scripts.
Note: If you already had a Command Line window opened then close it and open it again, as the PATH changes doesn’t apply to already running applications. If you want to use which command then add the windows extension .exe in its argument. For example, which which.exe.
Checkout this Wikipedia page for list of commands available through ‘UnxUtils’ in Windows. List is limited to commands included in C:\unxutils\usr\local\wbin\.
Additional Tools: Install Emacs and/or MinGW to get a more UNIX-like development environment on your Windows operating system.
Harsh Warikoo
hey nice effects on the page!
especially the subtle way in which the snowfalls in the background! nice!
keep it up!
Rajesh Namase
I’m glad you liked it.
mohan
Hello Rajesh, your Blog is very useful to me and everyone who want to become master on UNIX…
Thank you..
Priya Balakrishnan
Hi first of all this is a great post, completely comprehensive! I am new to Unix and was looking for a way to practice it through Windows. I have a doubt. Please help me. How do I change directory in this. Since there is no cd command in the wbin, what is the other option for cd. Thanks in advance!
Rajesh Namase
Yeah in wbin cd command is not their but you can use it. I’ve checked, ‘cd’ command working here.
Priya Balakrishnan
Yes sir, I made a blunder by using cd.exe. Now I am clear. Thank You!
Neerav Modi
Hi Rajesh,
I have downloaded UnxUtils but somehow it does not seem to be working for me. I would really appreciate if you can help me sort out the problem. Below is what all I followed:
Downloaded and extracted UnxUtils which is kept at below location:
C:\UnxUtils
Added user variable:
Variable name: Path
Variable value: C:\UnxUtils\bin\; C:\UnxUtils\usr\local\wbin\
Now when I open the command prompt of windows and type ls then it gives me an error
“‘ls’ is not recognized as an internal or external command, operable program or batch file.”
Please help.
Thanks,
Neerav Modi
Rajesh Namase
Have you added User Variables properly? I think you did some mistakes while adding user variables.
Shaz
Hi Rajesh, I tried adding to the “User Variables” PATH too, and got the same error as Neerav. It needs to be added to the “System Variables” PATH for it to work. It works for me now.
Vishi
This is super handy and helpful Rajesh!