Mac OS X, dosya ilişkilendirme bilgilerini nerede saklar?


24

Mac OS X Leopard'daki dosya ilişkilerini el ile değiştirmek için bir sistem tercihleri ​​bölmesi olduğunu biliyorum. Ancak, Leopard'ın bu bilgileri gerçekte nerede sakladığını merak ediyorum.

Onları değiştirmenin yöntemleriyle ilgilenmiyorum. Bu eşlemelerin depolandığı yapılandırma dosyasını veya veritabanını (Windows'taki kayıt defteri gibi) bilmek istiyorum.


bazıları lütfen bunu "mac" ve "osx" ile yeniden etiketleyin (bu etiketler daha yaygın olarak kullanılır)
Thilo

Bu konuda meta üzerinde bir tartışma yapıldı, ancak hangi etiketin kazandığını belirleyemedim.
Mehrdad Afshari,

Galiba, kazanana karar vermenin en iyi yolu rakamlara bakmak. Popülerlik sosyal ağ sitelerinde taksonomiyi yener.
Thilo

Ayrıca bakınız: superuser.com/questions/17761/… (biraz farklı, ancak yardımcı olabilir).
Jonathan Leffler

Yanıtlar:


12

Üzgünüz, bu soru eski, ancak cevap gerçekten yanlış.

Toolbear'in dediği gibi, Doug Harris'in cevabı sadece kısmen doğrudur.

Fırlatma Hizmetleri Veritabanı nerede dosya, bütün için bir bilgi tüm bilinen uygulamalar ve onlar işleyebilir belge türleri saklanır, şu konumda bulunur:

Aslan:

/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-034501.csstore

Kar Leoparı:

/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-025501.csstore

Leopar:

/Library/Caches/com.apple.LaunchServices-023501.csstore

/private/var/folders/Her kullanıcı için "güvenli" Önbellekler ve Geçici klasörler nerede depolandığını klasördür. ** Yukarıda gösterilen yolda /dl/dlXWtS5WH9SNboPxxrDIyE+++TI/, tahminin önüne geçmek için benzeri bir şey ya da başka bir belirsiz karakter dizisi olacaktır.

Adın com.apple.LaunchServices-025501.csstore, Snow Leopard'a özgü olan son 501eke eklenmiş kullanıcı kimliğinden (benimki ) oluştuğunu unutmayın -025. (OS X'in her sürümünde, Apple, OS X'in farklı sürümleri arasındaki uyumluluk sorunlarını önlemek için kullanılan ayırt edici son eki değiştirme eğilimindedir -023. Leopard'ın kullanıldığını fark edeceksiniz ). Aslan -034soneki kullanıyor .


2
El Capitan 10.11.4:$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
16:48

Ancak bunlar geçici klasörlerdir. Bunlar merkezi olarak depolandığı yerde olamazlar.
Melab

1
@Melab: Bir Mac sistemindeki her uygulama , yeteneklerini tanımlayan bir Info.plistdosyaya ( developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… ) sahiptir. Başlatma Hizmetleri, yukarıda belirtilen veritabanını oluşturmak için bu bilgilerin tümünü dinamik olarak toplar. Veritabanı dosyası kaldırıldıysa, Başlatma Hizmetleri (özellikle ss64.com/osx/lsregister.htmllsregister aracı ) yeniden oluşturulabilir.
NSGod

Aslında, sadece yoldan, geçici klasörlerin yanında depolanmış gibi görünüyor ( .."bir seviyeye çık" anlamına gelir).
SilverWolf - Monica

18

OS X "varsayılan" bir sistem kullanıyor - işte pek çok örnek içeren güzel bir makale . Dosyalar ~ / Library / Preferences altında depolanır, ancak plistleri doğrudan düzenlemek yerine "defaults" komutuyla değiştirmek en iyisidir.

Dosya ilişkilendirmeleri com.apple.LaunchServices etki alanı altında saklanır. Yukarıdaki linkten listeyi bu komutla görebilirsiniz:

defaults read com.apple.LaunchServices | grep -v LSBundleLocator

Özellikle Başlatma Hizmetleri hakkında daha fazla bilgiyi Apple'ın Başlatma Hizmetleri Programlama Kılavuzu'nda bulabilirsiniz.


15

@ Harris Harris'in cevabı sadece kısmen doğrudur. Varsayılan sistem yerel ilavelerinizi saklar veya dosya ilişkilerine geçersiz kılar. Bununla birlikte, OS X bazı varsayılan sistem çapında ilişkilerle birlikte gelir.

Çalıştırırsanız, lsregister -dumpBaşlatma Hizmetleri'nin ne aradığını CoreTypesve bulduğu uygulamaların sağladığı dernekleri görürsünüz .

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump

Çıktıyı ayrıntılı bir şekilde taramadım. Bu çöplükte belirtilen başka kaynaklar da olabilir, ancak bu türden çok sayıda gelir /System/Library/CoreServices/CoreTypes.bundle. Türlerin numaralandırıldığı yerde düz metin veya düz dosya olabilir. İnanıyorum dernekler bilinen uygulama konumlarında * .app içeriğini taramaktan geliyor. Launch Services’in anlayacağı yer burası: TextWrangler sayısız dosya türünün editörüdür:

--------------------------------------------------------------------------------
bundle  id:            10928
    path:          /Applications/TextWrangler.app
    name:          TextWrangler
    identifier:    com.barebones.textwrangler (0x8000008d)
    ...
    library items:
    --------------------------------------------------------
    claim   id:            20216
        name:          TextWrangler text document
        rank:          Default
        roles:         Editor  
        flags:         relative-icon-path  
        icon:          Contents/Resources/TextWranglerTextDoc.icns
        bindings:      .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'TEXT'
    ...

1
-bash: lsregister: command not foundMavericks'te FYI
Slipp D. Thompson

2
@ SlippD.Topson bir sonraki satıra dikkatlice bakın, yol burada belirtilir.
Dmitry Ginzburg

2

Basit! Sadece en bariz yerde değil:

  • İlişkilendirmesini değiştirmek istediğiniz dosyaya sağ tıklayın ve " Bilgi Al " seçeneğini seçin (veya sadece Command+I tuşunu seçip tıklayın .
  • Aşağı in " Şununla Aç " seçeneğine gidin (genişletmek için yanındaki oku tıklatmanız gerekebilir) ve açılır kutudan başka bir program seçin.
  • Sisteminizde aynı uzantıdaki tüm dosyalar için bu dosya ilişkisini değiştirmek için " Tümünü Değiştir ... " düğmesini tıklayın.

görüntü tanımını buraya girin

Ayrıca tüm dosya ilişkilerini tek bir yerde değiştirmek için dışarı çıkıp RCDefaultApp prefpane'i yükleyebilirsiniz .


3
Soruyu okudun mu? OS X'in bilgiyi nerede sakladığı, derneklerin nasıl değiştirileceği ile ilgili değildi.
Jonik

1
Evet, ama nasıl değiştirileceğini bilmek de yardımcı olur. Benim için yardımcı olduğu gibi ... joshhunt: belki Bilgi Edinme öğelerinin Bulucu'da seçilen dosyayla birlikte olduğunu açıkça belirttiyseniz. (Sadece bir uygulamanın diğerinin dosyalarını kapma işlemini geri alması gerekiyordu - bu yardımcı oldu.)
Jonathan Leffler

@LauriRanta kesinlikle haklısın, aslında bunu gönderdikten sonra silmek istedim ama bulamadım!
ocodo

-3

~/Library/Preferences/com.apple.LaunchServices.plist

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.