40 의 가장 좋은 예를 찾을 수 있는 명령 리눅스에서

Linuxfind명령이 강력한 도구할 수 있는 시스템 관리자를 찾고 관리하는 파일과 디렉터리 기반의 넓은 범위에서 탐색 기능을 제공합니다. 이름,유형 또는 확장자,크기,권한 등으로 디렉토리와 파일을 찾을 수 있습니다.

외치는 파일과 디렉터리를 결합,find명령어와 다른 사람할 수 있는 행동을 취하는에 결과입니다., 추가-exec옵션을 사용하면 시스템 관리자를 실행할 외부 명령과 작업을 수행할 수 복제,이동,삭제,또는 변경의 권한과 일치하는 파일을 지정한 기준으로 선택하실 수 있습니다.

이 기사에서는 기본 Linux 찾기 명령을 예제와 함께 설명함으로써 시작할 것입니다. 그러면 파일과 디렉토리를 찾는 방법이 표시됩니다. 우리는 다음을 사용하는 방법을 보여주는-exec옵션에 행동하는 파일이나 디렉토리 크기에 따라,허가,등등.,

일반에 대한 구문을 찾을 수 있는 명령입니다.

find {path} {name -of-file or dir-to-search} {action-to-take}

어디서,

이 튜토리얼에서 설명하는 방법을 찾은 파일과 디렉터리에 일치하는 지정 패턴이 있습니다. 또한 찾기 명령이 찾는 파일이나 디렉토리에 대한 작업을 수행하는 방법을 살펴볼 것입니다. 이 가이드는 우분투를 기반으로하지만 대부분의 리눅스 배포판 및 버전에 적용됩니다.

찾은 파일과 디렉터리

찾아에 특정 파일 이름 확장자

을 보면 특정한 파일에서 다음 명령을 실행하는 루트(/)., 이 명령은 검색하는 파일의 정확한 이름을 포함합니다.

find . -name file22.txt

출력

./test/file22.txt./sales/file22.txt

참고하는 결과를 포함한 경로에 있습니다. 파일이 위치한 디렉토리를 모르거나 둘 이상의 장소에있을 때 중요합니다.

현재 위치에있는 동안 다른 디렉토리에서 파일을 검색 할 수도 있습니다. 이 경우 검색 할 디렉토리의 경로를 제공해야합니다.,

find ./test -name file22.txt

보고에서 특정 파일에 대한 다른 디렉터리

경우에,우리는 모든 사람들을 위해 시작하는 문자 파일 테스트에서 디렉토리에 있습니다.

find ./test -name file*

출력

./test/file22.txt./test/file30.doc./test/file1.txt./test/file5,doc

을 검색하여 파일 확장자

파일을 찾기 위해 리눅스에서 특정한 확장자,추가 명령입니다.,

find . -name *.txt

출력

./test/subtest/subfil.txt./test/file22.txt./test/file1.txt./home1/files32.txt./home2/file22.txt./qa/tags.txt

찾은 파일과 디렉터리에 이름

아래의 명령을 사용하여 파일을 찾을 위고 디렉토리로 시작하는 문자qa. 에서 우리의 컴퓨터는 우리가qatree.txtqa.txt파일이 디렉토리뿐만 아니라는 이름으로qa.,

경우 우리는 명령을 실행;

find ./ -name "qa*"

그것은 아래와 같은 출력을 반환합니다.

./test/qatree.pdf./test/qa.txt./home/qa

명령이 모두 반환하는 파일과 디렉토리에 일치하는 검색 기준입니다. 파일이나 디렉토리 만 찾으려면 명령에서이를 지정해야합니다.

파일 또는 디렉토리 만 찾기

파일에만type f스위치를 사용하십시오.

파일만

find ./ -type f -name "qa*"

출력

./test/qatree.pdf./test/qa.txt

디렉토리에서만

추가type d옵션을 찾을 디렉토리만 있습니다.,

find ./ -type d -name "qa*"

출력

./home/qa

대소문자를 구분하지 않을 찾는 명령

