Find newer 어떤 시간 기준

fd 는 file system 에서 특정 엔트리를 찾는 명령어로 find 보다 더 사용자 친화적이며 속도도 빠릅니다.

물론 find 보다 옵션이나 기능이 적긴 하지만 많이 사용하는 사례에 대해 합리적인 기능을 제공합니다.

fd 의 저자인 David Peter는 bat 과 hyperfine 및 다수의 오픈소스 프로젝트 저자이며 모두 Rust 로 작성되었습니다.

설치

패키지 매니저 사용

Ubuntu

sudo apt install fd-find

BASH

Windows

Alpine Linux

Source 에서 빌드

CentOS 처럼 지원되지 않는 배포판이거나 최신 버전을 사용할 경우 Rust 로 개발되었으므로 rush 개발도구와 cargo 를 설치한 후에 빌드해도 됩니다.

cargo install fd-find

CODE

사용

기본 사용

fd 는 기본적으로 찾을 패턴을 주면 smart case 방식으로 해당 패턴이 들어간 모든 파일이나 폴더를 출력합니다.

smart case 는 기본적으로 대소문자 구분을 하지 않지만 PATTERN 에 대문자가 있으면 대소문자를 구분합니다.

즉 위의 fd 명령은 다음 find 명령과 동일합니다.

find . -iname \*pattern\*

CODE

예로 options 라는 단어가 들어간 모든 파일을 찾으려면 다음과 같이 간단하게 사용하면 됩니다.

$ fd options src/options.rs

BASH

대상 path 지정

fd 는 기본적으로 현재 폴더를 찾지만 find 처럼 다른 폴더를 지정해서 검색할 수 있습니다. 주의할 점은 검색 대상 PATH 를 지정할 때 앞에 . 을 하나 찍어 줘야 합니다.

다음은 /var/libs 폴더 아래에서 options 가 들어가는 모든 파일을 검색합니다.

$ fd options /var/libs   /var/lib/letsencrypt/backups/1623826821.3591514/options-ssl-nginx.conf_4

BASH

ignore 파일도 찾기

fd 는 검색하지 않을 패턴들을 $HOME/.fdignore 파일에 등록해 두면 이 파일들은 검색시 자동으로 제외됩니다.

마찬가지로 .gitignore 에 등록된 패턴들은 찾지 않으므로 다음과 같이 ignore 에 등록되어 있다면 검색시 .class 와 .xml 이 아닌 파일만 출력합니다.

-I, --no-ignore 옵션를 사용하면 .gitignore 나 .fdignore 에 등록된 파일 패턴도 검색합니다.

정규식

찾을 패턴에 정규식을 사용할 수도 있습니다 .다음은 /etc 폴더에서 n 으로 시작하고 conf 로 끝나는 모든 파일 목록을 출력합니다.

$ fd /etc $ fd '^n.*conf$' NetworkManager/NetworkManager.conf X11/xinit/xinput.d/none.conf authselect/nsswitch.conf dbus-1/system.d/net.hadess.SensorProxy.conf

BASH

정규식은 Rust 의 문법을 따릅니다. (링크)

확장자(extension)로 찾기

-e 옵션으로 특정 확장자를 갖는 모든 파일을 검색할 수 있습니다. 다음은 /usr/lib64 폴더내의 .so 로 끝나는 모든 파일 목록을 출력합니다.

$ fd /usr/lib64 $ fd -e so ... libutil-2.32.so libmultipath.so libBrokenLocale-2.32.so

BASH

glob 패턴 사용

-g, --glob 옵션을 사용하면 경로에서 패턴과 일치하는 파일을 알수 있습니다. 다음은 /usr/lib64 에서 libc*.so 파일을 출력합니다.

$ fd -g 'libc-*.so' /usr/lib64/ /usr/lib64/libc-2.32.so

BASH

size 로 찾기

-S, --size 를 사용하면 크기를 지정해서 검색할 수 있습니다.  > 는 기호를 < 는 기호를 사용해서 이상과 미만을 표시할 수 있습니다.

