mdl을 사용 하여 임의의 파일에 대한 UTI ( Uniform Type Identifier )와 특정 UTI의 수퍼 세트 인 유형의 계층 구조를 표시 할 수 있습니다.
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"
)
시행 착오 이외의 특정 UTI에 등록한 앱을 표시 할 수있는 도구가 있습니까?
검사에서 foo.command
파일이 Terminal.app에 의해 열릴 것임은 분명하지만 foo.ksh가 현재 TextEdit.app에 속하는지는 확실하지 않습니다.
UTI 단위로 어떤 앱이 선택되었는지 확인하는 데 실제로 의존하지 않고 Mac OS X Launch Services 데이터베이스를 직접 읽을 수 있기를 원합니다 open
. 그것은 가진 것과 같다 --preview --verbose
스위치는 그 일이 아니라 할 것입니다 무엇을 말해 열려 얻을.
선호하는 앱이 아니더라도 UTI를 열 수있는 모든 앱을 나열하는 방법이 더 좋습니다.
이 보조 정보를 얻으려면 각 관심 유형에 대한 파일을 만들거나 찾은 다음 Finder를 사용하여 해당 UTI를 열 수있는 앱을 수동으로 표시해야합니다.
터미널에서 프로그래밍 방식 으로이 데이터에 액세스 할 수 있기를 정말로 원합니다.