The * after a command in Linux

snakeyeis

Member
Aug 18, 2001
35
0
0
Here is the problem. I have downloaded a particular binary from sourceforge, a cyberoam client and after I extract it and try to run it, it says command not found. Then when I do a ls, I get the executable displayed as follows :
24onlineClient*

Upon consulting help, I find out that the * next to a command means that the command is disabled. How do I enable thins? Please help... cause without this I can't get my internet up in Linux.:confused:
 

MGMorden

Diamond Member
Jul 4, 2000
3,348
0
76
you sure that the * isn't just part of the name (which would cause problems with the shell wanting to expand it)?

Just out of curiousity, try typing:

'./24onlineClient*'

If that says "Command not found." then forget it. If it runs then good, and if it says permission denied then type:

chmod u+x '24onlineClient*'

And then type the 1st command again.
 

snakeyeis

Member
Aug 18, 2001
35
0
0
No, the * is not the part of the filename. And I haev already modified the permissions of the file before trying to execute.

Just for your information, I have mandrake 9. And I one more observation to make.

Out of curiosity, I browsed into the /usr dir and then to the games dir. In tha games dir, all the binay executables ended with a *. For eg
chromium*

When I type chromium at the prompt, it gives the same command not found error. But, when I start a filemanager and double click on this executable, it runs perfectly. However, when I double click on the cyberoam binary, it does nothing.

Even if I were to forget the cyberoam problem, I would like to know the significance of this asterix and how to disable it so that I can execute binaries from the prompt.
 

MGMorden

Diamond Member
Jul 4, 2000
3,348
0
76
just add the ./ in front of the executable

./filename

I now remember something about the * after execs now (been years since I've used mandrake). That had initially crossed my mind, but I fired up cygwin (I'm on my WinXP box ATM) and it didn't show any *'s next to the execs so I just figured my memory was on the fritz.

Either way, just type:

./24onlineClient

(Linux distros by default often don't put . which is the current directory in the path, so you have to specificy a relative pathname even for current directory).
 

Mucman

Diamond Member
Oct 10, 1999
7,246
1
0
yup... that's just ls -F

* = executable
/ = directory entry
@ = symlink

you don't enter the * when running the command.
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Originally posted by: Mucman
yup... that's just ls -F

* = executable
/ = directory entry
@ = symlink

you don't enter the * when running the command.

ls -F rocks! i think n0c showed me that way back.

and you forgot = is a pipe and | is a socket, (i may have that backwards...)
 

NorthenLove

Banned
Oct 2, 2001
525
0
0
Originally posted by: snakeyeis
No, the * is not the part of the filename. And I haev already modified the permissions of the file before trying to execute.

Just for your information, I have mandrake 9. And I one more observation to make.

Out of curiosity, I browsed into the /usr dir and then to the games dir. In tha games dir, all the binay executables ended with a *. For eg
chromium*

When I type chromium at the prompt, it gives the same command not found error. But, when I start a filemanager and double click on this executable, it runs perfectly. However, when I double click on the cyberoam binary, it does nothing.

Even if I were to forget the cyberoam problem, I would like to know the significance of this asterix and how to disable it so that I can execute binaries from the prompt.

Most commands that are usually available to the user via typing in something like 'galeon' at the prompt usually reside in '/usr/bin'. So if you want a command to run without having to type the full path like '/usr/share/game/app' then simply create a link to that application in /usr/bin to access it without typing the full path name.
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: BingBongWongFooey
Originally posted by: Mucman
yup... that's just ls -F

* = executable
/ = directory entry
@ = symlink

you don't enter the * when running the command.

ls -F rocks! i think n0c showed me that way back.

and you forgot = is a pipe and | is a socket, (i may have that backwards...)

I thought | was a pipe :p