当您输入“ls -l”时,文件名后的星号是什么意思?

当您输入“ls -l”时,文件名后的星号是什么意思?

我已经ls -l在目录内部完成了操作,我的文件显示如下:

james@nevada:~/development/tools/android-sdk-linux_86/tools$ ll
total 9512
drwxr-xr-x 3 james james    4096 2010-05-07 19:48 ./
drwxr-xr-x 6 james james    4096 2010-08-21 20:43 ../
-rwxr-xr-x 1 james james  341773 2010-05-07 19:47 adb*
-rwxr-xr-x 1 james james    3636 2010-05-07 19:47 android*
-rwxr-xr-x 1 james james    2382 2010-05-07 19:47 apkbuilder*
-rwxr-xr-x 1 james james    3265 2010-05-07 19:47 ddms*
-rwxr-xr-x 1 james james   89032 2010-05-07 19:47 dmtracedump*
-rwxr-xr-x 1 james james    1940 2010-05-07 19:47 draw9patch*
-rwxr-xr-x 1 james james 6886136 2010-05-07 19:47 emulator*
-rwxr-xr-x 1 james james  478199 2010-05-07 19:47 etc1tool*
-rwxr-xr-x 1 james james    1987 2010-05-07 19:47 hierarchyviewer*
-rwxr-xr-x 1 james james   23044 2010-05-07 19:47 hprof-conv*
-rwxr-xr-x 1 james james    1939 2010-05-07 19:47 layoutopt*
drwxr-xr-x 4 james james    4096 2010-05-07 19:48 lib/
-rwxr-xr-x 1 james james   16550 2010-05-07 19:47 mksdcard*
-rw-r--r-- 1 james james  205851 2010-05-07 19:48 NOTICE.txt
-rw-r--r-- 1 james james      33 2010-05-07 19:47 source.properties
-rwxr-xr-x 1 james james 1447936 2010-05-07 19:47 sqlite3*
-rwxr-xr-x 1 james james    3044 2010-05-07 19:47 traceview*
-rwxr-xr-x 1 james james  187965 2010-05-07 19:47 zipalign*

那个星号是什么意思?

我也无法运行特定文件,如下所示:

james@nevada:~/development/tools/android-sdk-linux_86/tools$ ./emulator 
bash: ./emulator: No such file or directory

编辑:我正在尝试使用 Eclipse emulator,但是它一直抱怨文件不存在,但它在这里?

答案1

Ignacio Vazquez-Abrams 已经解释过*

这意味着该文件是可执行的。当通过命令行或其他方式将 -F 传递给 ls 时,会显示分类器。

至于看起来emulator可执行但实际上无法执行的文件,这可能是因为 请求的动态加载程序emulator不存在。您可以emulator使用 命令检查文件类型file emulator,并使用 检查它需要哪些动态加载程序和库ldd emulator(任何显示“未找到”的行都是您需要安装的)。

鉴于目录的名称和文件的大小,emulator可能是 Linux x86 二进制文件。我怀疑您使用的是 amd64 系统。如果是这样,您需要安装 32 位应用程序的运行时环境;在 Ubuntu 上,您需要软件包ia32-libs(可能还需要ia32-libs-gtk)。

如果脚本中某行指示的解释器#!不存在,您也可能会收到此错误消息。

答案2

这意味着该文件是可执行的。分类器当通过命令行或其他方式-F传递时显示。ls

答案3

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.

答案4

正如其他几个人提到的,-F选项将ls用星号标记可执行文件。您的命令行中没有-F,但很可能ls已经别名了。您可以在所选的 shell 中检查别名(在 bash 中,使用内置命令alias列出别名),或者使用ls反斜杠转义命令以禁用别名。

相关内容