본문 바로가기

개발 이야기/기타

리눅스에서 파일 찾기 명령어 find

작업을 하다 보면 특정 파일이 어디에 있는지 못 찾거나 필요한 파일만 찾아 특정 폴더로 옮기고 싶을 때가 있다. 특정 파일을 찾고자 할는 find  명령어를 사용하면 된다.

 

 

find 명령어

find / -name 파일명

find / -name '파일명'

find / -name "파일명"

 위 셋 중에 어느 방식을 써도 상관없다. 

 

find 바로 뒤에 오는 /는 전체 로컬 경로를 말하며, 현위치(+하위경로)를 찾고 싶을 때는 아래와 같이 / 대신 ./를 사용하면 된다.

find ./ -name 파일명

 

예) 로컬 전체에 있는 .png 확장자를 가진 파일을 찾고자 할 때

find / -name ".png"

 

예) 현재 경로(+하위 경로) 중에 파일 이름이 ex로 시작하는 파일을 찾고자 할 때

find ./ -name "ex*"

 

위와 같은 방식을 응용해서 사용하면

find_test_ex.png 파일을 찾는다 하였을 경우

find ./ -name "find*.png"

find ./ -name "*test*.png"

find ./ -name "*ex.png"

등등 같은 방식으로 파일을 찾을 수 있다. 

 

또한 파일을 찾는데 끝나는 게 아니라 찾은 파일을 복사, 이동하고 싶을 경우 아래와 같이 사용 가능하다.

find ./ -name "find*" -exec cp {} /Users/folder \;

find ./ -name "find*" -exec mv {} /Users/folder \;

 

위의 두 가지 예시 말고도 다른 명령어도 필요하다면 조합하여 사용하면 된다.