ls -l -rwxr-xr-x 1 root root size date file* 末尾的星号是什么意思

ls -l -rwxr-xr-x 1 root root size date file* 末尾的星号是什么意思

我的 CentOS 中的每个文件或链接/usr/bin末尾都有一个星号。在我的本地 osX 服务器上,它们都没有。这是什么意思?我在 google 和这里​​搜索过,但都没有找到。

-rwxr-xr-x 1 root root 107104 Nov 11 2010 zipcloak* -rwxr-xr-x 1 root root 2953 Oct 10 2008 zipgrep* -rwxr-xr-x 1 root root 159928 Nov 11 2010 zipinfo* -rwxr-xr-x 1 root root 98584 Nov 11 2010 zipnote* -rwxr-xr-x 1 root root 102680 Nov 11 2010 zipsplit* -rwxr-xr-x 1 root root 1731 May 27 2013 zless* -rwxr-xr-x 1 root root 2605 May 27 2013 zmore* -rwxr-xr-x 1 root root 5246 May 27 2013 znew*

答案1

这表明文件可执行文件摘自 ls 文档,第“常规输出格式”info coreutils 'general output formatting'):

‘-F’
‘--classify’
‘--indicator-style=classify’
    Append a character to each file name indicating the file type.
    Also, for regular files that are executable, append ‘*’.

ls您的系统可能有一个扩展为 的别名ls -F

lsMac OS X 也有此选项,但你必须明确使用它,即运行ls -F

-F  Display a slash (`/') immediately after each pathname that is a
    directory, an asterisk (`*') after each that is executable, an
    at sign (`@') after each symbolic link, an equals sign (`=') after
    each socket, a percent sign (`%') after each whiteout, and a
    vertical bar (`|') after each that is a FIFO.

答案2

GNU提供了在文件名后加上某些字符以表明文件类型的ls选项:-F

   -F, --classify
          append indicator (one of */=>@|) to entries

其中*表示可执行文件,/表示目录,=表示套接字等。您在 CentOS 机器上使用的列表命令可能别名为/bin/ls -lF。如果您/bin/ls -l /usr/bin在 CentOS 机器上输入 ,则*将会消失。

尝试ls -lF在 OSX 服务器上输入,看看是否可行。请注意,lsOSX 附带的是不是GNU ls;它是 OpenBSD ls,可能不支持-F(我不确定)。man ls在 OSX 上输入以查看它支持哪些选项。(您也可以fileutils使用 在 OSX 上安装 GNU macports。)

相关内容