IMG-LOGO
공지사항 :

리눅스 기본 명령어 find

lmkfox - 2022-05-25 05:39:09 309 Views 0 Comment

리눅스에서 특정 파일이나 디렉토리를 검색 할때 사용 할 수 있는 명령어로는 find 가 있습니다. 

리눅스는 파일 시스템 특성상 복잡하게 되어 있는 경우가 많습니다. 그럴때 필요한 파일을 찾기 위해서 꼭 필요한 명령어 입니다. 

이제 부터 find 의 명령어에 대해서 알아 보도록 하겠습니다. 

설명은 간단하게 되어 있습니다. 

우선 위와 같이 파일 및 디렉토리가 있습니다. 

 #find [파일 또는 디렉토리이름]

기본적으로 위와 같이 적으면 해당 폴더 안에서 찾아 줍니다. 하지만 저희는 좀더 다양한 방법을 이용해야 좀더 편하게 사용이 가능합니다. 

자 이번에는 조금 길어 졌습니다. 

#find [경로] [타입] [파일이름 또는 디렉토리이름]

자  기본적인 설정은 위와 같습니다. 명령어는 find 입니다 다음 [ . ] 은 해당경로를 말하는데 이때 검색되는 경로는 하위 경로를 포함하고 있습니다. 그 후 -name cp.txt 는 cp.txt 라는 이름을 가진 파일을 찾으라는 것입니다. 

자 이정도만 알아도 사용하시는데 정말 큰 힘이 될 것입니다. 특정 파일을 찾는데 정말 도움이 많이 될 것입니다. 

 자 여기서 잠간 중요한 걸 확인 하고 가겠습니다. 바로 [./],[ /.] 입니다. 우수겟소리로 엔지니어를 하다보면 저 실수를 누구나 한번쯤 한다고 합니다.  [./] 해당경로 입니다. [/.]은 / 경로의 모든 것을 말합니다. 특히 파일 삭제시 rm -rf 를 하시다가 이런 경로 실수를 하시면 자신의 손가락 및 머리를 저주 하실 겁니다.  자 이제 계속 해보도록 하겠습니다. 

위와 많이 다르지는 않지만 다른 결과를 출력 하고 있습니다. 여기서 위와 다른 부분만 설명을 드리도록 하겠습니다. -name "cp*"

이 부분 입니다. 여기서 "cp*" 이 부분은 cp로 시작되는 파일 및 디렉토리를 검색하라는 것 입니다. 이 것에 대한 예를 적어 드리겠습니다. 

cp 로 시작되는 모든 파일 또는 디렉토리 find . -name "cp*"
cp 가 포함 되는 모든 파일 또는 디렉토리 find . -name "*cp*"
cp 로 끝나는  모든 파일 또는 디렉토리 find . -name "*cp"

위와 같이 사용을 하시면 됩니다. 

자 이번에는 파일만 혹은 폴더만 검색을 해 보도록 하겠습니다. 

이렇게 결과가 나왔습니다. 위와 달라진 부분은 한 부분 입니다. 

# find . -type f -name "cp*"

-type 이라는 부분이 생겨 났습니다. 여기에서 f 는 파일을 말합니다. 자 이번에는 디렉토리를 찾아 보겠습니다. 

# find . -type d -name "cp*"

이번에는 -type 에 d 를 주었습니다. 여기서 d 는 디렉토리 입니다.

이제 여러분은 더 많은 일을 쉽게 할 수 있습니다. 

자 이번에 여기에 저 파일에 대한 정보를 더 알고 싶습니다. 

자 여기서 -exec 옵션을 주고 추가로 할 명령어를 적어 주면 사용이 됩니다. grep 이라던지 혹인 wc 명령어도 사용이 가능 합니다 .

저 -exec는 나중에 다시 한번 설명을 해드리도록 하겠습니다. 

자 이번에는 하위 디렉토리 검색 제한을 걸겠습니다. 

디렉토리 일명 뎁스 제한 입니다. 말 그대로 최대 뎁스를 지정해 주는 겁니다. 

-maxdepth [뎁스크기] 

위와 같이 사용 할 수 있습니다. 

또 유용한 하게 사용할 수 있는 옵션 중 하나인 empty 파일을 찾아주는 것입니다. 

# find cptest/ -empty 

find [경로] -empty 이와 같이 사용 하면 해당 경로에 있는 크기가 0인 파일을 검색 할 수 있을 수 있습니다.

find 같은 경우는 다양 하게 사용을 할 수 가 있습니다. 그리고 검색 한 후 다음 파일을 삭제 하거나 압축 하거나 복사 하거나 다양한 작업을 할 수 있으니 여러가지 방법을 알아 보는 것도 추천을 드립니다. 

보시다가 궁금하신 명령어 사용법이 있으시면 댓글 남겨 주시면 제가 알려 드리도록 하겠습니다.

그리고 여러분의광고 클릭은 저에게 큰 도움이 됩니다~ 많은 클릭 부탁드립니다


댓글