终端 (macOS) 中的红色文件和绿色文件有什么不同

终端 (macOS) 中的红色文件和绿色文件有什么不同

我有 2 个备份文件,但它们有 2 种不同的颜色?那么终端(macOS)中的红色文件和绿色文件有什么不同 在此输入图像描述

答案1

正确的答案取决于您的 shell 采用的着色方案,但我认为可以从一些一般考虑因素来解释您所经历的行为:

  • 输出中使用的颜色ls基于文件类型(通常由其扩展名标识,例如.png.zip等)和文件/目录访问权限。
  • 在许多 Linux 系统上,红色用于
    • 指向不存在文件的符号链接(不太可能是您案例中的解释)
    • 压缩文件,如.zip.gz.bz2
  • 另一方面,绿色通常用于设置了“执行权限”的文件。请注意,在“与权限无关”的文件系统(例如 FAT32(在 USB 记忆棒上很常见))上,默认设置“可执行”位,即存储在此类文件系统上的所有文件都被标记为可执行。

如果这些条件中的多个以“冲突的方式”应用,则结果取决于,但通常“权限”设置优先于“文件类型”设置。

在你的情况下,解释大概如下:

  • 目录中的大多数文件backup都是从“与权限无关”的文件系统复制的,使用 或cp -prsync -a即以保留文件权限的方式复制,并设置了“执行”位。这就是为什么它们在输出中全部显示为绿色的原因ls
  • 红色的文件.tar.gz来自默认情况下未设置“执行”位的文件系统,并且没有该位。然后根据文件类型进行着色,由于是压缩文件,所以将文件着色为红色。

如果您有兴趣了解更多信息,可以看看

答案2

在我的 Mac 上,红色文件名是由可执行文件引起的,您可以使用chmod -x my_file.

相关内容