为什么使用 touch 创建没有文件类型的空文件会创建各种类型的文件?

为什么使用 touch 创建没有文件类型的空文件会创建各种类型的文件?

在 macOS 上,我正在运行一个 shell 脚本,用于touch创建一个没有扩展名的空文件。使用同一脚本创建的文件随机具有不同的种类,即“文档”、“Unix可执行文件”、“TextEdit.app文档”,它们之间没有明显差异。无扩展属性

/usr/bin/touch /Volumes/SDrive/complete/.hashes/"${1}"___"${9}"

变量包含文本...

示例文件名:“NOVA.S48E14.Particles.Unknown.720p.WEB.h264___221a636b1f174def7a72d90a9c9d4e9af6aab6ee”

我很好奇为什么使用命令创建时没有扩展名的空文件会被解释为除 Kind“Document”之外的任何内容touch,以及是否有一种方法可以在不使用扩展名的情况下指定?

我无法在任何其他操作系统上对此进行测试。

答案1

很好的问题。不幸的是,似乎没有记录的答案。

文件kind 据说是一个“标签”,并且似乎是一个元数据相关的元素kMDItemKind场地。其主要目的似乎是对来自 的搜索结果进行分类Spotlight

但也许对你的问题最相关的答案是没有“为什么”:文件kind标签不是由touch,而是由苹果选择不透露的其他进程创建的。您的结果(可重复)是初步证据有证据表明,至少就创建的文件而言touchkind标签是 Apple 进程的任意产物,与创建的文件没有任何关系。

相关内容