모든 검색으로-name스위치는 경우 민감한 결과를 제공하지 않습니다본다. 모든 경우를 얻으려면-iname옵션을 사용하십시오.

find ./ -iname "qa*"

출력

./test/qatree.pdf./test/qa.txt./test/QAtest.txt./home/qa

검색에 대한 파일에 여러 디렉토리에서

파일을 찾기 위해서는 다른 디렉토리를 추가들의 경로에서 명령입니다., 이 경우testnumeric디렉토리를 확인합니다.

find ./test ./numeric -name file22.txt -type f

출력

./test/file22.txt/root/numeric/file22.txt

을 찾을 여러 파일을 다른 확장자를 가진 모든 디렉터리에서

사용할 수 있습 찾기 명령어를 찾을 여러 파일을 공유하는 다른 확장자와 같은*.doc, *.txt*.pdf,등등. 이 할 수 있는 별도로,하나의 확장에서 한 시간 또는 사용하는 단 하나의 명령을 포함하는 모든 원하는 확장 합니다.,

find . -type f ( -name "*.txt" -o -name "*.pdf" -o -name "*.doc" )

출력

을 찾을 포함하는 파일을 특정 문자

때로는,당신은에 액세스하려는 파일을 특정 텍스트를 포함하지만 기억 수 없습니다 해당 파일 이름이나 위치에 있습니다. 이 명령을 사용하면 대상 텍스트가 포함 된 모든 파일을 찾을 수 있습니다.

모든 파일을 포함하는 단어 hyperconvergence”사용;

find / -type f -exec grep -l -i "hyperconvergence" {} ;

출력

/root/numeric/hci/root/HCIP

–i 옵션을 사용하면 명령을 무시하는 경우가 텍스트는지 여부를 대문자로 표기하거나지 않는 즉 hyperconvergence,Hyperconvergence,etc.,

를 찾아에 있는 파일을 특정 디렉토리에 간편하게 추가하기만 하면 그 어떤 명령

find ./numeric -type f -exec grep -l -i "hyperconvergence" {} ;

출력

./numeric/hci

찾은 파일과 디렉토리에 따라 크기

찾을 수 있습니다 모든 파일 또는 디렉토리에 있는 작은,동등한 보다 크거나 특정 크기 특정 범위 내에서 또는 비어 있습니다. 검색하는 파일이나 디렉토리의 유형에 따라 적절한 크기의 형식을 사용하십시오.,nd 파일을 특정 크기의하고 환경 보호하면 지구를 구 30MB

을 검색 찾 모든 30MB 파

find / -size 30M

찾기 보다 큰 파일을 지정한 크기

find -size +2M

출력

. /Downloads/ubuntu18043.iso ./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

파일을 찾을 수 있 10MB 보다는 더 적은 현재 디렉터리

find . -type f -size -10M

파일을 찾을 수 있 사이의 크기와 100-200MB

경우 파일을 찾는 특정 범위 내에서 같은 100,200MB

find / -size +100M -size -200M

보이 디렉토리에 대해서는 더 큰 것보다 20 킬로바이트

find / -type d -size +20k

을 찾아 빈은 파일과 디렉터리입니다.,

find ./ -type f -size 0

또는

find ./ -type f –empty

디렉토리

find ./ -type d –empty

파일을 찾을 의 나이 또는 수정시간

파일을 찾을 이전보다 n

find /path/ -type f -name '*.txt' -mtime +8

-mtime +8보이는 것입한txt있는 파일을 이전보다 8 일입니다.,

에 의해 수정 날짜

보이는 것입니다에 대한 파일을 수정 마지막 이내에 17 시간

find . -mtime -17 -type f 

보이는 디렉토리에 대한 내에 수정 마지막으로 10 일

find . -mtime -10 -type d 

을 찾을 기반으로 파일에 액세스하거나 수정

파일을 찾을 수 있에 따라 날이나 시간이 있습니다. 이렇게하면 지정된 기간 내에 액세스했거나 액세스하지 않은 파일을 볼 수 있습니다.

