웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > linux

리눅스에서 파일 찾는 방법 알아보기, find

Last Modified : 2023-11-07 / Created : 2023-11-07
480
View Count
리눅스 시스템은 강력한 명령어를 통해 사용자가 원하는 파일을 찾을 수 있도록 도와줍니다. 특히 `find` 명령어는 리눅스 사용자에게 필수적인 도구 중 하나입니다. 이 글에서는 find 명령어를 사용해 다양한 조건에 맞는 파일을 찾는 여러 가지 방법을 소개하겠습니다.




파일 이름으로 검색하기, find 명령어


가장 쉽고 잘 알려진 방법이 바로 find를 사용하는 방법입니다. 만약 파일의 이름이나 일부를 알고 있다면 `find` 명령어를 통해 쉽게 찾을 수 있습니다. 이 외에 find는 다양한 옵션이 존재하며 아래에서 상세히 알아봅니다.

find 경로 -name '찾을 조건'


예를 들어, 현재 경로에서 확장자가 .png, .jpg, .gif인 파일을 찾으려면 다음과 같이 명령어를 사용할 수 있습니다.
find ./ -name "*.png"
find ./ -name "*.jpg"
find ./ -name "*.gif"

위 명령어를 실행하면 현재 경로에서 이름이 *.png, *.jpg, *.gif 등인 파일들을 찾아서 보여주게 됩니다. 매우 쉽고 간단합니다.



특정 권한을 가진 파일을 찾으려면?


리눅스의 경우 각각의 파일들은 다른 권한을 가질 수 있습니다. 만약 파일의 권한을 기준으로 검색하고 싶다면 `find` 명령어를 아래와 같이 -perm 옵션을 사용하여 찾을 수 있습니다.

@ 권한이 0660인 파일 찾기
find . -type f -perm 0660 -print

여기서 -perm은 파일의 권한을 나타내게 됩니다. 위와 같이 실행시 0660 권한을 가진 파일을 출력합니다. 참고로 여기서 사용된 -type f의 f 문자는 일반적인 파일을 의미하며 d는 디렉토리를 b는 블록 디바이스를 의미하게 됩니다.


@ 실행 가능한 파일만 찾기, executable file only
만약 시스템 전체에서 실행 가능한 파일을 찾아야 할 경우 다음과 같이 실행합니다.
find / -perm /a=x

실행 가능한 파일들이 모두 출력되게 됩니다.


특정 용량 범위의 파일 찾기


추가로 파일 크기에 따라 검색하는 것도 가능합니다. 예를 들어, 1MB 이상 10MB 미만의 파일을 찾으려면 다음과 같이 입력합니다.
find / -size +1M -size -10M

용량의 크기를 알고 있을 때 사용하면 매우 편리한 명령어입니다.


정규표현식을 사용하여 검색하는 방법


보다 복잡한 패턴이나 조건을 사용하여 파일을 검색할 때 정규표현식을 사용할 수 있습니다.
// 이미지 파일만 찾기 (jpg, png, gif, jpeg)
find ./ -regextype sed -regex ".*\(png\|gif\|jpg\|jpeg\)"

위에서는 해당 경로의 모든 이미지 파일들을 반환하도록 정규표현식을 사용하였습니다.


기타) MIME 타입을 체크해 이미지 파일만 찾는 방법


위 방법과 달리 이미지 파일을 전문적으로 검색하고자 할 때는 파일의 MIME 타입을 체크하는 방법이 있습니다.

@ 하위 경로의 파일을 포함한 이미지 파일과 포맷 출력
find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image'

이제 파일의 MIME 타입을 검색해 이미지인 파일만 출력하게 됩니다.


마치면서


여기까지 find를 사용하는 다양한 방버과 예제를 알아보았습니다. 이처럼 find를 사용하면 정확하고 빠르게 원하는 파일을 찾고자 할 때 매우 유용합니다.

Previous

[리눅스] 저장장치 용량 등 정보 확인하기, df

Previous

리눅스 systemctl에 새로운 service 설정 방법