카테고리 없음2013. 6. 18. 09:53

 

23장. 파일 위치 검색

 

학습목표

- 리눅스에서 파일을 검색하기 위한 다양한 방법을 알아본다.

 


which <실행파일명>
- PATH에 설정된 디렉토리만 검색
- 절대경로를 포함한 위치 검색

 

 

whereis <실행파일명>
- 실행파일 및 소스, 맨페이지 파일까지 검색

 

 

locate <파일명>
- 매우 빠르고 유용하지만 새로 설치된 파일들이 등록되어 있지 않을 때는 찾을 수 없음
- 파일정보에 대한 데이터베이스 갱신이 매우 중요
- 수시로 updatedb 를 돌려 파일정보 갱신 - crontab 에 등록하여 자동으로 구동시킴

 

 

find [경로] [옵션] [조건] [action]
- 옵션 : -name, -user(소유자), -newer(전,후), -perm(허가권)
- Action : -print(GNU는 디폴트, Unix는 필수입력), -exec
   → 예) # find /etc -name "*conf*"
   →      # find / -user woo
   →      # find ~ -perm 644
   →      # find . -name "*tar*" -exec rm -f {} \;
   →            -> find의결과가 {}안으로 들어감, "\;"는 관례적 필수로 생각하면 됨

 

 

grep [옵션] <패턴> <filename> [files...]
- 파일내에서 지정한 패턴과 일치하는 패턴이 있는 라인 출력
- 옵션 : -n(행번호가 같이 출력), -i(대소문자 구분 안함), -v(패턴이 포함되지 않는 라인 출력)
   → 예) grep linux /etc/*
   → /etc/ 폴더의 linux 라는 단어가 포함된 파일과 라인 출력

 

 

 

[실습]

 

● 파일 위치 검색명령어

 

 

 

 

< 파일 위치 검색명령어 >

 

 

 

which bzip2

bzip2가 어디에 있는지 찾아준다.

 

which gzip

역시 gzip이 어디에 있는지 찾아준다.

 

whereis bzip2

bzip2가 어디에 있는지 찾아주고 man 도움말 페이지의 경로도 알려준다.

 

 

 

이번엔 locate를 이용해 찾아보자.

 

locate bzip2

 

그럼 bzip2라는 글자가 들어간 모든파일을 찾아준다.

 

 

 

locate는 간단한 키워드로 찾기보다는

주로 명확한 파일명을 찾을때 사용한다.

 

 

 

이번엔 find 명령을 사용해보자.

 

find /etc -name grub.conf

살짝 시간이 걸리지만 정확하게 찾아준다.

 

locate에 비해서 정확도가 더 높고

locate로 안찾아질 경우 find로 찾아보면 찾아지는 경우가 가끔 있다.

 

 

 

이번엔 grep 명령을 사용해보자.

 

grep 안녕 ./*

 

"안녕"이라는 글자를 가진 모든 파일을 현 위치부터(/root) 찾는 명령이다.

 

 

 

grep -n 안녕 ./*

 

옵션 -n 을 사용하면 행 번호까지 출력해준다.

 

 

 

 


[정리]


● 다양한 파일위치 검색명령어
 

Posted by 아이맥스