본문 바로가기
IT/Linux_리눅스

[Linux / find] 리눅스 find 명령어 / 리눅스 원하는 파일 검색 명령어

by 무브영/movewoo0 2022. 8. 21.
728x90
반응형

안녕하세요. 이번 포스팅에서는 리눅스의 find 명령어를 사용하여 시스템 상의 특정 파일을 검색하는 방법을 씁니다.

 

 


0. find 명령어

 

find 명령어는 리눅스 운영체제에서 파일을 검색하는 명령어입니다. 

찾고자 하는 파일에 여러 가지 조건을 걸 수 있어서 다양하게 활용이 가능한 명령어입니다.

위와 같이 'find --help' 명령어로 사용법을 검색하면 여러 옵션을 사용할 수 있는 것을 확인할 수 있습니다.

여기서 주로 사용되는 옵션들에 대해 알아봅니다. 

 


 

1. find 명령어 사용법 / 옵션

기본적으로 find 명령어의 용법은 아래와 같습니다. 

find [옵션] [파일 경로] [표현식]

위의 명령어에서 중요한 부분은 파일 경로와 표현식입니다. 

 

파일 경로는 리눅스의 절대 경로, 상대 경로의 형식 모두 사용가능하며 대부분 해당 명령어를 실행하는 위치와 그 하위 디렉토리를 포함하는 현재 경로('.')를 사용하거나 파일시스템 전체에서의 검색을 위해 루트 디렉토리('/')를 사용합니다.

 

표현식은 검색에서 특정 조건 또는 동작을 추가하면서 명령어를 더 효율적으로 사용할 수 있게 해줍니다.

특정 파일 이름이나 타입을 정하거나 파일을 검색 후에 어떤 동작을 취할지 등을 정할 수 있습니다. 

 

 

name : 해당 이름의 파일을 찾음. 해당 이름에는 정규 표현식을 활용할 수 있음
type : 지정된 파일 타입에 해당하는 파일 검색
exec : 검색된 파일에 대해 지정된 명령 실행
user : 해당 유저에게 속한 파일 검색
empty : 빈 디렉토리 혹은 크기가 0인 파일 검색
delete : 검색된 파일 혹은 디렉토리 삭제
path : 지정된 문자열 패턴에 해당하는 경로에서 검색.
size : 파일 크기를 사용하여 파일 검색.
atime : n일 이내에 액세스된 파일을 찾음.
ctime : n일 이내에 만들어진 파일을 찾음.
mtime : n일 이내에 수정된 파일을 찾음.
mindepth : 검색을 시작할 하위 디렉토리 최소 깊이 지정.
maxdepth : 검색할 하위 디렉토리의 최대 깊이 지정.

 


 

2. find 명령어 사용 예시

현재 디렉토리와 그 하위 디렉토리들을 포함하는 범위에서 검색할 때 현재 디렉토리를 나타내는 '.'을 사용할 수 있습니다. 

 

 

- 파일명으로 찾기

find . -name "test*" 
#'test'로 시작하는 파일 찾기

find 명령어와 '-name' 옵션을 사용해서 'test'로 시작하는 파일을 찾을 수 있습니다. 검색식의 와일드카드 '*'을 이용해서 test로 끝나거나 시작하는 파일을 찾을 수도 있습니다. 

 

 

- 파일 크기 / 타입으로 찾기

find . -empty
#빈 디렉토리 또는 파일 크기가 0인 파일 검색

find . -size +1024c
#파일 크기가 1024 byte보다 큰 파일 검색

find . -size -1024c
#파일 크기가 1024 byte보다 작은 파일 검색

find . -size 1024c
#파일 크기가 1024 byte인 파일 검색

find . -type d
#디렉토리를 모두 찾기

find . -type f
#파일을 모두 찾기

 

위의 명령어들을 활용하여 검색하는 파일의 크기 또는 형식(파일, 디렉토리)에 따라 검색 명령어를 설정할 수 있습니다. 

 

- 파일 검색 후 명령 실행 하기

find . -name "*.txt" -delete
#'.txt'의 확장자를 가진 파일을 검색하고 삭제

find . -name "*test*" -exec ls -l {} \;
#'test' 단어가 포함된 파일을 찾아서 상세정보 출력

find / -name "test*" 2>/dev/null
#루트 디렉토리 아래에서 'test' 로 시작하는 파일을 삭제(파일 삭제 시, 권한등의 에러를 해결하기 위해 리다이렉션 활용 가능)

 


 

본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

728x90
반응형

댓글