본문 바로가기
다양한 TIP

맥북 터미널에서 find 명령어 사용하기

by 유기농프로그래밍 2022. 4. 14.
반응형

linux를 쓰다보면 find --name "xxx" 와 같은 명령어를 쉽게 쓸 수 있습니다.

하지만 이 생각으로 Mac의 터미널에서 명령어를 치게 되면 아래에 같이 사용법을 출력합니다.

 

그럼 어떻게 find 명령어를 사용할까요?

 

일단 find 명령어의 하는 일부터 간략하게 소개합니다.

find 명령어의 활용

find는 파일 혹은 디렉토리를 찾는 명령어입니다.

 

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

경로 : 검색할 위치입니다. '.'을 넣어도 되고 최상위 폴더를 의미하는 '/'를 넣어도 됩니다.

옵션 : 다양하게 있는데 기본적으로 -name 을 사용하면 됩니다.

표현식 : 검색할 파일 혹은 디렉토리의 이름을 적으면 됩니다.

 

옵션정리

옵션 의미 사용예시
-type 해당 타입의 목록을 출력할 때 find . -type f
-name 특정 이름이나 포함된 이름 검색 find . -name "filename"
-o or 조건으로 앞이나 뒤의 조건이 하나라도 맞으면 출력 find . -name "*.py" -o -name "*.so"
-not 조건과 일치하지 않는 파일만 출력 find . -not \(-name "*.py \)
-exec 조건 결과 후 새로운 명령 실행 find . -name "*.py" -exec chmod 755 {} \;
-size 사이즈를 이용하여 검색 find . -size +2

 

  • -type 옵션에서는 뒤에 다양한 타입을 선택할 수 있습니다. b(block special), c(character special), d(directory), f(regular file), l(symbolic link), p(FIFO), s(socket) 이 있습니다.
  • -name 옵션에서의 표현식에서는 특수문자로 *과 ?를 입력할 수 있습니다. *은 개수에 상관없이 아무값을 모두 지칭하는 것이고, ?는 한글자만 아무값으로 인지시킬 수 있습니다. 즉, test.py 파일이 있다면, find . -name "*.py" 또는 find . -name "tes?.py" 로 검색이 가능합니다.
  • -size 옵션에서는 +숫자는 블록을 의미하고, 해당 블록크기보다 큰 파일만 출력합니다. 반대로 -숫자를 입력한다면 해당 블록크기보다 작은 파일만 출력되지요. 하나의 블록은 MAC 기준 512byte입니다. 블록보다 계산이 편한 byte는 어떻게 할가요? 바로 +숫자c 를 입력하면 됩니다. c는 byte를 의미합니다.  그 밖에 k(1024 byte), M(1024 kilobytes), G(1024 megabytes), T(1024 gigabytes), P(1024 terabytes) 옵션들도 사용할 수 있습니다.
반응형

댓글