작가:
Ellen Moore
창조 날짜:
17 1 월 2021
업데이트 날짜:
29 6 월 2024
![Linux에서 파일이나 디렉토리를 검색하기 위한 find 사용 방법](https://i.ytimg.com/vi/Mk1i5VrKTYc/hqdefault.jpg)
콘텐츠
방법을 모르는 경우 Linux 시스템에서 파일을 찾는 것은 매우 어렵습니다. 터미널에 입력된 다른 명령을 사용하는 것이 가장 좋습니다. 이러한 명령을 마스터하면 파일을 완전히 제어할 수 있습니다. 또한 이러한 명령은 다른 운영 체제의 유사한 검색 엔진보다 더 기능적입니다.
단계
방법 1/3: 찾기 유틸리티
1 이름으로 파일을 찾습니다. 이러한 간단한 검색은 유틸리티를 사용하여 수행됩니다. 찾기... 아래 명령은 현재 디렉토리와 모든 하위 디렉토리에서 파일을 검색합니다.
-iname "파일 이름" 찾기
- 입력하다 -이름 대신에 -이름입력한 파일 이름의 대소문자를 무시합니다. 팀 -이름 대소문자를 구분합니다.
2 루트 디렉토리에서 검색을 시작하십시오. 시스템 전체 검색을 시작하려면 쿼리에 한정자를 추가하세요. /... 이 경우 명령 찾기 루트에서 시작하여 모든 디렉토리에서 파일을 검색합니다.
찾기 / -이름 "파일 이름"
- 특정 디렉토리에서 검색을 시작할 수 있습니다. 이렇게 하려면 교체 / 예를 들어 디렉토리 경로에 / 홈 / 최대.
- 사용할 수 있습니다 . 대신에 /현재 디렉토리와 그 하위 디렉토리에서만 파일을 검색합니다.
3 일반화 기호를 사용합니다.*요청의 일부와 이름이 일치하는 파일을 찾습니다. 일반화 기호 사용 * 전체 이름을 알 수 없는 파일을 찾거나 특정 확장자를 가진 모든 파일을 찾을 수 있습니다.
/ 홈 / 최대 이름 찾기 " *. conf"
- 이 명령은 Max 사용자 폴더(및 해당 하위 폴더)에서 확장자가 .conf인 모든 파일을 찾습니다.
- 이 명령을 사용하여 쿼리의 일부와 일치하는 모든 파일을 찾습니다. 예를 들어 컴퓨터에 WikiHow 관련 파일이 많은 경우 다음을 입력하여 모든 파일을 찾습니다. " * 위키 *".
4 검색 결과를 더 쉽게 관리할 수 있습니다. 검색 결과가 너무 많으면 원하는 파일을 찾기가 어렵습니다. 기호 사용 |더 적은 수로 검색 결과를 필터링합니다. 이렇게 하면 검색 결과를 더 쉽게 보고 필터링할 수 있습니다.
/ 홈 / 최대 -iname 찾기 " *.conf" | 더 적은
5 특정 항목을 찾습니다. 수식어를 사용하여 검색 결과에 특정 항목만 표시합니다. 일반 파일(NS), 디렉토리(NS), 심볼릭 링크(엘), 문자 I/O 장치(~와 함께) 및 블록 장치(NS).
찾기 / -유형 f -이름 "파일 이름"
6 파일 크기별로 검색 결과를 필터링합니다. 컴퓨터에 비슷한 이름의 파일이 많이 있지만 찾고 있는 파일의 크기를 알고 있는 경우 파일 크기별로 검색 결과를 필터링합니다.
찾기 / -크기 + 50M -이름 "파일 이름"
- 이 명령은 50MB보다 큰 모든 파일을 찾습니다. 수정자 사용 + 또는 -크기의 증가 또는 감소를 나타냅니다. 만약 수정자가 + 또는 - 아니요, 명령은 지정된 크기와 정확히 같은 크기의 파일을 찾습니다.
- 검색 결과는 바이트(씨), 킬로바이트(케이), 메가바이트(중), 기가바이트(G) 또는 512바이트 블록(NS). 표시된 수정자는 대소문자를 구분합니다.
7 논리 연산자(부울 연산자)를 사용하여 검색 필터를 결합합니다. 연산자를 사용할 수 있습니다 -그리고, -또는, -아니다다른 검색어를 단일 쿼리로 결합합니다.
찾기 / 여행 사진 -유형 f -크기 + 200k -이름이 아님 " * 2015 *"
- 이 명령은 "Travelphotos" 폴더에서 200KB보다 크고 이름에 숫자 2015가 없는 파일을 찾습니다.
8 소유자 또는 권한별로 파일을 찾습니다. 특정 사용자가 소유한 파일이나 특정 액세스 권한이 있는 파일을 찾아야 하는 경우 검색 범위를 좁힐 수 있습니다.
/ -user max -iname "파일 이름" 찾기 / -그룹 사용자 -iname "파일 이름" 찾기 / -perm 777 -iname "파일 이름"
- 위의 명령은 특정 사용자, 그룹 또는 특정 액세스 권한이 있는 파일을 찾습니다. 쿼리에서 파일 이름을 생략하여 지정된 기준과 일치하는 모든 파일을 찾을 수도 있습니다. 예를 들어, 명령 찾기 / -perm 777 권한이 777(무제한)인 모든 파일을 찾습니다.
9 파일 검색이 완료된 후 명령을 결합하여 특정 작업을 수행합니다. 팀 찾기 발견된 파일을 처리할 다른 명령과 결합할 수 있습니다. 이를 위해 팀 간에 찾기 두 번째 명령으로 Enter -실행그리고 줄 끝에 입력 {} ;
찾기. -유형 f -perm 777 -exec chmod 755 {} ;
- 이 명령은 현재 디렉터리(및 하위 디렉터리)에서 권한이 777인 모든 파일을 찾은 다음 다음 명령을 사용합니다. chmod 접근 권한이 755로 변경됩니다.
방법 2/3: 유틸리티 찾기
1 유틸리티를 설치합니다.위치하고 있다... 이 유틸리티는 유틸리티보다 빠릅니다. 찾기파일 시스템을 실제로 스캔하지 않기 때문입니다. 그러나 모든 Linux 배포판에 유틸리티가 제공되는 것은 아닙니다. 위치하고 있다따라서 다음 명령을 입력하여 설치하십시오.
- 입력하다 sudo apt-get 업데이트 그리고 누르다 ↵ 입력.
- Debian 및 Ubuntu에서 다음을 수행합니다. sudo apt-get 설치 mlocate 그리고 누르다 ↵ 입력... 만약에 위치하고 있다 이미 설치되어 있는 경우 메시지가 표시됩니다. mlocate는 이미 최신 버전입니다. (최신 버전이 설치됨).
- Arch Linux에서는 pacman 패키지 관리자를 사용합니다. 팩맨 -Syu mlocate
- 젠투에서는 다음을 사용하십시오: 이머징 mlocate
2 유틸리티 데이터베이스를 업데이트합니다.위치하고 있다... 이 유틸리티는 이전에 생성 및 업데이트된 데이터베이스(파일 시스템의 스냅샷 모양을 저장함) 없이는 아무 것도 찾을 수 없습니다. 데이터베이스는 자동 모드에서 매일 업데이트되지만 수동으로 수행할 수도 있습니다. 즉시 작업을 시작하려면 데이터베이스를 수동으로 업데이트하십시오. 위치하고 있다.
- 입력하다 sudo 업데이트됨 그리고 누르다 ↵ 입력.
3 사용.위치하고 있다간단한 검색을 수행합니다. 공익 사업 위치하고 있다 빠르게 작동하지만 유틸리티만큼 기능적이지는 않습니다. 찾기... 팀 위치하고 있다 명령과 유사하게 간단한 검색 쿼리를 처리합니다. 찾기.
-i " *.webp"를 찾습니다.
- 이 명령은 (전체 시스템에서) 확장자를 가진 모든 파일을 찾습니다. .webp... 여기서 일반화 기호 * 팀과 동일하게 작동 찾기.
- 팀처럼 찾기, 수정자 -NS 검색어의 대소문자를 무시합니다.
. 4 검색 결과의 수를 제한합니다. 검색 결과가 너무 많으면 수식어로 줄입니다. -NS 및 표시되는 검색 결과의 수를 결정하는 숫자.
-n 20 -i " *.webp" 찾기
- 이 명령은 검색어와 일치하는 처음 20개의 결과를 표시합니다.
- 기호를 사용할 수도 있습니다. |더 적은 수로 검색 결과를 필터링합니다. 이렇게 하면 검색 결과를 더 쉽게 볼 수 있습니다.
방법 3/3: 파일에서 텍스트 찾기
1 명령을 사용합니다.그렙파일에서 텍스트를 검색합니다. 특정 구 또는 행이 포함된 파일을 찾으려면 이 작업을 수행하십시오. 기본 명령 형식 그렙 다음과 같이:
grep -r -i "검색 쿼리" / 경로 / 대상 / 디렉토리 /
- 수정자 -NS 검색을 재귀적으로 만들므로 검색어의 문자열을 포함하는 모든 파일은 현재 디렉터리(및 모든 하위 디렉터리)에서 찾을 수 있습니다.
- 수정자 -NS 요청이 대소문자를 구분하지 않음을 나타냅니다. 대소문자를 구분하려면 수정자를 입력하지 마십시오. -NS.
2 초과 텍스트를 숨깁니다. 명령을 실행할 때 그렙 (위에서 설명한 대로) 검색 쿼리에 지정된 강조 표시된 구문 또는 문자열이 있는 파일 이름과 텍스트가 화면에 표시됩니다. 이러한 텍스트를 숨겨 파일 이름과 경로만 표시할 수 있습니다. 이렇게 하려면 다음 명령을 입력하십시오.
grep -r -i "검색 쿼리" / 경로 / 대상 / 디렉토리 / | 컷 -d: -f1
3 오류 메시지를 숨깁니다. 팀 그렙 적절한 권한 없이 폴더에 액세스하려고 하거나 빈 폴더로 끝나는 경우 오류 메시지를 표시합니다. 이러한 메시지는 화면에 나타나지 않도록 /dev/null로 보낼 수 있습니다.
grep -r -i "검색 쿼리" / 경로 / 대상 / 디렉토리 / 2> / dev / null