Mavericks의 Finder는 어떻게 태그를 저장합니까?


13

아직 Mavericks를 사용하지 않았습니다.
파인더는 파일 자체에 태그를 저장합니까 (예 : xmp) 또는 어떤 종류의 데이터베이스에 의해 구동됩니까? 또는 무엇을?


OS X Maverick에 대해 질문하기 전에 시도해 볼 수 있습니다.
Ramhound

파일 시스템 내에서 태그를 지정하는 Mavericks 방식은 Finder로 제한되지 않았습니다.
Graham Perrin

답변:


12

매버릭스는 태그를 확장 속성으로 저장합니다

이제 NDA가 해제된다 : 매버릭스는 같은 태그 저장 확장 된 속성com.apple.metadata:_kMDItemUserTags. 다음 과 같이 mdls 명령 을 사용하여 직접 확인할 수 있습니다 .

mdls-이름 kMDItemUserTags Hello

OS X 10.9에 대한 John Siracusa의 서사시 리뷰 는 태그 아키텍처 를 자세하게 설명합니다.


3
확장 된 속성은 어떻게 저장됩니까?
occulus

1

태그는 com.apple.metadata : _kMDItemUserTags라는 확장 된 속성에 저장됩니다. 그 값은 단일 문자열 배열을 포함하는 이진 속성 목록입니다.

$ xattr -p com.apple.metadata:_kMDItemUserTags file3|xxd -r -p|plutil -convert xml1 - -o -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Red
6</string>
    <string>aa</string>
    <string>Orange
7</string>
    <string>Yellow
5</string>
    <string>Green
2</string>
    <string>Blue
4</string>
    <string>Purple
3</string>
    <string>Gray
1</string>
</array>
</plist>

색상의 태그는 Red\n6( \n줄 바꿈이있는 위치 ) 와 같은 값을 갖습니다 .

xattr을 사용하여 한 파일에서 다른 파일로 태그를 복사 할 수 있습니다.

xattr -wx com.apple.metadata:_kMDItemUserTags "$(xattr -px com.apple.metadata:_kMDItemUserTags file1)" file2
xattr -wx com.apple.FinderInfo "$(xattr -px com.apple.FinderInfo file1)" file2

com.apple.FinderInfo의 kColor 플래그가 설정되어 있지 않으면 Finder는 파일 옆에 색상의 원을 표시하지 않습니다. kColor 플래그가 주황색으로 설정되어 있고 파일에 빨간색 태그가 있으면 Finder는 빨간색과 주황색 원을 모두 표시합니다. AppleScript로 kColor 플래그를 설정할 수 있습니다.

xattr -w com.apple.metadata:_kMDItemUserTags '("Red\n6","new tag")' ~/desktop/file4"
osascript -e 'tell application "Finder" to set label index of file "file4" of desktop to item 1 of {2, 1, 3, 6, 4, 5, 7}'

'("Red\n6","new tag")' 이것에 대한 구식 plist 구문입니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Red
6</string>
    <string>new tag</string>
</array>
</plist>

xattr -p com.apple.FinderInfo file|head -n1|cut -c28-29kColor 플래그에 사용 된 비트 값을 인쇄합니다. 빨간색은 C, 주황색은 E, 노란색은 A, 녹색은 4, 파란색은 8, 자홍색은 6, 회색은 2입니다. 값에 1을 더하는 플래그는 OS X에서 사용되지 않습니다.


1
예를 들어 "Financial"이라는 태그를 작성하면 빨간색으로 표시됩니다. 확장 된 속성 plist는 "Financial"또는 "Red"를 저장합니까? 그리고 이름과 색상 사이의 매핑은 어떻게 이루어 집니까?
Vaddadi Kartick

"값에 1을 더하는 플래그는 OS X에서 사용되지 않습니다." 이것은 무엇을 의미 하는가?
Nicolas Barbulesco

이 답변은 자세합니다. 그러나 색상과 태그의 차이점은 명확하지 않습니다.
Nicolas Barbulesco

이 확장 된 속성은 어디에 저장됩니까?
Nicolas Barbulesco

1

인터넷에서 여러 출처에서 읽을 수있는 한 Mavericks는 태그 정보를 파일 자체의 OpenMeta 전략과 거의 비슷한 것으로 저장할 가능성이 큽니다. 지금까지는 이미 태그가 있었으며 예를 들어 Leap / Yep과 같은 여러 가지 응용 프로그램이 있습니다. 그러나 이는 표준 하위 계층 인 OpenMeta 위에 통합 된 모범 사례였습니다. 이제 매버릭스는 한 단계 더 나아가 태그 (및 파일 시스템에서 인코딩되는 방식)를 공식적으로 만들고자합니다. 플러스 태그는 고정 된 색상 세트 (7?)를 가지며 이는 추가 의미를 전달하기 위해 세트로 태그를 분할하는 데 도움이 될 수 있습니다. 우리 중 많은 사람들이 이것이 미래의 선택을 주도하기 위해 대기업 리더의 파일 시스템 비전에서 큰 진전이 될 것이라고 생각합니다 (응용 프로그램은 이것에 더 크게 의존 할 것이며 아마도 맥 OS 자체가 특별한 시스템 전체 주석을 기대할 것입니다). 세부적인 설명을 위해 OpenMeta는 메타 데이터를 파일의 xattr (확장 속성)로 설명하여 파일 시스템이 범위를 벗어 났기 때문에 파일 시스템 자체가 신경 쓰지 않는 것을 원합니다.

문제는 실제로 아주 오래되었고 매버릭스는 곧 GM을 돌릴 것입니다. 따라서 베타 도메인과 관련된 정보 만 있다는 사실에도 불구하고 위에서 말한 모든 것이 합리적입니다. 인터넷에서이 주제에 관한 몇 가지 토론이 있으며 특히 하나는 다음과 같습니다.

https://groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ

가장 흥미로운 부분은 다음과 같습니다.

Apple 태그는 OpenMeta 태그와 동일한 방식으로 파일 시스템의 파일에 연결된 확장 속성으로 구현됩니다. 유일한 차이점은 속성 이름이 kMDItemOMUserTags 대신 _kMDItemUserTags라는 것입니다 (후자의 태그에서 "OM"은 "OpenMeta"에 대한 것임). Mavericks 태그와 OpenMeta 태그 모두에 대한 태그 데이터는 속성 목록이지만 plists의 내부 형식을 보지 않았으므로 정확히 동일한 지 여부를 알 수 없었습니다. 또한 보조 스토리지 또는 대체 방법이 비 HFS + 디스크 형식에 사용되는지 여부를 알지 못합니다 .Apple의 과대 광고에 따르면 iCloud에서 파일에 태그를 지정할 수도 있으므로 문제가있을 수 있습니다.

그러나 길고 짧은 것은 적어도 로컬 Mac 디스크에서는 OpenMeta 태그 데이터를 Maverick에서 기본적으로 볼 수 있도록 새로운 _kMDItemUserTags 속성으로 마이그레이션해야한다는 것입니다. 큰 문제는 아니지만 누군가 그렇게하려면 유틸리티를 작성해야합니다.


1
이상한은 groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ는 포스트 구글에 의해 주어진 링크,하지만 링크가 때때로 필요한 게시물을 공개 실패 다음과 같습니다.
Graham Perrin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.