当前位置: 首页>>技术教程>>正文


‘*'(star,asterisk)在文件列表结果中有什么意义?

, ,

问题描述

我注意到我的一些文件最后有一个星号。

最后的星号是否有任何特殊意义?我认为它们大部分是可执行的,并且通过ls命令以绿色显示。

您将看到./bkmp*./bkmp0*的末尾有一个星号。它们是可执行的bash脚本。

这是我的输出:

drwxr-xr-x 7 username username  4096 Oct  2 18:28 ./
drwxr-xr-x 8 root     root      4096 Oct  2 09:25 ../
-rw-r--r-- 1 username username  3724 Sep 22 03:06 .bashrc
-rwxr--r-- 1 username username   319 Sep 22 03:42 .bkmp*
-rwxr--r-- 1 username username   324 Sep 29 23:30 .bkmp0*
drwx------ 2 username username  4096 Sep 17 13:52 .cache/
-rw-r--r-- 1 username username   675 Sep 17 13:37 .profile
drwx------ 2 username username  4096 Sep 22 10:10 .ssh/
drwx------ 2 username username  4096 Sep 24 19:49 .ssh.local/
drwxr-xr-x 2 username username  4096 Sep 22 04:10 archives/
drwxr-xr-x 3 username username  4096 Sep 24 19:51 home/
-rw-r--r-- 1 username username 27511 Sep 24 19:51 username_backup.20120924_1908.tar.gz

最佳解决思路

如果您只是使用没有参数的ls,则表明您正在使用ls的别名。要获得相同的输出,我需要使用ls -lF。从ls手册页:

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

-l     use a long listing format

符号表示以下内容:

/: directories
@: symbolic links
|: FIFOs
=: sockets
*: executable files

要测试您是否使用别名,请使用alias ls。我的(默认是Ubuntu)说:

$ alias ls
alias ls='ls --color=auto'

有关使用别名的更多信息,请参阅here

次佳解决思路

这些文件确实是可执行的。这是因为你有(或你的.bashrc文件)指定了-F选项。不幸的是,联机帮助页不是很清楚:

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

但据我所知,*用于可执行文件,/用于目录,=用于套接字,>用于门,@用于符号链接,|用于FIFO,|用于常规文件。

此外,绿色是因为您(或您的.bashrc文件)指定了--color选项。

第三种解决思路

看起来你的ls配置为表示可执行文件。

http://forums.whirlpool.net.au/archive/961288

也许你的ls是别的东西。校验

alias ls

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6679.html,未经允许,请勿转载。