Mac에서 .DS_Store 생성을 중지하는 방법? [닫은]


163

Mac에서 사이트를 개발 중이며 일부 폴더 (또는 해당 폴더에 파일)를 만들 때마다 해당 폴더에 .DS_Store가 생성됩니다.

.DS_Store 파일 생성을 방지하는 방법은 무엇입니까?


싫어요 :) 무엇을 사용해야합니까?
iWizard

1
@CroiOS 터미널 + VIM
Greg Greg

실제 대안은 아닙니다. 이론적으로는 터미널 만 사용하거나 편집기 (또는 파일 탐색기로 Path Finder라고 생각하는 다른 도구)를 사용할 수 있지만 실제로는 이러한 파일이 붙어 있습니다
mmmmmm

7
버전 관리 시스템의 파일을 무시하십시오
millimoose

4
이 질문은 Apple 하드웨어 및 소프트웨어에 관한 것이므로 주제에 맞지 않는 것 같습니다.
Dan J

답변:


36

mach_inject 를 사용하여 가능합니다 . .DS_Store의 죽음을 살펴보십시오

아무것도 수행하지 않는 함수로 HFSPlusPropertyStore :: FlushChanges () 를 재정의 하면 Snow Leopard와 Lion에서 .DS_Store 파일을 만들지 못했습니다.

DeathToDSStore 소스 코드

참고 : 10.11에서는 시스템 앱에 코드를 삽입 할 수 없습니다.


쉘에 복사하여 붙여 넣을 수있는 bash를 제공 할 수 있습니까? 이 솔루션은 문헌에 약간의 참여가 필요합니다.
samthebest


2019 솔루션이 있습니까? DeathToDSStore가 더 이상 최신 MacOS에서 작동하지 않는 것 같습니다.
JKL

@ JKL 나는 작동하는 솔루션을 모른다.
Parag Bafna

44

http://asepsis.binaryage.com/을 설치 한 다음 Mac을 재부팅하십시오.

ASEPSIS는 Mac의 모든 .DS_Store를 /usr/local/.dscage로 리디렉션합니다.

그 후에는 Mac에서 모든 .DS_Store를 재귀 적으로 삭제할 수 있습니다.

find ~ -name ".DS_Store" -delete
or
find <your path> -name ".DS_Store" -delete

각 Mac 메이저 업데이트 후에 절차를 반복해야합니다.


1
Mac OSX 10.10의 경우 Xcode 명령 행 도구를 업그레이드 한 후 루트와 같은 터미널에서 또는 sudo 명령을 사용하여 xcrun --find codesign 명령을 수동으로 실행해야합니다. 라이센스 조건 및 계약을 수동으로 수락하면 무균 설치를 계속할 수 있습니다
myset

각 시스템 업그레이드 후 최신 버전을 복원해야합니다.
myset

1
"Asepsis는 시스템 전체의 폴더 이름 바꾸기 (또는 삭제)를 모니터링하고 접두사 폴더에서 해당 작업을 미러링하는 시스템 전체 데몬 asepsisd를 구현합니다. 이것은 Asepsis '페이지에 작성되었습니다. .DS_store 파일을 재귀 적으로 삭제해야합니까?
vanguard69 5

"asepsis를 설치하십시오"bash 명령을 보여 주시면 셸에 복사하여 붙여 넣을 수 있습니까?
samthebest

3
Elepsitan에서 Asepsis를 사용하는 방법은 여전히 ​​있습니다. 여기에 단계를 문서화했습니다. pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling

41

참고 : "Asepsis는 더 이상 개발 중이 아니며 OS X 10.11 (El Capitan) 이상에서 지원됩니다."


다음 은 옵션에 대한 포괄적 인 검토 입니다. Asepsis (두 번째 언급 한 솔루션)는 찾고있는 것처럼 보이며 모든 폴더에있는 대신 .DS_Store 생성을 통합 캐시로 다시 라우팅합니다.


6
링크가 제대로 작동하지 않는 경우 해당 사이트에 나열된 두 가지 옵션은 Asepsis (생성 된 파일 리디렉션) 및 DeathToDSStore (파일 생성 방지, 일부 Finder 기능 비활성화)이며이 두 가지 모두이 페이지의 답변에 설명되어 있습니다. 다른 옵션은 네트워크 드라이브와 외부 드라이브를 다루며 둘 다 문제의 일부만 해결합니다.
현인

