djm@AI.MIT.EDU (David J. MacKenzie) (02/08/90)
A group of GNU file manipulation programs is now available for anonymous ftp from prep.ai.mit.edu (18.71.0.38) in the file pub/gnu/fileutils-1.0.tar.Z. They will be added to the GNU beta test tape, as well. The programs this package contains are: cat chmod cmp cp dd dir du head ln ls mkdir mv rm rmdir tail vdir (dir and vdir are ls with different default output formats) Here is the README from the distribution: This is the GNU file manipulation utilities package. Most of these programs have significant advantages over their Unix counterparts, such as greater speed or additional flexibility. The documentation for these programs is not finished yet; it will be added in a later release. Most of them accept descriptive long-named options in addition to Unix-style short-named options, which should help you figure out their additional features. Giving a `-h' option (or any invalid option) will produce a usage message. Some of the programs also have explanatory comments at the top of the source code. The fileutils are intended to be POSIX compliant, like the rest of the GNU system. They were mostly written on BSD Unix and later ported to System V. Known bugs: * mv cannot rename directories on systems that lack the rename system call, except when run by root. I think the System V mv runs a setuid root program called /etc/mvdir to do this. No one has bothered to hack that into the rename emulator in GNU mv. * When copying sparse files that end in blocks of nulls, cp truncates the trailing nulls on systems that lack the ftruncate system call. ftruncate emulations have been written using the fcntl and chsize system calls on System V release 3 and Xenix. * On some versions of System V, du sometimes reports that it cannot stat the last few entries in some directories. This is probably due to bugs in those systems' portable directory libraries. * tail has no -r option (print backwards). Printing the entire file, as the Unix manual says, could run out of memory when tailing a pipe. Reversing a file is really a different job from printing the end of a file; the BSD tail can get away with kludging it in because of its limited size buffer. A more versatile way than tail -r to reverse files is the `tac' command which comes in the 4.3BSD user-contributed code distribution. An enhanced GNU version of `tac' might be included in a future distribution of the fileutils. Bug reports and discussion about these programs should go to bug-gnu-utils@prep.ai.mit.edu. David MacKenzie <djm@ai.mit.edu> <djm@eng.umd.edu>