maczoo.com 게시판 인덱스 maczoo.com
매킨토시 사용자 커뮤니티
 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   쪽지를 확인하려면 로그인하십시오쪽지를 확인하려면 로그인하십시오   로그인로그인 

[OSX] 파일을 쉽고 빠르게 찾기 : locate

 
글 쓰기   답변 달기    maczoo.com 게시판 인덱스 -> Tips & 사용기
이전 글 :: 다음 글  
글쓴이 메시지
atasa
heavy mania
heavy mania


가입: 2002년 9월 9일
올린 글: 79

올리기Posted: 일 1월 30, 2005 2:25 pm    주제: [OSX] 파일을 쉽고 빠르게 찾기 : locate

파인더에서 파일을 찾기하면 매번 디스크를 검사하기 때문에 시간이 많이 걸리는 경우가 있습니다.

이를 효율적으로 하기 위하여 유닉스에서는 locate 라는 명령어가 있는데 OSX 에도 들어있군요.

다만 유닉스 버전에 비하여 대소문자 검색 옵션을 지정할 수 없고 DB 파일을 지정하는 기능도 빠저 있지만 파이프를 통하여 grep 를 하면 됩니다.

locate 를 이용하면 아무리 많은 파일을 가지고 있다 하더라도 즉시 순간적으로 찾을 수 있습니다. ^^

$ find /
라고 처보면

/Applications/Chess.app
/Applications/Chess.app/Contents
/Applications/Chess.app/Contents/Info.plist
.............

이런 식으로 모든 디스크의 내용을 서브디렉토리까지 패쓰를 포함하여 출력하는데 이것을 텍스트 파일로 저장해 놓고 다음부터는 이것을 grep 해서 찾는 원리 입니다.

이것을 조금 더 편리하게 만든것이 locate 입니다.

$ man locate

라고 처보면

FILES
/var/db/locate.database Database
/usr/libexec/locate.updatedb Script to update database.

라고 나오는데

/var/db/locate.database 이 목록 파일인데 텍스트 파일을 간단히 압축을 해서 1/10 정도로 크기를 줄였습니다.

/usr/libexec/locate.updatedb 은 locate.database 파일을 업데이트 하기 위한 스크립트 입니다.
이걸 실행하면 현재의 목록이 새로 만들어 집니다.

$ sudo -s

로 root 권한을 갖은다음.

[/ root]# /usr/libexec/locate.updatedb

라고 치면 목록이 만들어 집니다. 제 하드의 경우 120만개 파일이 들어 있는데 10분쯤 걸리는 군요.

이제부터는 파일을 찾을때 locate "찾을 파일명" 하고 엔터를 치면 됩니다.

[/ root]# locate BBe
/Volumes/4_appl/_OS9/UT/UT/Editors/BBEdit 6.5.3/BBEdit Support/Scripts/BBedit_Header
/Volumes/4_appl/_OS9/UT/UT/Editors/BBedit_dev
/Volumes/4_appl/_OS9/UT/UT/Editors/BBedit_dev/BBEdit Preferences.05.01.26
/Volumes/4_appl/_OS9/UT/UT/Editors/BBedit_dev/BBedit Script

조금 응용해보면, 대소문자를 구분하지 않고 찾으려면,

[/ root]# locate / | grep -i bbedit

라고 입력하면 됩니다.

[/ root]# locate / | grep -i bbedit | grep -i contents

또는

[/ root]# locate bbedit | grep -i contents

라고 하면 bbedit 가 들어 있으면서 동시에 contents 도 들어있는 줄만 출력합니다.

자주쓰는 명령어는 당연히 alias 로 간략하게 만들어 놓을 수 있습니다.

alias lg='locate / | grep'

위 내용을 /etc/bashrc 파일에 추가해 놓으면 다음부터는

lg -i bbedit

와 같이 치면 되고요, 혹, bbedit 가 들어 있으면서 6.5 라는 문구가 들어 있지 않은 줄만 보고 싶으면,

lg -i bbedit | grep -v 6.5

를 입력하면 7.0 이나 8.0 등은 나오지만 6.5 는 제외됩니다.

또 이렇게 검색한 내용을 BBEdit 로 직접 보낼 수도 있는데,

lg -i contents | grep -v 6.5 | bbedit

라고 치면 검색한 내용을 포함하는 에디터 창이 열립니다. 그러면 수정하든지 홈피에 올리든지 메일로 보내든지 할 수가 있습니다.

그래픽 환경의 유틸리티가 아무리 뛰어나더라도 이와같은 명령어 라인의 조합을 따라올 수는 없지요. 비교가 안되죠.

locate 는 많은 파일을 관리하는경우 매우 요긴하게 쓰입니다. 그럼 좋은 주말 보내십시요.


atasa 가 화 2월 08, 2005 3:26 pm에 수정함, 총 1 번 수정됨
위로
누구게
Dr. Mac
Dr. Mac


가입: 2003년 7월 18일
올린 글: 581
위치: 남의 집

올리기Posted: 화 2월 01, 2005 11:13 am    주제:

정말 편리하군요... 근데 전 못 외우겠슴다... ㅎ ㅎ...

전 그래픽 쉘이 필요해요. 파인더는 그지 같고, 거의 20 년 전에 도스에서 쓰던 피씨툴즈 같은 거 있음 가르쳐 주세요. 윈도우즈 탐색기도 버벅거리기는 마찬가진데, 286에서 돌아가는 피씨툴즈는 버벅거리는 걸 못 봤걸랑요... ㅎ ㅎ...

오에스 텐 파인더가 확실하게 제대로 될 가능성이 없으면 누군가가 파일 버디 같은 걸 왕창 키운 그런 제대로 된 그래픽 쉘을 만들어야 할 것 같습니다. 저같은 사람은 평소에 쓰고 있는 소프트웨어 단축키 외우기도 벅찹니다. 유닉스 명령어는 암만해도 어렵겠습니다.^^

여전히 도스 명령어는 몇 개 기억나네요. dir/w ^^

-----------------------------------------------------------------------
누구게 ( noogooge고오올배앵이digidigiGuerrilla쩌엄커엄 )
digi는 한 번만...^^
쪽지는 사절합니다. 개인적인 일로 연락하려면 편지로 해 주세요~
-----------------------------------------------------------------------
위로
베짱이
master
master


가입: 2003년 2월 6일
올린 글: 307
위치: 경기도 평택시

올리기Posted: 화 2월 01, 2005 1:12 pm    주제:

인용:
여전히 도스 명령어는 몇 개 기억나네요. dir/w ^^


저도 옛날 생각 나는 군요.

컴퓨터 부팅시키고,

dir/w 대여섯번 치고,

컴퓨터 종료.

한참 동안 이런 생활을 했던 때가......
위로
LSB
heavy mania
heavy mania


가입: 2003년 11월 29일
올린 글: 98

올리기Posted: 화 2월 01, 2005 5:05 pm    주제: 으음.

그래픽 쉘이 노턴 커맨더 같은 것이라면..

유니스에는 Midnight Commander 가 있습니다 Very Happy


이곳으로 가보세요~
http://www.ibiblio.org/mc/
_________________
잘먹고 잘살자.
위로
이전 글 표시:   
이전 글 :: 다음 글  
글 쓰기   답변 달기    maczoo.com 게시판 인덱스 -> Tips & 사용기 시간대: GMT + 9 시간(한국)
페이지 1 중 1

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.4 © 2001, 2003 phpBB Group