다음은 /usr/lib64 에서 크기가 1M 보다 크고 확장자가 .so 인 파일의 상세 정보를 출력합니다.

$ fd . -S +1m -e so /usr/lib64/ -l -rwxr-xr-x. 1 root root 14M Mar 27 01:11 /usr/lib64/dri/i965_dri.so -rwxr-xr-x. 8 root root 22M Mar 27 01:11 /usr/lib64/dri/iris_dri.so -rwxr-xr-x. 8 root root 22M Mar 27 01:11 /usr/lib64/dri/kms_swrast_dri.so ...

BASH

변경 시간으로 찾기

--change-newer-than DURATION 을 사용하면 변경일이 특정일 이후인 파일을 찾을 수 있습니다. DURATION에는 1weeks 나 3months 같이 적어주면 되며 다음은 현재일 기준 변경일이 7일 이후에 변경된 파일을 검색합니다. 

$ fd --change-newer-than 7days -l

BASH

또는 특정 시간을 지정해서 변경일이 그 이후인 파일만 검색할수도 있습니다. 다음은 /tmp 에서  지정한 시간 이후에 변경된 파일을 검색합니다.

$ fd . --change-newer-than '2021-08-23 10:00:00' -l /tmp

BASH

반대로 변경일이 특정일 이전인 파일을 찾을 경우 --change-older-than DURATION 을 사용하면 됩니다.  다음은 현재일 기준 변경일이 7일 이전인 파일들을 검색합니다.

$ fd  --change-older-than 7days -l

BASH

2가지 옵션을 같이 쓰면 BETWEEN 처럼 사용할 수 있습니다. 다음은 /tmp 아래에서 변경일이 특정 기간인 파일들을 검색합니다.

$ fd . --change-newer-than '2021-08-24 04:30:00' --change-older-than '2021-08-25 00:00:00' -l /tmp

BASH

같이 보기

  • cat 명령을 대체하는 유용한 유틸리티 linux bat 사용법
  • 여러 조건으로 파일을 찾는 Linux find 명령어 사용법

Ref

  • //github.com/sharkdp/fd

리눅스 find 명령어는 Linux 사용자가 시스템에서 특정 유형의 파일을 효과적으로 검색할 수 있는 유틸리티 중 하나입니다. 강력한 검색 기능을 가능하게 해주는 명령 줄 유틸리티이며, 숙련된 사용자가 쉽게 사용할 수 있는 도구가 될 수 있습니다. find 명령어를 자세히 익히고 Linux 기술을 발전시키시려면 잘 찾아오셨습니다.

오늘날 Linux 및 BSD 시스템이 전 세계적으로 인기를 얻는 주요 이유 중 하나는 기본 도구 및 유틸리티입니다. Linux는 명령 줄에서 직접 파일을 검색하거나 액세스하는 최상의 방법을 제공합니다.

리눅스 명령어 모음 BEST 50 초보자 및 전문가용 유용한 리눅스 명령어 모음

리눅스 find 명령어 50가지

우리가 리눅스 명령어를 배우는 가장 좋은 방법은 직접 시도해 보는 것입니다. 아래 표시된 명령은 데스크톱 환경에 관계없이 모든 리눅스 배포판에서 제대로 작동합니다. 따라서 Ctrl +Alt + T를 사용하여 터미널을 열고 여기에서 명령어를 복사하여 붙여 넣으면 리눅스 find 명령어를 빠르게 시도할 수 있습니다. 일상적인 생활에서 이러한 명령어를 최대한 활용하여 단기간에 마스터해보세요.

리눅스 find 명령어 구조

리눅스에서 find 명령어는 다음과 같은 구조를 갖습니다.

찾기[경로] [표현] [동작]

여기서 경로(paths)란 지정된 파일을 검색하기 위해 “찾기(find)” 할 디렉터리를 의미한다. 이 식을 사용하면 일부 기준에 따라 파일을 필터링할 수 있는 반면 동작(actions)은 파일에 대해 셸 명령을 실행할 수 있다. 기본 동작은 인쇄로, 어떤 경로에서든 표현(expression)에 의해 일치하는 파일을 간단하게 인쇄한다. find는 파일을 반복적으로 보여준다. 즉, 먼저 모든 디렉터리를 횡단한 다음 그에 따라 결과를 출력할 것이다.

