在 macOS 上,我正在运行一个 shell 脚本,用于touch
创建一个没有扩展名的空文件。使用相同脚本创建的文件随机有不同的种类,即“文档”、“Unix 可执行文件”、“TextEdit.app 文档”,它们之间没有明显的区别。没有扩展属性
/usr/bin/touch /Volumes/SDrive/complete/.hashes/"${1}"___"${9}"
变量包含文本...
示例文件名:“NOVA.S48E14.Particles.Unknown.720p.WEB.h264___221a636b1f174def7a72d90a9c9d4e9af6aab6ee”
我很好奇为什么一个没有扩展名的空文件在使用命令创建时会被解释为类型“文档”以外的任何内容touch
,以及是否有一种方法可以在不使用扩展名的情况下指定?
我无法在任何其他操作系统上对此进行测试。
好问题。不幸的是,似乎没有记录在案的答案。
该文件
kind
被称为“标签”,并且似乎是与字段相关的元数据元素。它的主要目的似乎是对搜索结果进行分类。kMDItemKind
Spotlight
但也许与您的问题最相关的答案是没有“为什么”:文件
kind
标签不是由创建的touch
,而是由 Apple 选择不披露的其他一些过程创建的。您的结果(可重复)是初步证据 - 至少在文件创建的情况下touch
-kind
标签是 Apple 进程的任意工件,与创建的文件无关。