it-swarm-korea.com

Mac OS X은 파일 연결 정보를 어디에 저장합니까?

Mac OS X Leopard에서 파일 연결을 수동으로 수정할 수있는 시스템 환경 설정 패널이 있다는 것을 알고 있습니다. 그러나 Leopard는 실제로 이러한 정보를 어디에 저장합니까?

나는 그것들을 변경하는 방법에 관심이 없습니다. 해당 매핑이 저장된 구성 파일 또는 데이터베이스 (Windows의 레지스트리와 같은)를 알고 싶습니다.

25
Mehrdad Afshari

죄송합니다.이 질문은 오래되었지만 대답이 정말 잘못되었습니다.

Toolbear가 언급했듯이 Doug Harris의 대답은 부분적으로 만 정확합니다.

Launch Services Database 파일. 여기서 모든 정보 모든 알려진 응용 프로그램과 처리 할 수있는 문서 유형은 다음 위치에 저장됩니다.

사자:

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

눈표범:

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

표범:

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

/private/var/folders/ 폴더는 각 사용자에 대한 "보안"캐시 및 임시 폴더가 저장되는 곳입니다. 위에 표시된 경로의 **는 /dl/dlXWtS5WH9SNboPxxrDIyE+++TI/ 또는 추측을 방지하기위한 다른 모호한 문자 시퀀스입니다.

이름 com.Apple.LaunchServices-025501.csstore은 Snow Leopard에 고유 한 501 접미사에 추가 된 사용자 ID (내는 -025)로 구성됩니다. (각 OS X 버전에서 Apple는 서로 다른 OS X 버전 간의 호환성 문제를 방지하기 위해 사용되는 구분 접미사를 변경하는 경향이 있습니다. Leopard가 -023를 사용했음을 알 수 있습니다.)) . Lion은 -034 접미사를 사용하고 있습니다.

13
NSGod

OS X은 "기본"시스템을 사용합니다. 여기에 많은 예제가있는 좋은 기사 가 있습니다. 파일은 ~/Library/Preferences에 저장되지만 plist를 직접 편집하는 것보다 "defaults"명령으로 조작하는 것이 가장 좋습니다.

파일 연결은 com.Apple.LaunchServices 도메인에 저장됩니다. 위의 링크에서 다음 명령으로 목록을 볼 수 있습니다.

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

특히 Launch Services에 대한 자세한 내용은 Apple의 Launch Services Programming Guide 에서 찾을 수 있습니다.

18
Doug Harris

@Doug Harris의 대답은 부분적으로 만 정확합니다. 기본값 시스템은 파일 연결에 대한 로컬 추가 또는 재정의를 저장합니다. 그러나 OS X에는 몇 가지 기본 시스템 전체 연결이 제공됩니다.

lsregister -dump를 실행하면 Launch Services에서 CoreTypes라고 부르는 것과 찾은 응용 프로그램에서 제공하는 연결을 볼 수 있습니다.

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

출력을 철저히 스캔하지 않았습니다. 해당 덤프에 표시된 다른 소스가있을 수 있지만 이러한 유형의 대부분은 /System/Library/CoreServices/CoreTypes.bundle에서 비롯됩니다. 유형이 열거되는 곳에 일반 텍스트 또는 plist 파일이있을 수 있습니다. 내가 생각하는 연관성은 알려진 응용 프로그램 위치에서 * .app의 내용을 스캔 한 결과입니다. 다음은 Launch Services가 TextWrangler가 수많은 파일 형식에 대한 편집기임을 이해하는 곳입니다.

--------------------------------------------------------------------------------
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'
    ...
15
toolbear74

쉬워요! 가장 명백한 위치에 있지 않다는 것입니다.

  • 연결을 변경하려는 파일을 마우스 오른쪽 버튼으로 클릭하고 " 정보 가져 오기 "를 선택하거나 Command+I.
  • " 연결 프로그램 "(확장하려면 옆에있는 화살표를 클릭해야 할 수 있음)으로 이동하고 드롭 다운 상자에서 다른 프로그램을 선택합니다.
  • " 모두 변경 ... "버튼을 클릭하여 시스템에서 동일한 확장자의 모든 파일에 대해이 파일 연결을 변경합니다.

enter image description here

나가서 RCDefaultApp prefpane을 설치하여 모든 파일 연결을 한 곳에서 수정할 수도 있습니다.

2
Josh Hunt