집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 Find 명령을 사용하여 파일을 찾는 방법
Linux Find 명령은 Linux 시스템 관리자의 무기고에서 가장 강력한 도구 중 하나입니다. 이 명령을 사용하면 사용자 지정 작업을 적용하여 사용자가 지정한 표현을 기반으로 디렉터리 계층에서 파일과 디렉터리를 검색할 수 있습니다. 다음 기사에서는 찾기 명령을 사용하는 방법을 설명합니다. 도움이 되기를 바랍니다.
Linux 찾기 명령
find 명령을 사용하여 파일 권한, 유형, 날짜, 소유권, 크기 등을 기준으로 파일을 검색합니다. grep 또는 sed와 같은 다른 도구와 함께 사용하여 이러한 파일에 대한 작업을 수행할 수도 있습니다.
find 명령 사용 방법을 논의하기 전에 먼저 기본 구문:
find [options] [path...] [expression]
설명:
● options 속성 : 심볼릭 링크 처리, 디버깅 옵션, 최적화 방법 등을 제어합니다.
● Path... 속성: find가 파일을 검색할 시작 디렉터리를 정의합니다.
● 표현식 속성: "옵션", "검색 모드", "연산자로 구분된 연산"으로 구성됩니다.
다음 예를 살펴보겠습니다.
find -L /home/projects/ -name "*.js" -exec chmod 644 {} \;
설명: 이 명령에는 매개 변수 -L(옵션)이 포함되어 있습니다. 이를 통해 find 명령은 기호 링크를 따라가 /home/projects/(path.path) 아래의 전체 디렉터리를 검색할 수 있습니다. ..) 트리에서 .js(expression)로 끝나는 모든 파일을 찾고 일치하는 모든 파일의 권한을 644로 설정합니다.
유형별로 파일을 찾는 방법은 무엇입니까?
찾고 있는 파일 형식을 지정하려면 -type 매개 변수를 사용해야 합니다.
파일 형식은 다음 설명자를 사용하여 지정할 수 있습니다.
● f: 일반 파일
●● d: 디렉터리
●●l: 심볼릭 링크
● c: 문자 장치
● b: 블록 장치
●● p: 명명된 파이프(FIFO)
● s: 소켓
예:
현재 작업 디렉토리에서 모든 디렉토리를 찾으려면 다음을 사용할 수 있습니다.
find . -type d
모두 나열하려면 다음을 사용하세요. 시스템 유형의 문자 장치:
find / -type c
이름으로 파일을 찾는 방법은 무엇입니까?
이름으로 파일을 찾는 것은 아마도 find 명령의 가장 일반적인 용도일 것입니다. 이름으로 파일을 찾으려면 검색하려는 파일 이름과 함께 -name 옵션을 전달하십시오.
예:
/home/linuxize 디렉터리에서 document.pdf라는 파일을 검색하려면 다음 명령을 사용할 수 있습니다.
sudo find /home/linuxize -type f -name document.pdf
대소문자를 구분하지 않는 검색을 실행하려면 다음 명령을 사용할 수 있습니다. iname은 다음과 같습니다. 명령 변경 옵션:
sudo find /home/linuxize -type f -iname document.pdf
설명: 위 명령은 Document.pdf, DOCUMENT.pdf..etc와 일치합니다.
확장자로 파일을 찾는 방법은 무엇입니까?
확장자로 파일을 검색하는 것은 이름으로 파일을 검색하는 것과 같습니다.
예:
.log.gzinside /var/log/nginx 디렉토리로 끝나는 모든 파일을 찾으려면 다음을 사용할 수 있습니다.
find /var/log/nginx -type f -name '*.log.gz'
일반 파일과 일치하지 않는 모든 파일을 찾으려면 표현식, *.log .gz는 -not 매개변수를 사용할 수 있습니다. 예를 들어 *.log.gz로 끝나지 않는 모든 파일을 찾으려면 다음을 사용하세요.
find /var/log/nginx -type f -not -name '*.log.gz'
How to find files by size?
파일 크기를 기준으로 파일을 찾으려면 -를 결합해야 합니다. 크기 조건이 포함된 크기 매개변수를 함께 전달합니다. 다음 접미사를 사용하여 파일 크기를 지정할 수 있습니다. b: 512바이트 블록(기본값) c: 바이트
● w: 더블 바이트 단어
● k: 킬로바이트 M: 메가바이트
● G: 기가바이트
예를 들어 :
/tmp 디렉터리에서 정확히 1024바이트인 모든 파일을 찾으려면 다음 명령을 실행할 수 있습니다.
find /tmp -type f -size 1024c
find 명령을 사용하면 지정된 크기의 문서보다 크거나 작은 파일을 검색할 수도 있습니다. 예:
현재 작업 디렉토리에서 1MB 미만의 모든 파일을 검색할 수 있습니다. 이를 위해서는 크기 값 앞에 빼기 기호를 추가해야 합니다.
find . -type f -size -1M
크기가 1MB보다 큰 파일을 검색하려면 다음을 사용해야 합니다. 더하기 기호 +:
find . -type f -size +1M
특정 크기 범위 내의 파일도 검색할 수 있습니다. 예를 들어, 다음 명령은 1MB에서 2MB 사이의 모든 파일을 찾습니다.
find . -type f -size +1M -size 21M
수정 날짜별로 파일을 찾는 방법은 무엇입니까?
find 명령은 마지막 수정, 액세스 또는 변경 시간을 기준으로 파일을 검색할 수도 있습니다. 사이즈로 검색할 때와 마찬가지로 더하기 및 빼기 기호를 사용하여 크거나 작은 것을 지정할 수 있습니다.
예:며칠 전에 비둘기장 구성 파일을 수정했지만 파일 이름을 잊어버렸습니다. 지난 5일 동안 수정된 .conf로 끝나는 /etc/dovecot/conf.d/ 디렉토리의 모든 파일을 쉽게 필터링할 수 있습니다.
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
또한 30일 이전에 수정된 / 홈 디렉토리: find /home -mtime +30 -daystart
권한별로 파일을 찾는 방법은 무엇입니까?
파일 권한에 따라 파일을 필터링하려면 -perm 옵션을 사용해야 합니다. 예:
要在/var/www/html目录中查找权限为775的所有文件:
find /var/www/html -perm 644
还可以使用减号-或斜杠/为数字模式添加前缀。
当斜杠/用作前缀时,至少一个类别(用户,组或其他类别)必须至少为文件匹配设置相应的位。
find . -perm /444
说明:搜索对用户,组或其他人设置了读权限的所有文件。
如果使用减号-作为前缀,则必须至少设置要匹配的文件。
find . -perm -664
说明:搜索对所有者和组具有读写权限的文件,并且其他用户可以读取。
如何按所有者查找文件?
要查找特定用户或组拥有的文件,可以使用-user和-group选项。
例如,要搜索用户拥有的所有文件和目录linuxize,可以运行:
find / -user linuxize
这是更高级的示例,假设是希望查找用户www-data拥有的所有文件,并将匹配文件的所有权从www-data更改为nginx:
find / -user www-data -type f -exec chown nginx {} \;
相关视频教程推荐:《linux教程》
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
위 내용은 Linux에서 Find 명령을 사용하여 파일을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!