홈 디렉토리에서 지난 10 일 이내에 액세스하지 않은 파일을 볼 수 있습니다.,

find /home -atime +10

파일에 액세스할지 정확히 10 일 전

find /home -atime 10

액세스 지난 10 일 이내에

find /home -atime -10

파일을 찾을 수정 마지막으로 내 일 n

할 수도 있습니다 보면 파일에 대해서/home디렉토리에 수정된 지난 10 일 이내에 명령을 사용하여;

find /home -mtime -10 

파일을 찾을 수정된 내에서 특정 기간입니다.

예를 들어,홈 디렉토리에서 6 일에서 15 일 전에 수정 된 모든 파일.,

find /home -type f -mtime +6 -mtime -15

파일과 디렉터리 내에서 액세스는 지난 10 분

을 찾기 위해 액세스하는 파일에 마지막,10 분를 사용하여-amin 옵션입니다.

find . -amin -10 -type f

출력

./.bash_history./.profileroot@ubuntu1804:~#

디렉토리 내에서 액세스는 지난 10 분

find . -amin -10 -type d

파일을 찾을 수 있 일치하는 특정 권한을

Syntax

$ find -perm mode

어디 모드는 권한을 중 하나입니다 숫자와 같은644, 655, 700, 777,etc.,또는 문자와 같은u=x, a=r+x,etc.,

다음 세 가지 방법으로 모드를 지정할 수 있습니다.

  1. 지정된 정확한 권한을 가진 파일을 찾고 싶을 때 접두사없이.
  2. 적어도 지정된 권한을 가진 파일의 경우”-“가 있습니다. 이렇게하면 지정된 파일뿐만 아니라 추가로 높은 권한을 가진 파일이 반환됩니다.
  3. /“를 사용하면 파일에 대한 권한을 가진 소유자 또는 그룹을 지정해야합니다.,

파일을 찾을 수있는 권한이 있 777

find -perm 777

출력

./file1

파일을 찾기에서 이상766
찾아-파마 -766

출력

./file2./file1

명령이 모든 파일에서는

  • 파일 소유자가 읽기/쓰기/실행 권한이 있습니다.
  • 그룹에 읽기/쓰기 권한을
  • 다른 사람이 읽기/쓰기 권한을

이와 같이,그것은 두 개를 반환하는 파일이 기준을 충족–file1 에 file2., 파일이 필요하지 않 정확한766권한이 있을 수 있어 추가적인 사람으로 오랜만 적어도 있어야합니다.

파일을 찾을 쓰기 가능한 소유자에 의해

우리는 이제 사용하여”/“외모에 대한 파일에 쓰기권한이 없거나 자신의 소유자,또는 그룹,또는 다른 사람입니다.

find -perm /222../file2./file3./file1

위의 소유자 또는 그룹이 쓸 수있는 파일을 찾습니다.
이 중 하나에 의해 쓰기 가능하지만 반드시 둘 다 아닌 파일을 반환합니다. 둘 다 쓰기 가능한 권한이있는 파일을 보려면-접두사를 사용하십시오.,

./file2./file1

파일을 찾을 소유하여 사용자

모든 파일을 찾을 소유 잭

find /home -user jack

출력

/home/jack/home/jack/examples.desktop/home/jack/.gnupg/home/jack/.gnupg/private-keys-v1.d/home/jack/ans.cgi

찾아에 특정 파일을 소유한 사용자에 의해

찾기 텍스트 파일은 모두에 의해 소유 잭

find /home -user jack -iname "*.txt"

출력

/home/jack/docs/file32.txt

찾아 목록은 파일과 디렉터리와 함께 그들의 권한을

find -name "*.conf" | ls -l

출력

찾아 행위 결과에 대

이 섹션에서 우리는 것입할 수 있는 방법에 대해 살펴보에 행동이 일치하는 파일에서 지정된 패턴을 찾을 명령입니다.,

파일 찾기 및 권한 변경