기본적인 리눅스 find 명령어

기본적인 find 명령어를 사용하여 find가 무엇을 할 수 있는지 확인할 수 있습니다 이러한 명령은 매우 간단하며, 다른 명령 줄 유틸리티에 대한 사전 경험도 필요하지 않습니다.

기본적인 리눅스 find 명령어

1. 현재 디렉터리 안에 있는 모든 파일을 나열

$ find

현재 디렉터리에 있는 모든 파일을 출력합니다. 현재 디렉터리에 하위 디렉터리가 포함된 경우 해당 디렉터리도 같이 표시됩니다. 이 명령은 아래 명령과 동일합니다.

$ find -print.

2.  특정 디렉터리에 있는 모든 파일을 나열

$ find /folder

이 명령은 / folder 디렉터리 안에 있는 모든 파일을 나열합니다. 이 명령을 사용하여 리눅스 시스템에서 특정 경로의 모든 파일을 나열할 수 있습니다.

3. 특정 파일 검색 명령어

$ find -name test.txt

이 명령어는 현재 디렉터리와 다른 모든 하위 디렉터리에서 test.txt라는 파일을 검색합니다. 특정 파일을 검색해야 할 경우 이 명령을 사용하십시오.

4. 디렉터리에서 특정 파일 검색

$ find /Docs -name test.txt

이 명령어는 / Docs 폴더에서 test.txt라는 파일을 검색합니다. 이 명령어를 사용할 때 절대 경로와 상대 경로를 모두 사용할 수 있습니다.

5. 여러 디렉터리에서 파일 검색

$ find /opt /usr /var -name foo.scala -type f

여러 디렉터리에서 파일을 동시에 검색할 때 리눅스 find 명령어를 사용할 수 있습니다. 검색할 때 디렉터리 이름을 차례로 입력한 다음 공백을 두기만 하시면 됩니다.

6. 대소문자를 무시한 파일 검색

$ find -iname test.txt

이 명령은 대소문자를 구분하지 않고 test.txt 파일을 검색합니다. 따라서 test.txt 및 Test.txt라는 두 개의 파일이 있으면 두 개 파일이 모두 표시됩니다. -iname 옵션을 사용하면 find 명령을 실행할 수 있습니다.

7. 현재 디렉터리 내부의 폴더를 검색

$ find -type d

이 명령은 현재 작업 중인 디렉터리 아래에 있는 모든 디렉터리를 나열합니다. 특정 디렉터리를 나열하기 위해 이름 옵션을 추가할 수도 있습니다.

8. 디렉터리에서 특정 폴더를 검색

$ find /home -type d -name users

이 명령어는 / home 디렉터리에서 users라는 폴더를 검색합니다. 대소문자를 구분하지 않고 검색하기 위해 -name 대신 -iname 옵션을 추가할 수도 있습니다.

9. 이름을 사용하여 PHP 파일을 검색

$ find -type f -name test.php

이 명령어는 현재 작업 중인 디렉터리 내에 존재하는 test.php라는 PHP 파일을 나열합니다.

10. 모든 PHP 파일을 검색

$ find -type f -name “*.php”

리눅스에서 이 find 명령은 현재 작업 디렉터리에 있는 모든 PHP 파일을 검색합니다. 특정 디렉터리에만 있는 PHP 파일을 검색하기 위한 유형 앞에 경로 옵션을 추가할 수도 있습니다.

11. 모든 심볼릭 링크 찾기

$ find /usr -type l

위의 명령은 현재 디렉터리에 있는 모든 심벌릭 링크를 검색하고 그에 따라 출력합니다.

12. 확장자가 다른 파일을 검색

$ find . -type f \( -name “*cache” -o -name “*xml” -o -name “*html” \)

위의 find 명령어는 확장자가 다른 cache라는 파일을 검색합니다. name 옵션 다음에 -o 플래그를 추가하여 추가 확장자를 찾을 수 있습니다.

권한을 기준으로 파일 찾기

