键入`ls -l`时,文件名后面的星号是什么意思?

use*_*695 202 linux ls ubuntu

我已经完成了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*
Run Code Online (Sandbox Code Playgroud)

这个星号是什么意思?

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

james@nevada:~/development/tools/android-sdk-linux_86/tools$ ./emulator 
bash: ./emulator: No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

Gil*_*il' 106

Ignacio Vazquez-Abrams 已经解释过*

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

至于看起来emulator无法实际执行的可执行文件,当请求的动态加载程序emulator不存在时,就会发生这种情况。您可以emulator使用命令file emulator检查文件类型,并检查它需要使用什么动态加载程序和库ldd emulator(任何显示“未找到”的行都是您需要安装的东西)。

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

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


Ign*_*ams 84

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


use*_*971 46

来自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.
Run Code Online (Sandbox Code Playgroud)

  • +1 用于教学钓鱼以及给鱼。 (8认同)

小智 26

Ubuntu(12.04,可能还有其他版本)默认包含以下设置:

alias ll='ls -alF'
Run Code Online (Sandbox Code Playgroud)

正如其他人所解释的,-F是星号的原因。

IPython 会自动使用F引擎盖下的标志(默认情况下),因此只需输入ls就会产生您在那里看到的效果。

编辑:顺便说一句,你说你正在跑步ls -l,跑步ll可能根本不一样。

  • 您可以在 Bash 中做的一个有趣的技巧是键入别名命令(例如“ll”)并按 [Ctrl]+[Alt]+[e]。它将展开别名,以便您可以看到它实际处理的内容。(您可能需要按几次才能完全展开) (8认同)

mpe*_*ez0 11

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