특정 파일 형식의 권한 찾기 및 변경. 우리의 경우 아래 그림과 같이 다른 권한을 가진 PHP 파일로 작업 할 것입니다.,

우리는 지금 보기 위해 모든 PHP 파일(위)및 바꾸기에 그들의 권한을 가진 755

find ver -name "*.php" -type f -exec chmod 755 {} ;

명령을 보 PHP 파일에verdirectory 설정에 그들의 권한을755(rwxr-xr-x)

결과

을 찾아서 변경 파일 및 디렉토리 권한을

파일을 찾기 644 사용 권한 변경을 가지고 그들을 655 권한을

find . -type f -perm 644 -exec chmod 655 {} ;

할 수도 있습니다양한 디렉토리 644 사용 권한으로 대체 755.,

find . -type d -perm 644

출력

./docs 

는 문서 폴더가 644 사용 권한

drwxrwxr-x 2 jack jack 4096 Jan 3 12:45 docs

설정하는755, 우리는 실행

find . -type d -perm 644 -exec chmod 755 {} ;

이제 우리가 확인할 수 있습니다 다시 정확하게 무엇이 있는지 확인755

find . -type d -perm 755

출력
../docs

위에서 우리는 루트 및 docs 디렉토리에 755 권한이 있음을 볼 수 있습니다.,

Ls –la명령은 다음과 같은 세부 사항을 제공합니다.

drwxr-xr-x 2 jack jack 4096 Jan 3 12:45 docs

찾아 사본을 파일이나 디렉토리

찾기 복사는 특정 파일이 있는 디렉터리

아래 명령을을 찾을 수 있file22.txt 파일을 복사 후~/tmp/images디렉토리에 있습니다.,

find -iname file22.txt -exec cp {} ~/tmp/images ;

찾아 복사 중 하나 형식의 파일이 있는 디렉터리

파일을 찾는 이미지 등으로jpgextension 현재 디렉토리에 복사하는 다른 위치한 이미지는 폴더에 사용하여;

find -iname '*.jpg' -exec cp {} ~/tmp/images ;

이와 모든 사본을 jpg 파일을~/tmp/images폴더에 있습니다.

하나의 파일을 많은 디렉토리에 찾아서 복사

단일 디렉토리를 여러 디렉토리로 찾아서 복사하십시오.,

find ~/tmp/dir1/ ~/tmp/dir2/ $HOME/3/ -maxdepth 0 -exec cp ~/numeric/hci {} ;

이 파일을 찾을 hci 파일을 복사하 세 개의 디렉토리/tmp/dir1/ /tmp/dir2/$HOME/3/

찾을 수 있는 파일을 이동하는 다른 디렉터리

이동하는 알려진 파일이 디렉토리에서 다른 있습니다., 이동하는universal.php파일

find ~/folder/ -type f -name universal.php -exec mv {} ~/numeric/ ;

검색 및 이동 파일을 특정한 확장자를 다른 폴더

find ~/numeric/ -type f -name '*.php' -exec mv {} ~/folder/ ;

찾아에 특정 파일을 이동하는 특정 폴더에 다른

find -type f -name uni*.* -exec mv {} ~/unifiles/ ;

명령한 모든 이름을 가진 파일을 시작으로uni과 데 어떤 확장자. 그 다음 그들을 이동하는 디렉터리/unifiles/

찾아 이동에 따라 파일을 나

찾아 이동 파일보다 오래 지정된 일을 다른 위치로 아카이브입니다.,

find /path/ -type f -name '*.pdf' -mtime +20 -exec mv {} /backup1/ ;

이렇게하면 20 일 이상 된 pdf 파일을 찾아 backup1 디렉토리로 이동합니다.,파일 및 디렉터리

에 대한 구문을 발견하고 제거하는 파일이나 디렉토리에서 현재 디렉터리입니다.

find . -type f -name "file to delete" -exec rm -f {} ;파일을 삭제하는 유일이나

find . -type d -name "dir-to-delete" -exec rm -rf {} ;디렉토리를 삭제하는 방법만