1
@emmanuel : 여기 에는 필수 부분 포함되어 있습니다 : 프로그램 이름과 문제 해결을 위해 제공하는 특정 기능.
Nathan Tuggy

23

터미널을 엽니 다. 다음 명령을 실행하십시오 :

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

컴퓨터를 다시 시작하거나 로그 아웃 한 후 사용자 계정으로 다시 로그인하십시오.

더 많은 정보를 원하시면 :

http://support.apple.com/kb/ht1629


44
네트워크 파일 시스템에만 적용
David P. Caldwell

2

다음 줄을 ".profile"파일에 넣으십시오.

.profile 파일을 열고이 줄을 복사하십시오

find ~/ -name '.DS_Store' -delete

터미널 창을 열면 .DS_Store 파일이 자동으로 삭제됩니다.


9
난 그냥이 별칭을 만들 수 있도록 일들이 아래로 로그인 할 때이 둔화 실행 :alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder

6
와. 그런 좋은 생각입니다. 아니. [/ irony off] 많은 폴더와 많은 .DS_Store 파일이 있고 쉘이 시작될 때마다 .DS_Store와 일치하는 모든 파일을 거치는 것을 상상해보십시오. 나는이 질문이 오래되었다는 것을 알고 있지만 이것이 좋은 생각이 아니라고 쓰여 져야한다고 생각했습니다.
thonixx

3
그렇다면 [/ irony off] 당신의 아이러니를 끄거나 아이러니를 끝내는 것이 켜져 있습니까?
Connor

이것은 Mac이 디스크에서 수백 개의 K 파일을 검색하는 동안 (생산적인) 시간을 없애는 좋은 방법입니다.
javadba

-7

시스템을 선택하면이 파일이 나타나기 시작합니다. $ defaults write com.apple.finder AppleShowAllFiles TRUE이 명령을 실행하면 disapear $ defaults write com.apple.finder AppleShowAllFiles FALSE 터미널 사용


2
질문은 파일을 숨기는 방법이 아니라 파일 생성을 중지하는 방법을 묻습니다.
Steve Buzonas

-7

함수

find ~/ -name '.DS_Store' -delete

.DS 저장소 파일을 일시적으로 제거했습니다. 그러나 파일이 Mac으로 돌아올 지 여부는 확실하지 않습니다. 또한 'ATOM'을 설치 한 후 "DS_Store"가 Mac에 등장하기 시작했습니다. 따라서 설치하기 전에 타사 소프트웨어를 올바르게 스캔하십시오. 베스트


5
된 .DS_Store 파일은 OSX 파인더에 의해 만들어집니다
프랜 Marzoa을

1
질문은 파일 작성을 중지하는 방법을 묻습니다. 이 답변은 삭제하는 방법입니다. 또한 ATOM파일을 작성하지 않습니다. Finder등 폴더, 배경 이미지,보기를 선택 스토어 아이콘 위치에 폴더를 방문 할 때 응용 프로그램을 만들고 DS_Store, DS는 데스크톱 서비스입니다.
Steve Buzonas

-12

당신이 원하는 경우 .DS_Store(그들은 여전히 존재하지만 볼 수없는) 파일을 보이지 않게하기 위해 다음 "터미널"창에서 다음 명령을 실행합니다 :

defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder

이렇게하면 시스템 기본 설정이 데스크탑 및 다른 곳에서 이러한 파일 표시를 중지하도록 설정됩니다. 또한이 변경 사항을 특히 데스크탑에서 볼 수 있도록 Finder를 다시 시작합니다.


5
그것은 묻는 질문에 대답하지 않습니다.
아무도

숨겨진 파일 표시를 숨겨도 .DS_Store 파일 생성이 제거되지는 않습니다. 이는 질문입니다. 이것은 끔찍한 대답입니다.
MattBoothDev

질문은 파일 작성을 중지하는 방법을 묻습니다. 이 솔루션은 Finder에서만 파일 및 기타 파일을 숨 깁니다.
Steve Buzonas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.