Odd Program in /usr/bin


I have 11.2 installed, 32 bit, from the DVD.

I see that there is this

-rwxr-xr-x  1 root  root       34564 2009-10-24 07:20 

in /usr/bin.

The command “file” says that it is

: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, stripped

Anybody know what this is?

It’s fine to check see what owns it it should be coreutils or something like so, very basic and needed.

rpm -qf /usr/bin/

Info Bash Reference Manual scroll down but it is a form of test.

It’s a synonym for test.

Strange enough (to me):

henk@boven:/usr/bin> l test 
-rwxr-xr-x 1 root root 34564 okt 24  2009 *
-rwxr-xr-x 1 root root 30464 okt 24  2009 test*

one of them is not a symbolic link to the other and their sizes are not equal.

Which iswhen you look at vi and friends:

henk@boven:/usr/bin> ls -l|grep vim
lrwxrwxrwx 1 root root           3 jan  2 20:02 edit -> vim
lrwxrwxrwx 1 root root           3 jan  2 20:02 ex -> vim
-rwxr-xr-x 1 root root         143 okt 24  2009 gvimtutor
lrwxrwxrwx 1 root root           3 jan  2 20:02 rview -> vim
lrwxrwxrwx 1 root root           3 jan  2 20:02 rvim -> vim
lrwxrwxrwx 1 root root           8 jan  2 20:02 vi -> /bin/vim
lrwxrwxrwx 1 root root           3 jan  2 20:02 view -> vim
lrwxrwxrwx 1 root root           8 jan  2 20:02 vim -> /bin/vim
lrwxrwxrwx 1 root root           3 jan  2 20:02 vimdiff -> vim
-rwxr-xr-x 1 root root        2050 okt 24  2009 vimtutor

Yes, I noticed that too, they used to be the same program in classic Unix. Not sure why the binutils devs decided to make them separate programs. When is invoked, it requires the last argument to be ]. However a combined program could easily tell which name it was called by looking at argv[0] and behave accordingly.

I’m glad you raised that I’m sure me and Ken had a similar one not so long ago that showed it linking. Thought I’d imagined it…

Ahh here it is not so long ago either the special “test” expression `-l STRING’ - openSUSE Forums

antttikutoja wrote:
> -rwxr-xr-x 1 root root 34564 2009-10-24 07:20

man :slight_smile:

DenverD (Linux Counter 282315)
CAVEAT: http://is.gd/bpoMD
posted via NNTP w/TBird | KDE 3.5.7 | openSUSE 10.3 SMP i686
AMD Athlon 1 GB RAM | GeForce FX 5500 | ASRock K8Upgrade-760GX |
CMedia 9761 AC’97 Audio

Looking at that post you see that* * is a link to test as ken_yap and I expected it to be. That must be a different openSUSE I suppose.

When you look at the man page of test, you will find it is about test and **.

Also it might be of interest to know that in most shells (including bash) the* * program is not called, but is handled internaly by the interpreter (in most shell scripts there are so many tests done that loading a separate program each time for them was a performance problem).

And (a bit more remote) I prefer the * … ]] construct (that originated in ksh, but is supported in bash) above the * program (simulated by bash or not).

Did that give a man page to you?

In my system:

henk@boven:~> man 
Er is geen pagina over 
henk@boven:~> LANG=C man 
No manual entry for 

It was 11.2 pretty vanilla too. I expected the same and remembered I had posted it.

Not checked Suse but also got no man page DenverD is still on an old one, so not always relevant.


BASH_BUILTINS(1)                                              BASH_BUILTINS(1)

       bash,  :,  ., , alias, bg, bind, break, builtin, cd, command, compgen,
       complete, continue, declare, dirs, disown, echo,  enable,  eval,  exec,
       exit,  export,  fc,  fg, getopts, hash, help, history, jobs, kill, let,
       local, logout, popd, printf, pushd, pwd, read, readonly,  return,  set,
       shift,  shopt,  source,  suspend,  test,  times,  trap,  type, typeset,
       ulimit, umask, unalias, unset,  wait  -  bash  built-in  commands,  see


test expr
        expr ]
              Return  a  status  of  0 or 1 depending on the evaluation of the
              conditional expression expr.  Each operator and operand must  be
              a  separate argument.  Expressions are composed of the primaries
              described above under CONDITIONAL EXPRESSIONS.   test  does  not
              accept any options, nor does it accept and ignore an argument of
              -- as signifying the end of options.

              Expressions may  be  combined  using  the  following  operators,
              listed in decreasing order of precedence.
              ! expr True if expr is false.
              ( expr )
                     Returns  the value of expr.  This may be used to override
                     the normal precedence of operators.
              expr1 -a expr2
                     True if both expr1 and expr2 are true.
              expr1 -o expr2
                     True if either expr1 or expr2 is true.

              test and  evaluate conditional expressions using a set of rules
              based on the number of arguments.

              0 arguments
                     The expression is false.
              1 argument
                     The expression is true if and only if the argument is not
              2 arguments
                     If the first argument is !, the expression is true if and
                     only  if the second argument is null.  If the first argu‐
                     ment is one of the  unary  conditional  operators  listed
                     above  under  CONDITIONAL  EXPRESSIONS, the expression is
                     true if the unary test is true.  If the first argument is
                     not a valid unary conditional operator, the expression is
              3 arguments
                     If the second argument is one of the  binary  conditional
                     operators listed above under CONDITIONAL EXPRESSIONS, the
                     result of the expression is the result of the binary test
                     using  the first and third arguments as operands.  If the
                     first argument is !, the value is  the  negation  of  the
                     two-argument  test  using the second and third arguments.
                     If the first argument is exactly ( and the third argument
                     is  exactly ), the result is the one-argument test of the
                     second argument.  Otherwise,  the  expression  is  false.
                     The  -a  and -o operators are considered binary operators
                     in this case.
              4 arguments
                     If the first argument is !, the result is the negation of
                     the  three-argument  expression composed of the remaining
                     arguments.  Otherwise, the expression is parsed and eval‐
                     uated  according  to  precedence  using  the rules listed
              5 or more arguments
                     The expression  is  parsed  and  evaluated  according  to
                     precedence using the rules listed above.

       times  Print  the  accumulated  user and system times <snip>

but, the truth is i don’t actually have the patience or background to understand much there…

interestingly (to me) i put


in a konqueror address bar and expected the same but got:

KDE Man Viewer Error
No man page matching to  found.

Check that you have not mistyped the name of the page that you want. Be careful<snip>

and note, that sometimes it is beneficial to run software that has not be “upgraded” or “innovated” to a less capable, but more ‘beautiful’ experience:frowning:

If there is one that is not on the forefront, it is me. I would happlily be on 10.3 and KDE 3.5 if it was still supported with security updates. Have switched off all desktop effects. Prefer productivity above whistles and bells. But we are getting off topic.