find 명령을 사용하면 리눅스 사용자가 권한 상태에 따라 파일을 검색할 수 있습니다. 시스템에 여러 명의 사용자가 있고 아무도 데이터에 무단으로 액세스하지 않도록 해야 할 때 유용합니다.

13. 777권한 세트가 있는 파일 찾기

$ find -type f -perm 0777 -print

이 명령어는 사용 권한이 777로 설정된 현재 작업 중인 디렉터리의 모든 파일을 나열합니다. 모든 사용자가 읽고 쓰고 실행할 수 있는 파일입니다.

14. 777 권한이 없는 파일 찾기

$ find / -type f ! -perm 777

리눅스에서 이 find 명령어는 777 이외의 권한이 설정된 파일만 검색합니다. 검색 결과를 좁히기 위해 /를 다른 위치로 바꿀 수 있습니다.

15. 644 권한이 있는 SGID 파일 찾기

$ find / -perm 2644

이 find 명령어는 권한 상태가 644로 설정된 SGID 파일 만 찾습니다. SGID 파일은 소유하지 않거나 액세스할 수 없는 파일에 임시로 액세스할 수 있습니다.

16. 551 권한이 있는 모든 고정 비트 파일 찾기

$ find / -perm 1551

고정 비트 파일은 파일 또는 폴더 세트로, 파일을 만든 사용자 또는 루트 사용자만 이름을 바꾸거나 삭제할 수 있습니다. 이 명령어는 시스템의 모든 스티키 비트 파일을 551 권한으로 표시합니다.

17. 모든 SUID 파일 찾기

$ find / -perm /u=s

SUID 파일을 사용하면 파일 그룹 소유자나 루트 사용자 이외의 사용자가 파일 그룹을 임시로 소유할 수 있습니다. 이 find 명령어는 현재 Linux 시스템에 있는 모든 SUID 파일을 나열합니다.

18. 모든 SGID 파일 찾기

$ find / -perm /g=s

SGID 파일은 SGID 권한이 있는 파일이 실행될 때 원래 소유자가 프로세스를 실행하는 것처럼 실행된다는 점을 제외하고 여러 가지 면에서 SUID 파일과 유사합니다. 이 find 명령어는 권한 상태에 관계없이 모든 단일 SGID 파일을 나열합니다.

19. 읽기 전용 파일 찾기

$ find / -perm /u=r

읽기 전용 파일은 Linux 사용자가 파일을 쓰거나 실행하는 것을 금지합니다. 파일 소유자 또는 루트 사용자만 작성하거나 실행할 수 있습니다. 이 find 명령어는 현재 시스템에 있는 모든 읽기 전용 파일을 표시합니다.

20. 모든 실행 파일 찾기

$ find / -perm /a=x

실행 파일은 이진 파일과 같이 실행될 수 있는 파일입니다. 위의 Linux“find command”는 시스템에서 그러한 모든 파일을 검색하여 그에 따라 나열합니다.

21. 777 권한과 644 ~ ch644의 모든 파일 찾기

$ find / -type f -perm 0777 -print -exec chmod 644 {} \;

위의 find 명령은 777 권한이 있는 모든 파일을 검색하고 chmod 명령을 사용하여 권한 상태를 644로 변경합니다. 이제 644 권한으로 파일을 읽거나 쓸 수 있습니다.

22. 777 권한과 755 ~ chmod의 모든 디렉토리 찾기

$ find / -type d -perm 777 -print -exec chmod 755 {} \;

이 리눅스 find 명령은 777 권한이 있는 모든 디렉터리를 검색하고 권한 상태를 755로 변경합니다. 이는 실제로 소유자에게만 전체 권한을 허용하고 다른 사용자에 대한 읽기 및 실행 권한을 부여하는 것입니다.

find를 사용하여 특정 파일 검색하기

찾기는 특정 파일을 효과적으로 검색하는데 사용할 수 있습니다. find 명령을 사용하여 일부 기준에 따라 파일을 선택하고 파일 삭제와 같은 쉘 작업을 수행할 수 있습니다.

23. 파일을 찾아서 제거하기

