본문으로 바로가기
반응형

최근의 리눅스는 각 배포 버전별로 훌륭한 UX를 가진 GUI 모드를 제공한다. 하지만 여전히 수많은 이유로 리눅스는 터미널에서 텍스트 기반의 명령어를 수행하는 형태로 사용되는 것이 보편적이다.

리눅스는 GUI 이상으로 상세한 조건으로 파일을 찾고, 이 결과를 다른 명령어로 넘길 수도 있는 파일찾기 명령어인 find를 제공한다.

어려운 기능은 아니지만, 옵션이 다양하고 고급 응용이 가능하기 때문에 한번 정리해 두는 것이 좋다.



1. find 명령어 사용


$ find [경로] [-옵션] [조건] [action]

 

리눅스 find 명령어는 위와 같은 형태로 동작한다.

find 명령어 뒤에 찾고자 하는 경로를 지정해 주고, 어떤 조건으로 찾을 것인지에 대한 옵션을 정해준다. 

그 뒤, 찾은 결과로 무엇을 하고 싶은지에 대한 action을 명시해 준다. 모든 항목들은 생략 가능하다.


2. find 명령어 옵션


-name : 이름으로 검색

-user : 소유자 검색

-newer : 전, 후 조건 검색

-perm : 허가권(permission) 검색

-size : 크기 조건 검색


find 명령어는 위와 같은 옵션으로 파일 검색을 수행할 수 있다. 각 옵션들은 아래와 같이 중복으로 사용 가능하다.




3. find action


리눅스 find 명령어로 검색한 결과를 다른 형태로 보고싶거나, 검색한 결과를 가지고 무언가 다른 명령을 수행(복사, 삭제 등) 을 하고 싶을 때 action을 사용한다. 주로 -exec action으로 외부 명령어로 넘겨 실행하는 형태로 사용된다.


$ find [경로] [옵션] -exec [외부명령어] {} \;


위와 같은 형태로 사용된다. find 한 결과를 외부명령어로 넘겨 실행시키는 것이다. 



검색한 결과를 ls 명령어로 넘겨 -l 옵션을 사용해 상세보기 형태로 출력했다.

검색한 파일들을 삭제하려면, rm 명령어로 넘기는 식으로 응용이 가능하다.



4. 기타 찾기 명령어


리눅스는 find 말고도 아래와 같이 파일을 찾는 다른 명령어들을 제공한다.


$ whereis 파일이름

$ which 파일이름

$ locate 파일이름


- whereis : 실행파일, 소스, man 파일까지 모두 검색해 준다.

- which : PATH에 설정된 디렉터리 하위에서 검색해 준다. 절대 경로를 포함한 위치를 검색한다.

- locate : 파일 목록 DB에서 검색한다. 빠르게 검색할 수 있지만, updatedb 명령어를 실행한 뒤 실행 해야 한다. 



whereis / which / locate 명령어로 동일한 파일이름을 조건으로 검색한 결과이다.

반응형

 Other Contents