을 찾아 삭제는 특정 파일을 만

을 찾과 삭제한 파일을 시작으로 틸, 사용;

find . -type f -name "til*" -exec rm {} ; 

을 찾아 삭제하는 디렉토리로 시작하는지

find . -type d -name "til*" -exec rm {} ;

제거를 모두 파일과 디렉터리

find . -name "til*" -exec rm -rf {} ; 

제거됩니다 모두 파일 및 디렉토리로 시작하는 문자 til.,

확장자로 삭제

다음은 현재 디렉토리에있는 모든txt파일을 찾아 삭제할 수있는 방법입니다. 대체txt과는 다른 확장자와 같은bak,pdf또는 다른을 제거할 것.

find . -type f -name "*.txt" -exec rm -f {} ;

경우에 당신이 원하는 시스템을 신속을 확인하는 각 파일을 삭제하기 전에 추가,-i 옵션은 아래와 같습니다.,

find . -type f -name "*.txt" -exec rm -i {} ;

출력

기본적으로-rm제거하지 않습니다 디렉토리에 사용할 필요가 있는–r옵션 보장하기 위해 재귀 제거합니다. 이렇게하면 빈 디렉토리와 파일이 포함 된 디렉토리가 삭제됩니다. -f옵션은 제거를 강제하고 파일과 디렉토리 모두에 사용됩니다.

N 일보다 오래된 파일 찾기 및 삭제

현재 디렉토리에서 20 일 이상 된 백업 파일을 찾아서 삭제하십시오.,

find . -type f -name '*.bak' -mtime +20 -exec rm {} ;

이렇게하면 20 일 이상 된 모든.bak파일이 삭제됩니다.

을 찾아 삭제 디렉토리에서만

디렉토리를 삭제하려라는dir22

find . -type d -name dir22 -exec rm -rf {} ;

합치 디렉터리에 이름을 경우 또는 사용하는-iname옵션을 선택합니다.

find . -type d -iname Dir22 -exec rm -rf {} ;

을 모두 제거합Dir22dir22

전에 확인하여 삭제,-i 옵션을 사용.

find . -type d -iname Dir22 -exec rm -rf -i {} ;

출력
rm:디렉토리 제거’./Dir22′?, n
rm:디렉토리 제거’./dir22′? y

경우에,우리는 입력한n한 디렉터리Dir22는 삭제되지 않고y에 대해dir22는 것이 지금 제거할 수 있습니다.

빈 파일 찾기 및 제거

다음 명령 중 하나를 사용하여 빈 파일을 찾아 자동으로 삭제할 수 있습니다.

find ./ -type f -size 0 -exec rm -f {} ;

또는
찾기./-유형 f-크기 0/xargs rm-f
또는
찾기.,/-유형 f–크기 0-삭제

빈 디렉토리 찾기 및 제거

빈 디렉토리를 제거하려면d옵션을 사용합니다.

find ./ -type d -empty -exec rmdir {} ;

또 다른 대안은 remove 대신 delete 를 사용하는 것입니다.

find ./ -type d -empty -delete

참고는 삭제 시스템 또는 긴요한 파일로서 귀하의 컴퓨터를 손상시킬 수 있습 운영 시스템 또는 프로그램 또는 손실로 이어질의 데이터 보호 기능을 보장합니다.실수로 삭제되지 않도록하려면 루트가 아닌 사용자 계정을 사용하는 것이 가장 좋습니다., 또한,을 삭제되었는지 확인 권하지 않는 파일을 유용하고 있는 모든 데이터의 백업 파일 경우.

다음은 무엇입니까?

가서 실험실 또는 비 프로덕션 환경에서 위의 Linux 찾기 명령을 시도하십시오. 일부를 사용하여 Crontab 을 사용하여 파일 시스템 정리를 자동화 할 수 있는지 확인하십시오. 그리고 리눅스를 마스터하려면이 온라인 과정을 확인하십시오.피>

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다

도구 모음으로 건너뛰기