리눅스에서 find 명령어를 사용하여 파일 찾는 방법

리눅스 find 명령어는 리눅스 시스템에서 가장 중요하고 유용한 명령어 중 하나입니다. 이름에서 알 수 있듯이, 설정한 조건과 변수에 따라 리눅스 PC에서 파일을 찾을 수 있습니다. find 명령어를 사용하여 권한, 사용자, 그룹, 파일 유형, 날짜, 크기 및 기타 가능한 기준으로 파일을 찾을 수 있습니다. 여기서는 find 명령어를 사용하여 리눅스에서 파일을 찾는 방법을 보여줍니다.
find 명령어는 대부분의 리눅스 배포판에서 기본적으로 제공되므로, 별도로 패키지를 설치할 필요가 없습니다.
또한 읽어보세요: 리눅스에서 파일 검색을 위한 find, locate, which 및 whereis 명령어 사용하기
현재 디렉토리에서 이름으로 파일 찾기
파일을 검색하는 가장 명백한 방법은 이름으로 찾는 것입니다. 현재 디렉토리에서 이름으로 파일을 찾으려면 다음을 실행합니다:
find . -name photo.png
대문자와 소문자가 모두 포함된 이름으로 파일을 찾으려면 다음을 실행합니다:
find . -iname photo.png
루트 디렉토리에서 파일을 찾으려면 검색 앞에 sudo를 붙여야 하며, 이는 필요한 모든 권한을 부여하고 / 기호는 리눅스에 루트 디렉토리에서 검색하도록 지시합니다. 마지막으로 -print 표현식은 검색 결과의 디렉토리를 표시합니다. Gzip을 찾고 싶다면 다음과 같이 입력합니다:
sudofind/-namegzip-print
또한 읽어보세요: 리눅스에서 큰 파일 찾는 방법
특정 디렉토리 아래에서 파일 찾기
“/home”과 같은 특정 디렉토리 아래에서 파일을 찾으려면 다음을 실행합니다:
find/home -name filename.txt“/home” 디렉토리 아래에서 “.txt” 확장자를 가진 파일을 찾으려면 다음을 실행합니다:
find/home -name"*.txt"“/home” 및 “/opt”와 같은 여러 디렉토리 아래에서 이름이 “test.txt”인 파일을 찾으려면 다음을 실행합니다:
find/home /opt -name test.txt“/home” 디렉토리에서 숨겨진 파일을 찾으려면 다음을 실행합니다:
find/home -name".*"“test.txt”라는 단일 파일을 찾아서 제거하려면 다음을 실행합니다:
find/home -type f -name test.txt -execrm-f{}“/opt” 디렉토리 아래의 모든 빈 파일을 찾으려면 다음을 실행합니다:
find/opt -type f -empty이름으로 디렉토리 찾기
“/home” 디렉토리 아래에서 이름이 “testdir”인 모든 디렉토리를 찾으려면 다음을 실행합니다:
find/home -type d -name testdir“/home” 아래의 모든 빈 디렉토리를 찾으려면 다음을 실행합니다:
find/home -type d -empty특정 권한으로 파일 찾기
find 명령어는 perm 옵션을 사용하여 특정 권한을 가진 파일을 찾는 데 사용할 수 있습니다.
“/home” 디렉토리에서 권한이 “777”인 모든 파일을 찾으려면 다음을 실행합니다:
find/home -type f -perm 0777 -print권한이 “777”이 아닌 모든 파일을 찾으려면 다음을 실행합니다:
find . -type f !-perm777모든 읽기 전용 파일을 찾으려면 다음을 실행합니다:
find/home -perm/u=r모든 실행 파일을 찾으려면 다음을 실행합니다:
find/home -perm/a=x권한이 “553”인 모든 스티키 비트 설정 파일을 찾으려면 다음을 실행합니다:
find/home -perm1553모든 SUID 설정 파일을 찾으려면 다음을 실행합니다:
find/home -perm/u=s권한이 “777”인 모든 파일을 찾아서 권한을 “700”으로 변경하려면 다음을 실행합니다:
find/home -type f -perm 0777 -print-execchmod700{} ;날짜 및 시간에 따라 파일 및 디렉토리 찾기
“/opt” 아래에서 20일 전에 수정된 모든 파일을 찾으려면 다음을 실행합니다:
find/opt -mtime20“/opt” 아래에서 20일 전에 접근된 모든 파일을 찾으려면 다음을 실행합니다:
find/opt -atime20“/opt” 아래에서 30일 이상 전에 수정되고 50일 이내에 수정된 모든 파일을 찾으려면 다음을 실행합니다:
find/opt -mtime +30-mtime-50“/opt” 아래에서 지난 두 시간 이내에 변경된 모든 파일을 찾으려면 다음을 실행합니다:
find/opt -cmin-120크기에 따라 파일 및 디렉토리 찾기
“/home” 디렉토리 아래의 모든 10MB 파일을 찾으려면 다음을 실행합니다:
find/home -size 10M“/home” 디렉토리 아래에서 10MB보다 크고 50MB보다 작은 모든 파일을 찾으려면 다음을 실행합니다:
find/home -size +10M -size-50M“/home” 디렉토리 아래의 모든 “.mp4” 파일 중 10MB보다 큰 파일을 찾아서 단일 명령으로 삭제하려면 다음을 실행합니다:
find/home -type f -name*.mp4 -size +10M -execrm{} ;보시다시피, find 명령어는 시스템 관리, 디렉토리 검색 및 일반적으로 리눅스의 가상 디렉토리 트리를 정리하는 데 매우 유용합니다. 이 리눅스 기사가 마음에 드셨다면, 파일을 안전하게 전송하기 위해 scp 명령어를 사용하는 방법, 터미널에서 nnn을 파일 관리자처럼 사용하는 방법, 손상된 패키지를 수정하는 방법과 같은 다른 리눅스 콘텐츠도 확인해 보세요.