본문 바로가기
System/Linux

find사용하기

by OdOp 관리자 2023. 10. 9.
SMALL

리눅스의 find 명령어는 파일 시스템에서 파일을 검색하는 데 사용되는 명령어입니다. 다양한 표현식을 통해 원하는 형식으로 출력하거나 삭제할 수 있습니다. 

 

find 사용하기

 

위치 정하기

우선 찾을 위치 먼저 설정해야겠죠.

현재 디렉터리를 '.'으로 표현할 수 있습니다. 

만약 제가 현재 디렉터리에 있는 here이라는 디렉터리에서 찾고 싶다면 ./here이 되겠죠.

저는 현재 디렉터리를 기준으로 하겠습니다. 

$ find . 

 

type 정하기

여기서 어떤 형태를 찾을 것인지 입력해 보겠습니다. 

'-type'를 사용하여 파일의 형태를 설정할 수 있습니다. 

예를 들어 파일은 '-type f', 디렉터리는 '-type d', 심볼릭 링크는 '-type l'로 나타낼 수 있습니다. 

저는 파일만 찾고 싶습니다. 

$ find . -type f

 

name 정하기

어떤 이름을 찾을 것인지 입력해 봅시다. 

'-name'을 사용하여 찾을 이름을 설정할 수 있습니다. 

예를 들어 저는 t로 시작하거나 s로 시작하거나 f로 시작하는 것을 찾고 싶습니다. 

$ find . -type f \( -name "t*" -o -name "s*" -o -name "f*" \)

여기서 조금 어색 한 부분 먼저 설명해 드리겠습니다. 

'\'를 괄호 앞에 적는 이유는 괄호가 가지는 특수한 의미를 제거해 주기 위해서 사용합니다. 

'-o'는 or이라는 뜻이라고 생각해 주시면 좋을 것 같습니다. 

이제 주의할 부분을 설명해 드리겠습니다.

띄어쓰기입니다. 

괄호 적고 띄고 명령어 적고 띄고 다 띄어주어야 합니다. 

 

 

여기까지 한 번 실행해 보겠습니다. 

find . -type f \( -name "t*" -o -name "s*" -o -name "f*" \)

여기까지 잘 따라와 주시고 이해도 다 해주셨다면 find의 기본적인 것은 다 하실 수 있으신 것입니다. 

 

위에서 설명드린 표현식 외에 많은 표현식이 있는데 간단하게 설명드리고 마무리하도록 하겠습니다. 

user : 해당 유저에게 속한 파일을 검색합니다. 
empty : 빈 디렉터리 혹은 크기가 0인 파일 검색합니다. 
delete : 검색된 파일 혹은 디렉터리를 삭제해 줍니다. 
exec : 검색된 파일에 대해 지정된 명령을 실행시켜 줍니다. 
path : 지정된 문자열 패턴에 해당하는 경로에서 검색해 줍니다.
print : 검색 결과를 출력해 줍니다. 개행 문자(\n)로 구분합니다. 
print() : 검색 결과를 출력해 줍니다. 검색 항목은 null로 구분합니다. 
size : 파일 크기를 사용하여 파일 검색합니다. 
mindepth : 검색을 시작할 하위 디렉터리 최소 깊이를 지정해 줍니다. 
maxdepth : 검색할 하위 디렉터리의 최대 깊이를 지정해 줍니다. 
atime : n일 이내에 액세스 된 파일을 찾아줍니다.
ctime : n일 이내에 만들어진 파일을 찾아줍니다.
ntime : n일 이내에 수정된 파일을 찾아줍니다.
cnewer file : 해당 파일보다 최근에 수정된 파일을 찾아줍니다. 

여기까지 읽어주셔서 감사합니다. 

LIST

'System > Linux' 카테고리의 다른 글

magic file사용하기, 매직파일  (0) 2023.10.11
file 명령어 사용하기  (0) 2023.10.10
patch 사용하기  (0) 2023.10.08
ls 옵션  (0) 2023.10.03
파일 수정된 시간 조작하기, touch  (0) 2023.10.02