$ find -type f -name “test.txt” -exec rm -f {} \;

이 리눅스 find 명령어는 많은 파일 목록에서 파일을 삭제해야 할 때 사용됩니다. 이 경우 먼저 현재 디렉터리에서 test.txt라는 파일을 찾아 rm-f를 사용하여 제거합니다.

24. 여러 파일을 찾아서 한번에 제거하기

$ find -type f -name “*.mp3” -exec rm -f {} \;

찾기 명령은 특정 파일 형식의 큰 배열을 검색하여 한 번에 제거하는 데 유용하게 사용됩니다. 위 명령어는 시스템에서. mp3 파일을 검색하여 프롬프트 없이 삭제합니다. 삭제가 발생할 때마다 프롬프트를 표시하기 위해 rm 부분과 함께 대화식 플래그 -i를 추가할 수 있습니다.

25. 시스템에서 모든 빈 파일 찾기

$ find /tmp -type f -empty

빈 파일은 시스템 리소스를 매우 짧은 시간 내에 불러올 수 있습니다. find 명령을 사용하여 모든 빈 파일을 나열하려면 위 명령을 사용하십시오. -exec rm -f {} \;를 추가하여 이러한 파일을 삭제할 수 있습니다. 위의 명령과 동일합니다.

26. 시스템에서 모든 빈 폴더 찾기

$ find /tmp -type d -empty

이 명령은 / tmp 디렉터리 안에 있는 모든 빈 폴더를 검색합니다. 이를 사용하여 다른 디렉터리에서도 빈 폴더를 찾을 수 있으며, 이전과 같이 원하는 경우 삭제할 수도 있습니다.

27. 시스템에서 모든 숨겨진 폴더 찾기

$ find /home -type f -name “.*”

숨겨진 폴더는 일반적으로 리눅스 시스템에서 단일 점 (.)으로 시작합니다. 위 명령을 사용하여 / home 디렉터리에 있는 모든 숨겨진 폴더를 검색하십시오.

사용자를 기준으로 파일을 찾는 리눅스 find 명령어

find 명령어는 사용자 그룹을 기반으로 파일을 검색할 때도 유용합니다. Linux find 명령을 사용하여 특정 사용자 그룹에 대한 특정 파일을 검색하고 파일 권한을 매우 빠르게 수정할 수 있습니다.

28. 사용자에게 속한 파일 찾기

$ find / -user root -name test.txt

리눅스에서 find 명령을 사용하여 특정 사용자가 소유 한 단일 파일을 검색할 수 있습니다. 위 명령어는 사용자 루트에 속하는 / 디렉터리에서 test.txt라는 파일을 검색합니다.

29. 사용자에게 속한 모든 파일 찾기

$ find /home -user username

위의 리눅스 명령어는 사용자 “username”에 속하는 / home 디렉토리의 모든 파일을 검색합니다. 자신에게 속한 모든 파일을 찾으려면 “username” 을 리눅스 사용자 이름으로 바꾸셔야 합니다.

30. 그룹에 속한 도믄 파일 찾기

$ find /home -group programmer

리눅스 파일은 일반적으로 일부 그룹에 속합니다. 위의 Linux 명령을 사용하면 “programmer”라는 특정 그룹에 속하는 모든 파일을 검색하여 터미널에 출력할 수 있습니다. “programmer”를 검색하려는 그룹 이름으로 바꾸어 사용하세요.

31. 사용자를 위한 특정 파일 찾기

$ find /home -user bob -iname “*.txt”

find 명령어를 사용하여 사용자에게 속한 특정 파일을 검색할 수 있습니다. 위의 명령은 이것을 수행하고 사용자 bob에 속하는 모든. txt 형식의 파일을 검색합니다. bob을 사용자 이름으로 바꾸고. txt를 다른 파일 형식으로 바꾸면 자신에게 속한 특정 유형의 파일을 찾을 수 있습니다.

시간을 기준으로 파일 찾는 리눅스 find 명령어

시스템 관리자는 시스템을 효과적으로 모니터링할 수 있습니다. 수정 시간, 액세스 시간 등을 기준으로 파일을 검색할 수도 있습니다.

