Touch

為什麼使用touch,創建一個沒有文件類型的空文件,會創建各種文件?

  • October 21, 2021

在 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 被稱為“標籤”,並且似乎是與欄位相關的元數據元素。它的主要目的似乎是對搜尋結果進行分類。kMDItemKindSpotlight

但也許與您的問題最相關的答案是沒有“為什麼”:文件kind標籤不是由創建的touch,而是由 Apple 選擇不披露的其他一些過程創建的。您的結果(可重複)是初步證據 - 至少在文件創建的情況下touch-kind標籤是 Apple 程序的任意工件,與創建的文件無關。

引用自:https://unix.stackexchange.com/questions/674150