my 2th clip
차례:
- Linux
find
명령 구문 - 이름으로 파일 찾기
- 확장자별로 파일 찾기
- 유형별로 파일 찾기
- 크기별로 파일 찾기
- 수정 날짜별로 파일 찾기
- 권한별로 파일 찾기
- 소유자 별 파일 찾기
- 파일 찾기 및 삭제
- 결론
find
명령은 Linux 시스템 관리자에게 가장 강력한 도구 중 하나입니다. 사용자 지정된 표현식을 기반으로 디렉토리 계층에서 파일 및 디렉토리를 검색하고 일치하는 각 파일에 대해 사용자 지정 조치를 수행 할 수 있습니다.
find
명령을 사용하여 권한, 유형, 날짜, 소유권, 크기 등을 기준으로 파일 및 디렉토리를 검색 할 수 있습니다.
grep
또는
sed
와 같은 다른 도구와 함께 사용할 수도 있습니다.
Linux
find
명령 구문
find
명령의 일반적인 구문은 다음과 같습니다.
find
-
options
속성은 심볼릭 링크, 디버깅 옵션 및 최적화 방법의 처리를 제어합니다.path…
속성은 find가 파일을 검색 할 시작 디렉토리를 정의합니다.expression
속성은 옵션, 검색 패턴 및 연산자로 구분 된 작업.
디렉토리에서 파일을 검색하려면
find
명령을 호출하는 사용자에게 해당 디렉토리에 대한 읽기 권한이 있어야합니다.
다음 예제를 보자.
find -L /var/www -name "*.js"
-
-L
(옵션) 옵션은find
명령이 기호 링크를 따르도록 지시합니다./var/www
(경로…)는 검색 될 디렉토리를 지정합니다..js
(자바 스크립트 파일).
이름으로 파일 찾기
이름으로 파일을 찾는 것이
find
명령의 가장 일반적인 용도 일 것입니다. 파일 이름을 사용하여 파일을 찾으려면
-name
옵션은 검색중인 파일 이름을 따릅니다.
예를 들어,
/home/linuxize
디렉토리에서
document.pdf
라는 파일을 검색하려면 다음 명령을 사용하십시오.
find /home/linuxize -type f -name document.pdf
대소 문자를 구분하지 않는 검색을 실행하려면
-name
옵션을
-iname
변경하십시오.
find /home/linuxize -type f -iname document.pdf
위의 명령은 "Document.pdf", "DOCUMENT.pdf"등과 일치합니다.
확장자별로 파일 찾기
확장자로 파일을 검색하는 것은 이름으로 파일을 검색하는 것과 같습니다. 예를 들어,
/var/log/nginx
디렉토리에서
.log.gz
끝나는 모든 파일을 찾으려면 다음을 사용할 수 있습니다.
find /var/log/nginx -type f -name '*.log.gz'
와일드 카드 문자를 사용할 때는 셸에서 해석되지 않도록 패턴을 인용하거나 백 슬래시 (
*
별표
*
기호를 이스케이프해야합니다.
정규식
*.log.gz
와 일치하지 않는 모든 파일을 찾으려면
-not
옵션을 사용할 수 있습니다. 예를 들어
*.log.gz
끝나지 않는 모든 파일을 찾으
*.log.gz
다음을 사용하십시오.
find /var/log/nginx -type f -not -name '*.log.gz'
유형별로 파일 찾기
때로는 일반 파일, 디렉토리 또는 심볼릭 링크와 같은 특정 파일 유형을 검색해야 할 수도 있습니다. Linux에서는 모든 것이 파일입니다.
유형에 따라 파일을 검색하려면
-type
옵션과 다음 설명자 중 하나를 사용하여 파일 유형을 지정하십시오.
-
f
: 일반 파일d
: 디렉토리l
: 기호 링크c
: 문자 장치b
: 블록 장치p
: 명명 된 파이프 (FIFO)s
: 소켓
예를 들어, 현재 작업 디렉토리에서 모든 디렉토리를 찾으려면 다음을 사용하십시오.
find. -type d
일반적인 예는
chmod
명령을 사용하여 웹 사이트 파일 권한을
644
, 디렉토리 권한을
755
로 재귀 적으로 변경하는 것입니다.
find /var/www/my_website -type d -exec chmod 0755 {} ;
find /var/www/my_website -type f -exec chmod 0644 {} ;
크기별로 파일 찾기
파일 크기를 기준으로 파일을 찾으려면 크기 기준과 함께
-size
매개 변수를 전달하십시오. 다음 접미사를 사용하여 파일 크기를 지정할 수 있습니다.
-
b
: 512 바이트 블록 (기본값)c
: 바이트w
: 2 바이트 단어k
: 킬로바이트M
: 메가 바이트G
: 기가 바이트
다음 명령은
/tmp
디렉토리에서 정확히
1024
바이트의 모든 파일을 찾습니다.
find /tmp -type f -size 1024c
find
명령을 사용하면 지정된 크기보다 크거나 작은 파일을 검색 할 수도 있습니다.
다음 예제에서는 현재 작업 디렉토리에서
1MB
미만의 모든 파일을 검색합니다. 크기 값 앞에 빼기
-
기호가 표시됩니다.
find. -type f -size -1M
find. -type f -size +1M
크기 범위 내에서 파일을 검색 할 수도 있습니다. 다음 명령은
2MB
사이의 모든 파일을 찾습니다.
find. -type f -size +1M -size 21M
수정 날짜별로 파일 찾기
find
명령은 마지막 수정, 액세스 또는 변경 시간을 기반으로 파일을 검색 할 수도 있습니다.
크기별로 검색 할 때와 동일하게 "보다 큼"또는 "보다 작음"에 더하기 및 빼기 기호를 사용하십시오.
며칠 전에 비둘기장 구성 파일 중 하나를 수정했지만 어느 것을 잊어 버렸다고 가정 해 봅시다.
/etc/dovecot/conf.d
디렉토리에서
.conf
끝나고 지난 5 일 동안 다음을 사용하여 수정 한 모든 파일을 쉽게 필터링 할 수 있습니다.
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
다음은
-daystart
옵션을 사용하여 수정 날짜를 기준으로 파일을 필터링하는 다른 예입니다. 아래 명령은
30
일 이상 전에 수정 된
/home
디렉토리의 모든 파일을 나열합니다.
find /home -mtime +30 -daystart
권한별로 파일 찾기
-perm
옵션을 사용하면 파일 권한에 따라 파일을 검색 할 수 있습니다.
예를 들어,
/var/www/html
디렉토리에서 정확히
775
권한을 가진 모든 파일을 찾으려면 다음을 사용하십시오.
find /var/www/html -perm 644
숫자 모드 앞에 빼기
-
또는 슬래시
/
붙일 수 있습니다.
슬래시
/
가 접두사로 사용되면 적어도 하나의 범주 (사용자, 그룹 또는 기타)에 파일이 일치하도록 설정된 각 비트가 있어야합니다.
다음 예제 명령을 고려하십시오.
find. -perm /444
위 명령은 사용자, 그룹 또는 다른 사용자에 대해 읽기 권한이 설정된 모든 파일과 일치합니다.
빼기
-
접두사로 사용하는 경우 파일이 지정된 비트와 일치하도록 설정해야합니다. 다음 명령은 소유자 및 그룹에 대한 읽기 및 쓰기 권한이 있고 다른 사용자가 읽을 수있는 파일을 검색합니다.
소유자 별 파일 찾기
특정 사용자 또는 그룹이 소유 한 파일을 찾으려면
-user
및
-group
옵션을 사용하십시오.
예를 들어,
linuxize
사용자가 소유 한 모든 파일 및 디렉토리를 검색하려면 다음을 실행하십시오.
find / -user linuxize
다음은 실제 예입니다.
www-data
사용자가 소유 한 모든 파일을 찾고 일치하는 파일의 소유권을
www-data
에서
nginx
변경한다고 가정 해 봅시다.
find / -user www-data -type f -exec chown nginx {} ;
파일 찾기 및 삭제
일치하는 모든 파일을 삭제하려면 일치 표현식 끝에
-delete
옵션을 추가하십시오.
결과가 삭제하려는 파일과 일치한다고 확신 할 때만이 옵션을 사용하십시오.
-delete
옵션을 사용하기 전에 항상 일치하는 파일을 인쇄하는 것이 좋습니다.
예를 들어
/var/log/
에서
.temp
로 끝나는 모든 파일을 삭제하려면 다음을 사용하십시오.
find /var/log/ -name `*.temp` -delete
주의해서
-delete
옵션을 사용하십시오. find 명령 행은 표현식으로 평가되며
-delete
옵션을 먼저 추가하면 명령이 지정한 시작점 아래의 모든 항목을 삭제합니다.
디렉토리와 관련하여
find
는
rmdir
과 동일한 빈 디렉토리 만 삭제할
find
있습니다.
결론
다양한 옵션과 기준으로
find
명령을 사용하는 방법을 보여주었습니다.
이 기사는 Linux 시스템에서 파일을 찾는 방법에 대한 기본적인 이해를 제공합니다.
find
맨 페이지를 방문하여
find
명령의 다른 모든 강력한 옵션에 대해 읽을 수도 있습니다.
커맨드 라인을 통해 리눅스에서 mysql 데이터베이스를 만드는 방법
이 자습서에서는 명령 줄을 사용하여 MySQL 또는 MariaDB 데이터베이스를 만드는 방법에 대해 설명합니다.
커맨드 라인을 통해 리눅스에서 mysql 데이터베이스를 삭제하는 방법
이 튜토리얼에서는 명령 줄을 통해 MySQL 또는 MariaDB 데이터베이스를 삭제 (또는 삭제)하는 방법에 대해 설명합니다.
리눅스 커맨드 라인을 사용하여 파일과 디렉토리를 제거하는 방법
이 학습서에서는 rm 명령을 사용하여 가장 일반적인 rm 옵션의 예와 설명을 통해 파일과 디렉토리를 제거하는 방법을 보여줍니다.