The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot

The Old Forum

Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Best unix utils for Windows?

I'm looking for a package that has all those little command line utilities for Windows.  There seem to be a bunch of them, in varying degrees of completeness:

Any others?  I guess I'm supposed to get cyutils + coreutils from the first site, but is there more?  Neither seems to include grep!

Is there any package that just has the whole enchilada?

Is Cygwin the way to go?  It seems a little heavy, though I haven't used it. 

I think there is also some commercial port, though I don't remember the name.
Moosebumps Send private email
Thursday, September 15, 2005
Cygwin's OK I guess.

You started by saying you're "looking for a package that has *ALL* those little command line utilities for Windows", and then you said that cygwin seems a little heavy.

If by 'heavy' you mean 'big', perhaps a reason why it's big is that it does contain all those little packages, like grep, and ruby, and c and C++ and python and tiff and bash and x11 etc etc etc.
Christopher Wells Send private email
Thursday, September 15, 2005
You can go a long way with the mingw and mys combo.

It isn't a very complete bash-shell, but it does let you do 'unix style' makefiles, compiling and debugging, and gives you true windows executables to boot.
new nick, new rep
Thursday, September 15, 2005
If you're missing some specific utility take a look at GnuWin32, they got a bunch of them for individual download:
Chris Nahr Send private email
Thursday, September 15, 2005
Commercial unix utils.. You can try MKS Toolkit. It has almot all the UNIX util like grep, nm etc.
Kris Gautam Send private email
Thursday, September 15, 2005
I guess the reason I said cygwin is heavy because it replaces the shell, when it's clear that grep, find, du, hexdump, etc. would easily port to Windows.

I guess I am looking for more of the text processing kind of stuff, searching through code fast.

Not really looking for make and stuff for actually building code.

Maybe that is good; not sure.  There are definitely things I don't like about the cmd.exe shell, but not sure if Cygwin will be that much better.

So MKS is recommended?  That's what I was thinking of when I said the commercial one.

Really I am just looking for recommendations.  I'm sure they all work just fine and I can patch together whatever commands I need, but I'm wondering which one is the best.  Does anyone REALLY like cygwin?  What about the other tools?  Is it worth it to spend money on the commercial ones?
Moosebumps Send private email
Thursday, September 15, 2005
cygwin doesn't _replace_ the shell, it provides another shell.

One of the reasons I installed cygwin was so that I could use bash, and gcc, and fork(), and...

(Yes, fork() is very slow on windows, I've been told ten zillion times, but for a quick uni homework question, who cares?)

cygwin is extremely good, it does, however, have a GPL license, but you can get a commercial license from Redhat as far as I know.

I have also heard good things about MS's Unix Services for Windows, I forget who they aquired it from, but it could also be interesting.
Arafangion Send private email
Thursday, September 15, 2005
I have the windows key + t mapped to an xterm provided by cygwin. Now I don't even have to put up with that ghastly ms-dos box!

but the /cygdrive/c as opposed to c: is a pain...
Daren Thomas Send private email
Thursday, September 15, 2005
Go with Cygwin. You only need to d/l what you need anyway, so it only as "heavy" as you make it.

Thursday, September 15, 2005
Cygwin produces individual executables. You are not forced to use their shell - you just need your exe (e.g., grep.exe) and cygwin1.dll - and that's it.

google cwrsync for a distribution that bundles just ssh and rsync (very useful)
Ori Berger
Thursday, September 15, 2005
Daren: "c:/blah" works as well as "/cygdrive/c/blah" for 99% of the cases, and you can change /cygdrive/ to anything you fancy (e.g. /drive/c) using the "mount" command.
Ori Berger
Thursday, September 15, 2005
Cygwin is pretty good. You may be able to get something like busybox ported -- which is most of the unix commands rolled up into one binary (it picks which one it acts like based on the command used to run it). This is small enough to be included on floppies with bootable linux systems.

Cygwin environ + busybox would be fairly small and should be OK.
Katie Lucas
Thursday, September 15, 2005
Of the free alternatives

cygwin gives the best unix compatibility
+you can build any unix tool you want it's not in there
-the downlaod is big
-to use an individual tool you also need the cygwin.dll
-different versions of the dll don't play nicely together.

mingw is similair but the executables are all console apps
+you can use any app on it's own
+you can build you own apps
-there are fewer apps compiled for mingw

ch is a C interpreter as a shell with unix commands
+small download, easy install
+also includes a C interpreter
-fewer unix commands
Martin Send private email
Thursday, September 15, 2005
cygwin tip - use ln (link) to make top level lins to the drives. eg:  ln -s /cygdrive/c /c
you can then just do "cd /c" or "cd c:" to switch to c:\
Martin Send private email
Thursday, September 15, 2005
If you are looking for something to grep through code fast, try WinGrep.  It is true windows based, and supports regular expressions.  I also have found it to be very fast.

Other than that, I like the GNUWin32 tools mentioned above.
Thursday, September 15, 2005
Services for UNIX 3.5 is free.  It works great.  It actually provides another subsystem sitting directly on top of the Windows kernel.  You get pretty much everything you could want in terms of command line tools.  No X-windows, but other than that it's great.  You can also install PERL and gcc with it.
Nathan Send private email
Thursday, September 15, 2005

Here is a little Cygwin hint: use rxvt.exe instead of the cygwin.bat.  Like this:

C:\cygwin\bin\rxvt.exe  -sl 10000 -sb -sr -bg #d0d0d0 -e /usr/bin/bash --login -i

You can make a short cut with that.  All the standard command line args for rxvt apply.

Soooooo much better than that crippled DOS in a box thing you've been using.
hoser Send private email
Thursday, September 15, 2005
Oh, another thing: why rxvt.exe over xterm?

Because xterm requires X to be running (nice that X is provided by cygwin, ready to run out of the box, but most of the time I don't need it).
hoser Send private email
Thursday, September 15, 2005
Also useful is PuttyCYG (does not require telnetd).
Thursday, September 15, 2005
Cool yeah I saw this Unix Services for Windows download at MSDN!  Looks like what I want.

But it's a huge 222 MB download.  I'm hoping I can just hack off the utils, and not install all the stuff, since I want to check it into my source control so I can sync it on all the computers I have.
Moosebumps Send private email
Thursday, September 15, 2005
Or you can always use Javascript. ;)
Berislav Lopac Send private email
Thursday, September 15, 2005
I've always been satisfied with the unix tools at  They work just like you'd expect, and they're native to windows.  Put them on your path, and they're there.
Mediocre Coder Send private email
Thursday, September 15, 2005
/agree Mediocre Coder

The grep included in UnxUtils works just fine!

In fact, I regard UnxUtils as one of my luckiest finds. I found myself with a task that I knew I could express in 5 seconds with grep, but I was on a Windows box. As we all know, the Windows Search thing is a horror. And I certainly wasn't going to roll my own. Googling for 'grep windows' etc eventually found me Cygwin (I think), but that wanted to make me install a complete Unix shell and I thought, this is a sledgehammer to crack a nut. I think the magic terms for google were 'win32' and 'native'. Now UnxUtils is in the list of things I install on any Windows box I use.
Larry Lard Send private email
Friday, September 16, 2005
Perhaps, but you still have that brain dead command.exe to deal with.
hoser Send private email
Friday, September 16, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz