What does the asterisk mean after a filename when you type `ls -l`?
Ignacio Vazquez-Abrams has already explained about the *
:
It means that the file is executable. A classifier is shown when -F is passed to ls via the command line or otherwise.
As for the executable-looking emulator
that you can't actually execute, this can happen when the dynamic loader requested by emulator
doesn't exist. You can check what kind of file emulator
is with the command file emulator
, and check what dynamic loader and libraries it needs with ldd emulator
(any line showing “not found” is something you need to install).
Given the name of the directory and the size of the file, emulator
is probably a Linux x86 binary. I suspect you have an amd64 system. If so, you need to install a runtime environment for 32-bit applications; on Ubuntu, you need the ia32-libs
package (and perhaps also ia32-libs-gtk
).
You could also get this error message for a script whose interpreter as indicated in the #!
line doesn't exist.
It means that the file is executable. A classifier is shown when -F
is passed to ls
via the command line or otherwise.
From info ls
:
`-F'
`--classify'
`--indicator-style=classify'
Append a character to each file name indicating the file type.
Also, for regular files that are executable, append `*'. The file
type indicators are `/' for directories, `@' for symbolic links,
`|' for FIFOs, `=' for sockets, `>' for doors, and nothing for
regular files.