ls 颜色:为什么我的一些字体在 ls 输出中是黑色的,而另一些是绿色的

Pra*_*nab 10 ls colors executable files

我将一些字体文件上传到 AWS(运行 Amazon Linux)并/usr/share/fonts使用cp.ebextensions 中的命令将它们移动到目录。

当我从我的 Mac SSH 进入并使用时ls -a,我看到一些文件的颜色不同 - 一组字体文件是黑色的,而其他文件是绿色的。我很好奇是什么导致了这种情况,以及它是否会给我的代码带来任何问题

运行 AWS Linux 的 Elastic Beanstalk 上的字体目录

ls -la 截图

AskUbuntu 的另一个答案中,我找到了有关如何解释这些颜色的关键。我不明白为什么 .ttf 是可执行的,或者为什么会识别一组 .ttfs 而不是另一组。

蓝色:目录

绿色:可执行或可识别的数据文件

天蓝色:链接文件

黄黑底:设备

粉红色:图形图像文件

红色:存档文件

这些文件在上传之前都是从各种字体站点下载到 mac 上的。

B L*_*yer 14

ls -l会明确地告诉你一个文件是否可执行。我不认为这里有什么大的奥秘。您从各种来源下载了文件,每个来源都可能出于某种原因设置了不同的权限位。*如果您不喜欢看到一些带有颜色而另一些不尝试chmod -x *.ttf...字体文件应该不需要设置可执行位。

*正如 Matteo Italia 的高度赞成的评论(应该保留)所说:很可能它们是从 FAT 或 NTFS 卷复制的,这些卷不存储可执行位,因此默认安装,以便所有文件都设置了可执行位.

  • 它们很可能是从不存储可执行位的 FAT 或 NTFS 卷中复制的,因此[默认情况下挂载,以便所有文件都设置了可执行位](https://unix.stackexchange.com/questions/ 308056/为什么-unix-set-the-executable-flag-for-fat-file-systems)。 (12认同)
  • @Pranab 不,对于字体,应该没有任何区别。 (2认同)

Yar*_*ron 6

ls您正在执行的命令似乎是ls --color

男人

--color[=WHEN] 为输出着色;WHEN 可以是“always”(如果省略则为默认值)、“auto”或“never”;更多信息如下

您可以通过运行 origin 来检查它ls

  • 使用引号:

    "ls" -a

  • 使用完整路径(例如,如果lslocation 在 中/bin/ls)并查看它是否显示颜色:

    /bin/ls -a

注意:运行ls -la将显示文件的详细信息,您将能够看到每个文件的完整详细信息,这将允许您检查预期的输出ls --color