Tôi chưa sử dụng Mavericks.
Công cụ tìm có lưu trữ các thẻ trong chính tệp đó không (ví dụ: xmp) hoặc được cung cấp bởi một loại Cơ sở dữ liệu nào đó? hay cái gì?
Tôi chưa sử dụng Mavericks.
Công cụ tìm có lưu trữ các thẻ trong chính tệp đó không (ví dụ: xmp) hoặc được cung cấp bởi một loại Cơ sở dữ liệu nào đó? hay cái gì?
Câu trả lời:
Bây giờ mà các NDA được nâng lên: Mavericks tiết kiệm thẻ như một thuộc tính mở rộng , trong com.apple.metadata:_kMDItemUserTags
. Bạn có thể tự kiểm tra chúng bằng cách sử dụng lệnh mdls như thế này:
mdls -name kMDItemUserTags Xin chào
Đánh giá sử thi của John Siracusa về OS X 10.9 mô tả kiến trúc thẻ một cách chi tiết.
Các thẻ được lưu trữ trong một thuộc tính mở rộng có tên com.apple.metadata: _kMDItemUserTags. Giá trị của nó là một danh sách thuộc tính nhị phân chứa một chuỗi các chuỗi:
$ 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>
Các thẻ cho màu sắc có các giá trị như Red\n6
(trong đó \n
là một nguồn cấp dữ liệu).
Bạn có thể sử dụng xattr để sao chép các thẻ từ tệp này sang tệp khác:
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
Nếu cờ kColor trong com.apple. DownloaderInfo không được đặt, Finder sẽ không hiển thị các vòng tròn cho màu bên cạnh các tệp. Nếu cờ kColor được đặt thành màu cam và tệp có thẻ màu đỏ, Finder sẽ hiển thị cả vòng tròn màu đỏ và màu cam. Bạn có thể đặt cờ kColor bằng AppleScript:
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")'
là cú pháp plist kiểu cũ cho việc này:
<?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-29
in giá trị của các bit được sử dụng cho cờ kColor. Màu đỏ là C, màu cam là E, màu vàng là A, màu xanh lá cây là 4, màu xanh là 8, màu đỏ là 6 và màu xám là 2. Cờ sẽ thêm 1 vào các giá trị không được sử dụng trong OS X.
Theo như tôi có thể đọc trên internet, từ một số nguồn, rất có thể Mavericks sẽ lưu trữ thông tin thẻ như một cái gì đó thực sự gần với chiến lược OpenMeta trong chính tệp. Cho đến bây giờ chúng tôi đã có thẻ và chúng tôi đã có một số ứng dụng trợ giúp trong ví dụ như Leap / Yep này. Nhưng đó chỉ là một thực tiễn tốt nhất được củng cố trên lớp dưới tiêu chuẩn -OpenMeta. Bây giờ Mavericks muốn thực hiện một bước nữa để tạo các thẻ (và cách chúng được mã hóa trong hệ thống tập tin) chính thức. Các thẻ cộng sẽ có một bộ màu cố định (7?) Và điều này có thể giúp chia tách các thẻ theo bộ để mang thêm ngữ nghĩa. Nhiều người trong chúng ta nghĩ rằng đây có thể là một bước tiến lớn trong tầm nhìn hệ thống tập tin của một nhà lãnh đạo ngành công nghiệp lớn để cuối cùng thúc đẩy các lựa chọn trong tương lai (các ứng dụng sẽ phụ thuộc nhiều vào điều này và có thể chính mac os sẽ mong đợi một số chú thích toàn hệ thống đặc biệt). Vì mục đích chi tiết, OpenMeta muốn siêu dữ liệu được mô tả là xattr (thuộc tính mở rộng) của các tệp để nó là thứ mà chính hệ thống tệp sẽ không quan tâm vì nằm ngoài phạm vi của nó.
Câu hỏi thực sự khá cũ và Mavericks sẽ sớm biến GM thực sự .. Vì vậy, mặc dù thực tế chỉ có thông tin liên quan đến tên miền Beta, đó là sự thật một cách hợp lý tất cả những gì tôi đã nói ở trên. Có một số cuộc thảo luận trên internet về chủ đề này và một điều đặc biệt là ở đây:
https://groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ
Phần thú vị nhất là:
Các thẻ Apple được triển khai theo cách tương tự như các thẻ OpenMeta - như các thuộc tính mở rộng được gắn vào các tệp trong hệ thống tệp. Sự khác biệt duy nhất là tên thuộc tính là _kMDItemUserTags thay vì kMDItemOMUserTags ("OM" trong thẻ sau là "OpenMeta"). Dữ liệu thẻ cho cả thẻ Mavericks và thẻ OpenMeta là danh sách thuộc tính, nhưng tôi không nhìn vào định dạng bên trong của bảng để tôi không biết liệu chúng có giống nhau hay không. Tôi cũng không biết, nếu có, phương thức lưu trữ phụ trợ hoặc phương pháp thay thế được sử dụng cho các định dạng đĩa không phải HFS + - Tôi biết rằng sự cường điệu của Apple cho biết bạn cũng có thể gắn thẻ các tệp trên iCloud, vì vậy có thể có một số vấn đề ở đó.
Tuy nhiên, cái dài và ngắn của nó là ít nhất là trên các đĩa Mac cục bộ, dữ liệu thẻ OpenMeta sẽ cần được di chuyển sang thuộc tính _kMDItemUserTags mới để Maverick nhìn thấy. Không phải là một vấn đề lớn, nhưng ai đó cần phải viết một tiện ích để làm điều đó.