32. 지난 50일 동안 수정 된 모든 파일 찾기

$ find / -mtime 50

find 명령어를 사용하면 지정된 시간 내에 수정 된 파일을 검색 할 수 있습니다. 위 명령은 50일 전에 수정 된 시스템의 모든 파일을 검색합니다.

33. 지난 50일 동안 액세스 한 모든 파일 찾기

$ find / -atime 50

-atime 옵션은 정해진 기간 내에 액세스 된 파일을 보여줍니다. 위의 명령은 50일 전에 액세스 한 시스템의 모든 파일을 나열합니다.

34. 지난 50-100일 동안 수정된 모든 파일 검색하기

$ find / -mtime +50 –mtime -100

리눅스에서 find 명령을 사용하면 지정된 시간 범위에서 수정된 모든 파일을 검색할 수 있습니다. 이를 위해 + 및 – 연산자가 -mtime 과 함께 사용됩니다. 위의 명령은 지난 50일에서 100일 동안 수정 한 모든 파일을 찾습니다.

35. 지난 1시간 동안 변경된 모든 파일 찾기

$ find / -cmin -60

이 명령은 지난 1시간 동안 변경된 모든 파일을 찾아서 검색합니다. 검색 범위를 좁히기 위해 /를 특정 디렉터리로 바꿀 수도 있습니다. 그 시간에 변경된 파일을 찾으려면 60을 120과 같은 다른 숫자로 변경하십시오 (120의 경우 2시간)

36. 지난 1시간 동안 수정된 모든 파일 찾기

$ find / -mmin -60

위의 명령은 지난 1시간 내에 수정 된 모든 파일을 보여줍니다. 목적에 필요한 기간을 변경하려면 60을 다른 숫자로 변경하여 사용하십시오.

37. 지난 1시간 동안 액세스 한 모든 파일 찾기

$ find / -amin -60

이 명령은 지난 1시간 동안 액세스 한 모든 파일을 표시합니다. 앞의 두 명령과 마찬가지로 원하는 결과를 위해 60을 자유롭게 변경해서 사용하십시오.

크기를 기준으로 파일 검색하는 find 명령어

때로는 크기에 따라서 파일을 검색해야 할 경우가 있습니다 이 점에서도 find 명령어는 찾기가 편리합니다. 크기에 따라 파일을 보다 정확하게 검색하기 위해 다른 옵션을 추가 할 수도있습니다.

38. 크기가 50MB인 파일 찾기

$ find / -size 50M

리눅스에서 이 “find command”는 50MB가 넘는 모든 파일을 검색합니다. 교체 / 더 효율적으로 검색 결과를 좁히기 위한 다른 크기와 원하는 디렉터리와 수치를 변경해서 사용하십시오.

39. 100MB가 넘는 모든 파일 찾기

$ find / -size +100M

위의 명령은 / 디렉터리 안에 100MB가 넘는 모든 파일을 검색합니다. 원하는 결과를 얻기 위해 다른 파일 크기로 100M을 변경할 수 있습니다.

40. 50MB에서 100MB 사이의 파일 검색하기

$ find / -size +50M -size -100M

때로는 지정된 크기 범위 내에서 파일을 찾아야 할 수도 있습니다. 위의 명령은 50MB에서 100MB 사이의 모든 파일을 표시합니다. 특정 검색 기준과 일치하도록 선택적 매개 변수를 변경해서 사용하십시오.

41. 500MB가 넘는 모든 파일 삭제하기

$ find /Movies -size +500M -exec rm -rf {} \;

find 명령어는 특정 제한을 초과하는 파일을 검색하고 터미널에서 즉시 삭제하는데도 유용하게 사용됩니다. 폴더에 오래된 영화가 있고 한 번에 삭제하려고 한다고 가정합니다. 위의 명령으로 정확하게 작업을 수행할 수 있습니다. / Movies를 파일이 있는 폴더 이름으로 바꾸신 후 사용하십시오.

42. 가장 큰 파일 찾기

$ find . -type f -exec ls -s {} \; | sort -n -r | head -5

