본문 바로가기
Macintosh

.DS_STORE에 관해서

by belitino 2010. 8. 27.
.DS_STORE란?
출처: http://en.wikipedia.org/wiki/.DS_Store
.DS_Store (Desktop Services Store) is a hidden file created by Apple Inc.'s Mac OS X operating system to store custom attributes of a folder such as the position of icons or the choice of a background image.

결국 folder의 아이콘 위치나 백그라운드 이미지 정보 같은걸 저장해놓은 것인데 폴더를 한번 열기만 하면 생겨서 무척 성가시다. 없앨 방법은 없을까?

원격 파일 서버에 .DS_STORE 생성 방지 방법
출처: http://www.appleforum.com/application/35782-ds_store%ED%8C%8C%EC%9D%BC%EC%97%90-%EA%B4%80%ED%95%9C-%EC%A7%88%EB%AC%B8.html
        http://appletree.or.kr/forum/viewtopic.php?id=21

터미널을 열고 다음과 같이 입력합니다.
Code:
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
그리고 재시동하면, Finder에서 원격 파일 서버로 접근할 때 .DS_Store 파일들이 생성되는 것을 막을 수 있답니다.

하지만, 로컬 볼륨에서의 .DS_Store 파일들의 생성을 막지는 못하고, 이전에 이미 생성되었던 .DS_Store 파일들이 원격 파일 서버로 복사되는 것도 막지를 못한답니다.

이게 해도 원격 파일 서버의 생성은 막아주지만 내 하드에 생성하는 것은 막을 수가 없다는 얘긴데...
그럼 생성된 .DS_STORE를 제거하는 방법은 없을까?

터미널에서 입력하는 방법
출처: http://www.wikihow.com/Remove-.Ds_Store-Files-on-Mac-Os-X

간단하게 sudo -s 로 루트 권한을 얻은 후 / 디렉토리에서 rm -rf .DS_Store 로 한방에 지울 수 있다고 하는데 확인해보니 안된다.
제대로 동작하는 걸 찾아보니 다음과 같다

출처: http://hints.macworld.com/article.php?story=20021126063326604

I used the following script to accomplish this task. I saved the script as 
rmdsstore.sh (remember to make it executable), launched Terminal, quit the Finder and ran the script as root.
 #!/bin/sh
 # rmdsstore.sh
 # deletes all .DS_Store files on
 for x in `find / -name ".DS_Store" -print`
   do
     rm -f $x
   done
 #eof
After restarting the finder, window positions are remembered! 

[
Editor's note: I haven't tested this script myself, nor have I had the window position memory problem ... but I know others have, so maybe this will help someone out there.]

위의 코드는 잘 동작하는 것으로 확인됨.

위의 코드보다 더 간단한 방법이 없나 찾다가 더 좋은 방법을 발견했다.


터미널을 열고 sudo -s로 root 권한을 얻은 후 / 디렉토리로 이동하여 다음의 명령중 1개를 수행

1. rm -rf `find . -name .DS_Store` (따옴표의 방향에 주의)
2. find . -name .DS_Store -delete

둘 다 정상적으로 동작하는 것을 확인함.