3

The common unix utility program grep is an abbreviation of "globally search a regular expression and print", which makes grep a case of "does what it says on the tin". The name informs us of the functionality of the program.

Is there a similar history behind the name of 'xargs'? Does the name have any meaning that helps as mnemonic in the same way as grep does?

  • 1
    I have no source for it, but I had assumed that "x" represented the multiplication or "times" symbol, and "args" was "arguments". – JigglyNaga May 23 at 9:10
  • 3
    Best reference found: "The name xargs, pronounced EX-args, means “combine arguments.”" From the Overview in GNU findutils manual. – fra-san May 23 at 10:21
  • A better reference to consult is the SVID. – JdeBP May 23 at 12:16
  • The man index in pwb1 unix says "xargs(I): construct argument list(s) and execute command", so it looks like it's "execute-args". But there's no indication that its authors haven't use the x just for euphony ;-) – mosvy May 23 at 14:24
  • 1
    A better venue for such questions would be the tuhs mailing list, where you may obtain such info directly from the people who invented it. – mosvy May 23 at 14:37
5

The description in the Unix System 5 administrator's reference manual, the X/Open Portability Guide, and the System V Interface Definition is:

xargs — construct argument list(s) and execute command

These pre-date by years Wolfram Roesler's 1993 Unix Acronym List which calls it "extended arguments". As does Gordon A. Moffet's xargs clone published in 1986 whose manual says:

xargs — execute a command with many arguments

However: Whilst the System 5 doco and the clone doco might lead one to conclude that yes "x" relates to "execute", "extend" per Wolfram Roesler's Unix Acronym List is in fact more likely the case. Herb Gellis's own commentary on the subject implies that xe wrote it to extend the then limit of 512 bytes on filename expansion in the Mashey shell.

Herb Gellis is apparently still alive. You could ask xem. ☺

0

xargs means "execute arguments". Some commands can not take input straight from the standard input but only as arguments (e.g. echo, rm). xargs converts data from the standard input into executable arguments and tells the following command to execute those arguments.

0

Xargs means: eXtended ARGumentS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.