GNU utilities for Win32
Here are some ports of common GNU utilities to native
Win32. In this context, native means the executables do only depend on the Microsoft
C-runtime (msvcrt.dll) and not an emulation layer like that provided by Cygwin tools.
Download:
by http: UnxUtils.zip as
of 11/11/99
by ftp (recommended):
US: ftp://ftp.nightwares.com
(thanks to Warren Ockrassa)
Europe: ftp://ftp.uni-koeln.de
latest updates (after 08/25/99): UnxUpdates.zip
The following program versions are covered:
bc-1.05
bison-1.28
bzip2-0.9.0b (not GNU)
diffutils-2.7
fileutils-3.16
findutils-4.1
flex-2.5.4
gawk-3.0.3
grep-2.3
gsar110
gzip-1.2.4
indent-2.2.0
less-340
m4-1.4
make-3.77
patch-2.4
recode-3.5
rman-3.0.7
sed-3.02
shellutils-1.9.4
tar-1.12
textutils-2.0
wget-1.5.2
which-2.4
Standard behaviour:
All programs open files in binary mode, while
stdin, stdout and stderr are in text mode
forward as well as backward slashes in file paths
are accepted
What is new:
I have added a hacked version (sh.exe) of the
Almquist shell distributed with NetBSD running on native Win32. The shell has still some
problems, but it should be good enough to run most makefiles with gnumake.
The main problem at the moment comes from the restriction of pipes to a maximum of 1MB
transfered data. This of course is because Win32 can not fork.
06/06/99
updated grep to v2.3
updated bison to v1.27
updated less to v340
updated bzip2 to v0.9.0b
Bug corrected in cmp, diff
and patch : the --binary flag now works correctly
added GNU which 2.4
added factor and seq
from GNU sh-utils 1.13
08/08/99
updated cp.exe: the previous version did not do
recursive copies
updated ls.exe: the previous version got the date
formats wrong
gnumake updated to v3.77
textutils updated to v2.0
recode updated to v3.5
removed ctags.exe
added PolyglotMan (aka RosettaMan)
rman.exe: converts manfiles to HTML and other formats
added the GNU calculators bc/dc
from bc-1.05
08/26/99
For the time to come, the latest updates are here: UnxUpdates.zip
Help files for many of the programs are available
now via Bruce Wamplers VIDE
site.
updated gzip/gunzip: the previous did not work on
Win98 because it capitalizes the executable name in argv[0]
09/30/99
Added indent-2.2.0
Added a link to the excellent zsh
shell
updated mv, rm and ln: fixed a nasty bug that only
turns up if you use forward slashes in file paths
updated sdiff.exe and diff3.exe: these used to
invoke diff.exe using a full pathname causing unnecessary complications. The new versions
use the PATH.
10/20/99
updated mkdir and rmdir: fixed a nasty bug that
only turns up if you use forward slashes in file paths
updated tar.exe: the previous version would not
accept archive path names containing drive letters
updated bison to v1.28
11/05/99
11/11/99
updated tar.exe: stdin and stdout are now in opened
in binary mode
patch.exe recompiled
syncronisation: the UnxUtils.zip file has been
updated with UnxUpdates.zip. Hopefully, we will have a revision control system in the near
future.
the sh.exe is now really a renamed zsh,
this is somewhat bulky but seems to works good enough
Program
|
Notes
|
ansi2knr.exe |
|
basename.exe |
|
bison.exe |
|
bzip2.exe |
Julian Sewards alternative
compressor |
bunzip2.exe |
|
bzip2recover.exe |
|
cat.exe |
stdin and stdout opened in binary mode |
chgrp.exe |
dummy |
chmod.exe |
|
chown.exe |
dummy |
cksum.exe |
|
cmp.exe |
|
comm.exe |
|
compress.exe |
for (de)compressing .Z files; this is actually a program
called ncompress and was found on one of the Linux mirrors |
cp.exe |
works only on NT, does real hardlinks on NTFS |
csplit.exe |
|
ctags.exe (removed) |
you can get it from Darren Hieberts site or via the home page
of the vim editor |
cut.exe |
|
date.exe |
|
dd.exe |
|
df.exe |
dummy |
diff.exe |
|
diff3.exe |
|
dirname.exe |
|
du.exe |
|
echo.exe |
|
egrep.exe |
|
env.exe |
dummy |
expand.exe |
|
expr.exe |
|
factor.exe |
|
fgrep.exe |
|
find.exe |
- Example of command line under Cmd/Command shell:
find -name *.txt -exec cat {} ;
|
flex.exe |
|
fmt.exe |
|
fold.exe |
|
gawk.exe |
input files opened in text mode |
gnumake.exe |
make-3.77 searches for a sh.exe on the path. If id does not
find one, it switches to win32 make mode, that is, it uses intermediate batch files for
command processing.
This is fine until your makefile tries to execute something like mkdir, which will invoke
the internal mkdir from cmd.exe or command.com. As the results may not be to your liking,
I would prefer to use the crippled sh.exe provide here. |
grep.exe |
|
gsar.exe |
|
gunzip.exe |
|
gzip.exe |
|
head.exe |
|
id.exe |
dummy |
install.exe |
|
join.exe |
|
less.exe |
|
ln.exe |
works only on NT, does real hardlinks on NTFS |
logname.exe |
|
ls.exe |
|
m4.exe |
|
md5sum.exe |
|
mkdir.exe |
|
mkfifo.exe |
dummy |
mknod.exe |
dummy |
mv.exe |
|
mvdir.exe |
|
nl.exe |
|
od.exe |
|
paste.exe |
|
patch.exe |
|
pathchk.exe |
|
pr.exe |
|
printenv.exe |
|
printf.exe |
|
ptx.exe |
|
recode.exe |
stdin and stdout opened in binary mode |
rm.exe |
|
rman.exe |
PolyglotMan by Thomas A. Phelps ( source) |
rmdir.exe |
|
sdiff.exe |
|
sed.exe |
|
seq.exe |
|
sleep.exe |
|
sort.exe |
|
sh.exe |
renamed zsh |
shar.exe |
only works with -T (text) option |
split.exe |
|
su.exe |
dummy |
sum.exe |
|
sync.exe |
|
tac.exe |
|
tail.exe |
|
tar.exe |
- only forward slashes are accepted
- the -z option (compression) does not work
- no remote archives
- works only on NT, does real hardlinks on NTFS
|
tee.exe |
|
test.exe |
|
touch.exe |
|
tr.exe |
|
uname.exe |
|
unexpand.exe |
|
uniq.exe |
|
unshar.exe |
|
uudecode.exe |
|
uuencode.exe |
|
wc.exe |
|
wget.exe |
wget 1.5.3 builds out of the box with MS Visual C |
which.exe |
does not search the current directory |
whoami.exe |
|
xargs.exe |
|
xxd.exe |
|
yes.exe |
|
|
Additional
programs |
pclip.exe |
put the Windows clipboard text to stdout |
gclip.exe |
get the Windows clipboard text from stdin
Example: run the text from the clipboard through sed and put the result back
pclip
| sed "s/string1/string2/g" | gclip |
|