위의 find 명령어는 현재 작업 디렉토리와 하위 디렉토리에있는 가장 큰 5 개의 파일을 검색합니다.

43. 가장 작은 파일 찾기

$ find . -type f -exec ls -s {} \; | sort -n | head -5

리눅스에서 find 명령어를 사용하여 가장 작은 파일을 표시할 수도 있습니다. 이 명령은 현재 디렉터리에 있는 가장 작은 5개의 파일을 검색합니다.

기타 다른 find 명령어

리눅스의 find 명령어는 포함된 텍스트를 기반으로 파일 찾기, 파일 검색 및 삭제, 패턴을 기반으로 파일 찾기 등과 같은 많은 추가 기능을 제공합니다. 아래 명령은 이러한 기능 중 일부를 간단히 보여드립니다.

44. 특정 파일 찾기 및 삭제

$ find / -type f -name *.mp3 -size +10M -exec rm {} \;

이 리눅스 find 명령을 사용하면 시스템에서 10MB 이상의 공간을 차지하는 모든 .mp3 파일을 찾아서 삭제할 수 있습니다. .mp3을 다른 파일 형식 및 특정 유형의 파일에 대한 size 매개 변수로 바꿀 수도 있습니다.

45. 패턴과 일치하지 않는 파일 찾기

$ find /home -type f -not -name “*.html”

리눅스에서 위의 find 명령어는 / home 디렉토리에서 .html로 끝나지 않는 모든 파일을 검색합니다. -not 옵션을 사용하면 find가 이 작업을 수행할 수 있습니다.

46. 파일 안에서 텍스트로 파일 찾기

$ find . -type f -name “*.java” -exec grep -l StringBuffer {} \;

grep을 사용하여 포함된 텍스트를 기반으로 파일을 찾을 수 있습니다. 위의 리눅스 find 명령어는 StringBuffer가 포함 된 .java 파일을 검색합니다. grep에 -i 플래그를 추가하면 이 검색에서 대소문자를 무시합니다.

47. 파일 찾기 및 복사

$ find . -type f -name “*.mp3” -exec cp {} /home/MusicFiles \;

find 명령어를 특정 파일을 찾아서 새 위치로 복사하는 데 사용할 수 있습니다. 위 명령은 현재 디렉토리에서 모든 .mp3 파일을 찾아 / home / MusicFiles 폴더에 복사합니다.

48. 파일 찾기 및 이동

$ find . -type f -name “*.jpg” -exec cp {} /home/Pictures \;

파일을 효과적으로 이동하는 데에도 Find 명령을 사용할 수 있습니다. 위의 명령은 현재 디렉터리에 있는 모든 .jpg 파일을 검색하여 / home / Pictures 디렉터리로 옮깁니다.

49. 파일 찾기 및 타르

$ find . -type f -name “*.java” | xargs tar cvf myfile.tar

find 명령어를 사용하여 특정 파일을 검색하여 tarball로 보관할 수 있습니다. 위 명령은 현재 디렉터리에서 모든 .java 파일을 찾아 myfile.tar라는 tar 파일로 압축합니다.

50. 필터링 오류 메세지

$ find [paths] [expression] [actions] 2>/dev/null

find 명령어를 시도하는 동안 ‘Permission Denied’ 와 같은 오류가 발생할 수 있습니다. 위와 같이 이러한 오류를 / dev / null로 리디렉션 할 수 있습니다.

마치며…

리눅스의 find 명령어는 시스템을 효과적으로 모니터링하거나 파일을 자주 처리하는데 사용할 수 있는 가장 유용한 명령 줄 도구 중 하나입니다. 다양한 find 명령어를 현명하게 구현하면 Linux 고급 사용자가 될 수 있습니다. 매일 사용하기에 가장 유용한 찾기 명령을 설명하기 위해 최선을 다했습니다. 일상적인 생활에서 이러한 명령을 활용하여 Linux 시스템을 최대한 활용할 수 있습니다.

이상으로 리눅스 find 명령어 모음 설명을 마치겠습니다.

Toplist

최신 우편물

태그