Computer >> 컴퓨터 >  >> 체계 >> Linux

예제와 함께 Linux FIND 명령

Linux를 새로 설치하면 몇 개의 파일이 있는지 아십니까? PopOS를 사용한다면! 예를 들어 Linux 배포판에는 31,000개가 넘는 파일이 있습니다. 문서 작성, 음악 저장, PDF 다운로드 또는 사진 정리를 시작하기 전입니다.

예제와 함께 Linux FIND 명령

이 때문에 필요할 때 Linux에서 올바른 파일이나 폴더를 찾는 것이 어렵습니다. 이 기사에서는 Linux FIND 명령을 사용하는 방법을 배우고 가능한 모든 예제를 제공할 것입니다.

    Linux FIND 명령 구문

    구문은 단어 또는 명령이 조합되는 방식을 나타냅니다. 단어를 섞기만 하면 정상적인 문장이 무의미해질 수 있는 것처럼, 올바른 구문을 사용하지 않으면 명령이 실패할 수 있습니다.

    [경로] [조건] [동작] 찾기

    이것이 의미하는 바는 다음과 같습니다.

    찾기 – Linux에서 찾기 유틸리티 시작

    경로 – 어디서 볼 것인가

    조건 – 검색에 적용할 인수

    동작 – 결과로 무엇을 하고 싶은지

    세 가지를 모두 사용하는 간단한 예는 다음과 같습니다.

    찾습니다. -이름 파일-sample.rtf -인쇄

    예상대로 file-sample.rtf 파일 이름을 찾습니다. .

    마침표(. ) 경로는 find에게 현재 디렉토리와 그 안의 모든 디렉토리를 찾도록 지시합니다.

    -이름 상태 특정 이름의 파일을 가져오도록 find에 지시합니다.

    -인쇄 action은 결과를 화면에 표시하도록 FIND에 지시합니다.

    마침표 및 -print는 찾기 명령의 기본값입니다. 따라서 사용하지 않는 경우에도 동일한 작업을 수행합니다. 따라서 -name file-sample.rtf 찾기 동일한 결과를 얻을 수 있습니다.

    예제와 함께 Linux FIND 명령

    Linux가 다른 디렉토리에서 찾기

    현재 있는 디렉토리와 다른 디렉토리에서 검색할 수 있습니다. FIND 뒤에 디렉토리 경로를 삽입하기만 하면 됩니다. 루트에 있고 파일이 home/user의 어딘가에 있다는 것을 알고 있는 경우 사용할 디렉토리:

    집/사용자 이름 file-sample.rtf 찾기

    예제와 함께 Linux FIND 명령

    여전히 재귀 검색이므로 user 아래의 모든 디렉토리로 이동합니다. .

    Linux 찾기 여러 디렉토리 검색

    한 번에 여러 디렉토리를 검색하려면 명령에 공백으로 구분하여 나열하십시오.

    /lib /var /bin -name 파일-sample.rtf 찾기

    예제와 함께 Linux FIND 명령

    재귀가 없거나 제한이 있는 Linux 찾기

    루트 수준에서 위의 FIND 명령을 사용한 경우 시스템의 모든 디렉토리를 검색합니다. 따라서 현재 디렉토리만 사용하려면 -maxdepth 옵션. -maxdepth 뒤의 숫자는 Find가 중지하기 전에 얼마나 깊이 가야 하는지 알려줍니다.

    -maxdepth 1 사용 이 디렉토리를 의미합니다.

    이름 파일-sample.rtf -maxdepth 1 찾기

    예제와 함께 Linux FIND 명령

    -maxdepth 2 사용 또는 더 큰 숫자는 그만큼 더 깊은 수준으로 이동한다는 것을 의미합니다.

    -maxdepth 5 -name file-sample.rtf 찾기

    예제와 함께 Linux FIND 명령

    Linux FIND 와일드카드 예

    FIND 명령은 별표(* )를 와일드카드로 사용합니다. 확실하지 않은 이름 부분에 사용하십시오. 이름에 두 번 이상 사용할 수 있습니다. 파일 이름의 일부로 파일 유형이 없으면 결과에는 일치하는 디렉토리도 포함됩니다.

    집/사용자 이름 파일*샘플* 찾기

    예제와 함께 Linux FIND 명령

    Linux 유형별 찾기 예

    파일이나 디렉토리만 검색하려면 -type 옵션과 적절한 설명자를 사용하십시오. 몇 가지가 있지만 파일과 디렉토리가 가장 일반적입니다.

    f – 파일

    d – 디렉토리

    b – 장치 차단

    c – 캐릭터 장치

    l – 심볼릭 링크

    s – 소켓

    집/사용자 이름 찾기 파일*샘플* -유형 d

    예제와 함께 Linux FIND 명령

    Linux FIND 대소문자를 구분하지 않는 예

    Windows와 달리 Linux는 문자가 대문자인지 소문자인지를 중요하게 생각합니다. 따라서 File-Sample.rtf 및 file-sample.rtf를 모두 검색하도록 하려면 -iname 옵션.

    집/사용자 찾기 -iname File-Sample.rtf

    예제와 함께 Linux FIND 명령

    Linux에서 여러 파일 찾기 예

    파일의 .rtf 및 .html 버전을 찾고 싶다고 가정해 보겠습니다. -o를 사용하여 하나의 명령으로 수행할 수 있습니다. (또는) 연산자. 일부 배포판에서는 ( -name file-sample.rtf -o -name file-sample.html )과 같이 대괄호 안에 이름을 넣어야 할 수도 있습니다. .

    집/사용자 이름 찾기 file-sample.rtf -o -name file-sample.html

    예제와 함께 Linux FIND 명령

    이름과 일치하지 않는 Linux 파일 찾기

    파일의 .html 버전이 있다는 것을 알고 있을 수 있지만 다른 파일이 있는 경우에는 그렇지 않습니다. -not 을 사용하여 검색에서 .html 버전을 필터링할 수 있습니다. 옵션.

    집/사용자 이름 파일 샘플* 찾기 -이름 *.html이 아님

    예제와 함께 Linux FIND 명령

    오류 없이 Linux 찾기 결과

    재귀가 없는 찾기 예제에서 검색할 수 없는 모든 디렉토리와 올바른 결과가 나열되었음을 알 수 있습니다. 그거 짜증나네. 모든 "사용 권한이 거부된" 디렉토리를 표시하지 않도록 합시다. 다른 Linux 터미널 명령인 grep과 결합합니다. grep으로 찾기를 사용하여 특정 단어가 포함된 파일을 찾을 수도 있습니다.

    찾기 -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v "권한 거부됨"

    예제와 함께 Linux FIND 명령

    2>&1을 분해해 보겠습니다. .

    2 stderr 을 나타냅니다. 표준 오류 출력의 약자입니다.

    1 stdout을 나타냅니다. 표준 출력의 약자

    > – 출력의 왼쪽에 있는 출력을 오른쪽에 있는 출력으로 리디렉션하는 것을 의미합니다.

    & – 뭉치다라는 뜻입니다.

    따라서 2>&1 표준 오류를 가져와 리디렉션한 다음 표준 출력과 함께 하나의 출력으로 만드는 것을 의미합니다.

    이제 |를 살펴보겠습니다. grep -v "권한 거부됨" .

    | (파이프라고 함) – 왼쪽에 있는 결과를 오른쪽에 있는 모든 항목에 제공하도록 Linux에 지시합니다. grep 명령에 공급되고 있습니다.

    그렙 – 텍스트 검색 유틸리티입니다.

    -v – -v 왼쪽에 있는 텍스트와 일치하지 않는 모든 항목을 검색하도록 grep에 지시합니다. 이 경우 "Permission denied"라는 텍스트나 문자열이 포함되지 않은 항목만 찾도록 grep에 지시합니다. 따라서 grep은 찾고 있는 결과와 "허가 거부됨"과 일치하지 않는 오류만 표시합니다.

    권한으로 Linux 찾기 예

    이것을 잘 사용하기 위해서는 리눅스 권한을 배워야 합니다.

    예제와 함께 Linux FIND 명령

    예제 파일에는 권한 775가 있는 파일을 제외하고 모두 권한 664가 있습니다. -perm 찾을 수 있는 옵션입니다.

    문서 찾기/ -name file-sample* -type f -perm 775

    예제와 함께 Linux FIND 명령

    Linux의 크기별 찾기 예

    크기별로 파일을 찾는 것은 하드 드라이브를 채우는 거대한 파일을 얻는 데 편리합니다. -size 옵션, 원하는 크기 및 다음 접미사 중 하나를 사용하십시오. 접미사를 사용하지 않으면 -size 기본값은 b입니다. . 특정 크기 이상의 파일을 찾으려면 크기 앞에 더하기 기호(+)를 붙입니다.

    M – 메가바이트

    G – 기가바이트

    k – 킬로바이트

    b – 블록(512바이트 – 기본값)

    c – 바이트

    w – 단어(2바이트 함께)

    -size +500k 찾기

    예제와 함께 Linux FIND 명령

    소유자별 Linux 찾기

    소유자별로 파일을 찾는 두 가지 방법이 있습니다. 하나는 소유자의 사용자 이름이고 다른 하나는 사용자 그룹입니다. 사용자 이름으로 찾으려면 -user를 사용하세요. 옵션 다음에 사용자 이름이 표시됩니다. 사용자 그룹별로 찾으려면 -group 을 사용하십시오. 뒤에 그룹 이름이 옵니다..

    찾기 -사용자 그룹 이름 또는 -user 사용자 이름 찾기

    예제와 함께 Linux FIND 명령 예제와 함께 Linux FIND 명령

    최근 수정한 예에 따른 Linux 파일 찾기

    지난 X일 동안 수정되거나 편집된 파일을 찾으려면 -mtime을 사용하세요. 숫자 다음에. 빼기 기호( ) 숫자 앞의 숫자는 지금까지 며칠 동안 변경된 사항을 찾을 수 있습니다. 더하기 기호(+ )는 지금으로부터 많은 일 이내를 의미합니다.

    find -name "file-sample*" -mtime +5(5일 이상 전)

    find -name "file-sample*" -mtime -5(5일 이내)

    예제와 함께 Linux FIND 명령

    마지막으로 수정한 시간(분)으로 찾으려면 -mmin 옵션을 사용하고 그 뒤에 분을 사용합니다. 위와 같이 +와 -를 사용합니다.

    -name "file-sample*" 찾기 -mmin -5

    -name "file-sample*" 찾기 -mmin +5

    예제와 함께 Linux FIND 명령

    마지막으로 액세스한 시간별 Linux 파일 찾기 예

    파일을 마지막으로 연 시간을 기준으로 파일을 찾는 데 사용되는 옵션은 -atime 입니다. 일 및 -am 동안 분 동안. 뒤로 돌아가서 + 및 - 기호를 보다 큼 및 미만으로 사용하려면 일 또는 분 수를 따르십시오.

    찾기 -name "file-sample*" -atime -5

    예제와 함께 Linux FIND 명령

    -name "file-sample* -amin -5 찾기

    예제와 함께 Linux FIND 명령

    FIND를 다른 Linux 명령과 결합

    grep 명령과 함께 find를 사용하는 위의 한 가지 예가 있으며 다른 많은 사람들과 함께 사용할 수 있습니다. find 및 기타 명령을 사용하면 매우 강력하고 시간을 크게 절약할 수 있음을 알 수 있습니다. 특정 유형의 파일을 삭제해야 한다고 상상해 보십시오. 파일 탐색기에서 검색하는 대신 올바른 명령을 내리기만 하면 몇 초 만에 완료됩니다. 이제 find 명령을 어떻게 사용하시겠습니까?