Rasgele bir dosya için Tekdüzen Tür Tanımlayıcı (UTI) yanı sıra belirli bir UTI üst kümeleri olan türlerin hiyerarşisini göstermek için mdls kullanabilirsiniz .
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.ksh
kMDItemContentType = "public.ksh-script"
kMDItemContentTypeTree = (
"public.ksh-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.command
kMDItemContentType = "com.apple.terminal.shell-script"
kMDItemContentTypeTree = (
"com.apple.terminal.shell-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
Hangi Uygulamaların deneme yanılma dışında belirli bir UTI için kaydedildiğini gösterebilecek araçlar var mı?
İncelemeden foo.command
dosyanın Terminal.app tarafından açılacağı açıktır, ancak foo.ksh'nin şu anda TextEdit.app'a ait olduğu açık değildir.
Mac OS X Launch Services veritabanını, aslında open
hangi uygulamanın UTI temelinde seçildiğini görmek için başvurmadan doğrudan okuyabilmek istiyorum . --preview --verbose
Bana yapmaktan ziyade ne yapacağını söylemek için anahtarları açmak gibi bir şey olurdu.
Daha da iyisi, tercih edilen uygulama olmasa bile, bu UTI'yi açabilecek tüm uygulamaları listelemenin bir yolu olacaktır.
Bu ikincil bilgiyi almak için, her bir ilgi türü için bir dosya oluşturmam veya bulmam ve Finder'ı kullanarak bu UTI'yi hangi uygulamaların açabileceğini manuel olarak göstermem gerekiyor.
Gerçekten bu verilere terminalden programlı olarak erişebilmek istiyorum.