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


24

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

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


어떤 사람들은 이것을 "mac"와 "osx"로 다시 태그를 달아주십시오 (이들 태그가 더 널리 사용됨)
Thilo

이것에 대한 메타에 대한 토론이 있었지만 어떤 태그가 승리했는지 결론을 내릴 수 없었습니다.
Mehrdad Afshari

승자를 결정하는 가장 좋은 방법은 숫자를 보는 것입니다. 인기는 소셜 네트워크 사이트에서 분류를 능가합니다.
Thilo

superuser.com/questions/17761/… 도 참조하십시오 (약간 다르지만 도움이 될 수도 있습니다).
Jonathan Leffler

답변:


12

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

툴 베어가 언급했듯이 Doug Harris의 답변은 부분적으로 만 정확합니다.

시작 서비스 데이터베이스 어디 파일 모두 에 대한 정보의 모든 알려진 응용 프로그램과 그들이 처리 할 수있는 문서의 종류가 저장은 다음 위치에 있습니다 :

사자:

/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 (mine is )로 구성됩니다 -025. (OS X의 각 버전에서 Apple은 다른 버전의 OS X 간의 호환성 문제를 방지하기 위해 사용되는 구별 접미사를 변경하는 경향이 있습니다 -023. Leopard는을 사용했습니다 . 라이온이 -034접미사를 사용하고 있습니다.


2
엘 캐피 탄 10.11.4 :$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
rob mayoff

그러나 이들은 임시 폴더입니다. 그것들은 중앙에 저장된 곳에있을 수 없습니다.
Melab

1
@Melab : Mac 시스템의 각 응용 프로그램에는 해당 기능을 설명 하는 Info.plist파일 ( developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… )이 있습니다. Launch Services는 모든 정보를 동적으로 수집하여 위에서 언급 한 데이터베이스를 만듭니다. 데이터베이스 파일이 제거 된 경우 서비스 시작 (특히 lsregister도구 -ss64.com/osx/lsregister.html )이 다시 작성할 수 있습니다.
NSGod

실제로는 경로에서 바로 임시 폴더 와 함께 저장된 것처럼 보입니다 ( .."레벨 상승"을 의미 함).
SilverWolf-복원 Monica Monica

18

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

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

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

Launch Services에 대한 자세한 내용은 Apple의 Launch Services Programming Guide를 참조하십시오.


15

@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'
    ...

1
-bash: lsregister: command not found매버릭스의 FYI
Slipp D. Thompson

2
@ SlippD.Thompson 다음 줄을주의 깊게 살펴보십시오. 경로가 지정되어 있습니다.
Dmitry Ginzburg

2

쉬워요! 그것은 가장 분명한 장소에 있지 않다는 것입니다.

  • 연결을 변경하려는 파일을 마우스 오른쪽 버튼으로 클릭하고 " 정보 입수 "를 선택하십시오 (또는 Command+를I 선택하고 누르십시오) .
  • "아래로 이동 엽니 다와 "하고 드롭 다운 상자에서 다른 프로그램을 선택 (당신이 그것을 확장 옆에있는 화살표를 클릭해야 할 수도 있습니다).
  • " 모두 변경 ... "단추를 클릭하여 시스템에서 동일한 확장자를 가진 모든 파일에 대한이 파일 연결을 변경하십시오.

여기에 이미지 설명을 입력하십시오

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


3
질문을 읽었습니까? 연결을 변경하는 방법이 아니라 OS X가 정보를 저장하는 위치입니다.
Jonik

1
예, 그러나 변경 방법을 아는 것도 도움이됩니다. 그것이 도움이 된 것처럼 ... @joshhunt : 어쩌면 정보를 얻는 것이 Finder에 파일이 선택되어 있음을 명시 적으로 만들었을 수도 있습니다. (다른 응용 프로그램의 파일을 가져 와서 한 응용 프로그램을 실행 취소해야했습니다.이 작업이 도움이되었습니다.)
Jonathan Leffler

@LauriRanta 당신은 절대적으로 옳습니다. 사실 게시 한 후에 삭제하고 싶었지만 찾을 수 없었습니다!
ocodo

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.