Assembla home | Assembla project page
 

Welcome to quuxutils

... a better commandline, one tool at a time ...

Status: Usable, but awaiting many tools
New!Here's the BigDirlist showing what's in the quuxutils
ReferenceLinks

http://img427.imageshack.us/img427/6991/abaddayinofficeob5.gif I use several *nix's and Windows, but honestly I'm better with Windows. One thing that has long frustrated me is the criticism by linux users that Windows' commandline environment is vastly inferior to the *nix one.

They are right, of course. While there are solutions like Cygwin, SFU, and the upcoming (and amazing!) PowerShell, these are clumsy in that they need to be installed on every system you use. If you are a server or desktop admin who logs on to many different systems in the course of a day, such installable environments can't be everywhere you are. What you want is a portable environment that's feature-rich, and that can follow you from system to system as you work. And it should JustWork.

Now, bash is a beautiful thing, but as we look at it a little closer, we see that in many cases, the bash shell itself isn't what provides the power. Often it's the collection of small .exe's which live somewhere on the $PATH that provide the usability we love in our bash shells. And, surprise surprise - a little net-scouring reveals that many of these utilities have been ported to the Windows environment. So what if we collect them all up, along with the best-of-breed Windows tools, and put them together as one large distribution?

That's what I am aiming for with quuxutils. A rich environment that includes a lot of the unix-like utilities (grep, wc, sed, wget and so on) which make CLI and scripting easier. One that can go where you go and be usable where you are, without forcing you to install a bunch of stuff the customer or user doesn't want. You'll be able to carry all this on a USB key, map it from a globally accessible share, whatever you like. And then ... just ... use it!

I have actually been building this toolset for 10+ years, but in a very informal, disorganized, and ad-hoc way. About freakin' time I got this stuff updated and ORGANIZED, I say, and since I'm doing that, why not share it with everyone? For each tool I upload into this repository, I try to add useful comments about where it is from and what it does. Use Browse Source from the toolbar above to browse through them, or the Timeline to see when I make new additions.

If you know of a great tool that's not in this repository, make a ticket!!

Get Yours

There are two ways to get your own copy of the quuxutils:

  • Get a subversion client, and check out the latest version directly from the repository. See CheckOut for instructions.
  • Download the latest copy as a zipped archive. See GetZip for that.

Bullet Points

  • First goal is to have one big directory (/win/cli) full of commandline utilities, which you can put on your PATH to create an enhanced CLI and scripting environment.
    • However there are some flies in the ointment. Most notably, the Support Tools and Resource Kit Tools tend to have a lot of individual utilities which appear the same from release to release, but have new functionality, break downlevel compatibility, or both. So these will be in their own subdirectories below /win/CLI. EG: /win/CLI/w2003r2-suptools, /win/CLI/XP-suptools.
    • This directory should be completely usable even when shared out then mapped from other systems. Although it would be slow, you could even add it to your PATH (temporarily!) from any other system, and use it there.
  • Second there is a directory (/win/GUI) which includes tools you can use from the GUI. It's not so important to avoid subdirectories here, but I still kinda try. Usually a utility will get a subdirectory if it has any name overlap with existing utils, or has more then 5 or 6 dependency files.
  • Tools should not require installation to work! This is a pretty important consideration throughout the toolset.
    • Some things come with an installer, but testing reveals that once installed, the executables work fine, even when run via a mapped drive. That's OK, and in this distribution I do that work for you. To be 100% clear: no tools in this set have installers when I am done with them. All you have to do is drop the stuff in a directory.
  • Wherever possible, tools should be free or low-cost. Although you can use it in other ways, the intent here is to build a personal toolkit that you own and can take with you. Not a corporate-supported bigbucks solution.
  • Each tool should be documented with name, version, short functional description, and a link to the download source and documentation.
    • I have started using svn properties to capture this info. The properties I define for each file are:
      • Collection - if the file is part of a collection, its name is here
      • CollectionDescription - some descriptive text about the collection
      • CollectionVersion - if the whole collection has a version number, note it here
      • Source - where can you get the file/collection, if not from this web?
      • License - what license is the compunent under? Mandatory field.
      • FileDescription - something descriptive of the file; usually a short blurb about what it does
      • FileVersion - if the file has a version number, note it here
      • Note - place to put any info not noted in the above
      • As of [81], all files should have (at minimum) the Source and License properties set. And either CollectionDescription or FileDescription as well. Going forward I'll do this with all checkins.
    • No warez! Most tools in this collection are freeware. Some are shareware or payware. While I concentrate on functionality first, I do try to respect the wishes of the authors. Sometimes that means there is a demo or limited version of a utility in the distribution. This will be noted in the file properties and/or commit comments.
    • Authors, if you don't like they way I present your tools, please submit a ticket. We'll work it out, I promise.
  • I don't put trojan/virus/spyware into this toolset, but you don't know me from Adam. So if security is important to you, use the provided links to grab your own copies of these tools!
  • All feedback/requests/ideas will be handled by tickets, not email. I don't even publish my email on this site. I want to document all the thinking that goes into this toolset publicly and usably. No forum either - though a ticket can be like a mini-forum. I welcome your suggestions, thoughts, feedback! Good or bad, if you have something to say, stickit in a tickit!

Using the toolset

(yeah, yeah, I need to make this better)

  • Once you've gotten the toolset as shown in CheckOut or GetZip, you can add the CLI bits to your path like so:
    set path=%path%;c:\quuxutils\win\cli
    

... and now you'll be able to use all the CLI utils from anywhere your cmd prompt happens to be.

  • While a large number of the files in this kit are standalone utilities, some of the utilities do reguire supporting files to run. If you download the entire quuxutils set, everything should JustWork (if it doesn't please file a ticket!), but if you download individual items you may run into troubles. There are two ways to resolve this:
    • The easiest would be to goto the BigDirlist page, and click on the link for that utility. This will take you to the source page, so you can download the author's original package.
    • Or you can use Browse Source, locate your utility, and click on the filename link. This will bring up a page showing the most recent change (within this repository) to that utility. On this page in the upper right corner is a 'Revision Log' link - click that to see all revisions for the file. Browsing back in time, you'll find the changeset where I uploaded it with all of its support files. Those would be the files you need for the utility to run right. They will sometimes, but not always, be grouped in a single subdirectory.

Credits

First, this site could not exist without Assembla, who for some crazy reason host all this for free. Yay!

A very very close second goes to the amazing people who develop Trac, the wiki/tickets/subversion repository site software you are looking at. These guys get it. By the way, I moved the original Trac start page to TracDefaultStartPage, and it's a valuable read if you need to familiarize yourself with what Trac is and does.

Finally and crucially, massive kudos to the many authors, improvers, platform-porting people, and others who've had anything at all to do with the production and distribution of the many tools included in this set. I can't get my work done without the things y'all gave me. What more can I say?

(Maybe the three paragraphs above should be listed in reverse order. Either way, this couldn't have happened without the people above.)

quuxutils main