>  기사  >  운영 및 유지보수  >  Linux에서 find와 grep의 차이점과 일반적인 명령 소개

Linux에서 find와 grep의 차이점과 일반적인 명령 소개

零下一度
零下一度원래의
2017-07-16 11:45:541667검색

find

기능: 디렉토리 구조에서 파일을 검색하고 지정된 작업을 수행합니다. 이 명령은 상당히 많은 검색 조건을 제공하며 매우 강력합니다.
구문: find 찾기 위치 파일 이름 일치
설명: find 명령은 지정된 시작 디렉터리에서 시작하여 해당 하위 디렉터리를 반복적으로 검색하고, 검색 조건에 맞는 파일을 찾아 관련 작업을 수행합니다.

grep

grep의 전체 이름은 Global Regular Expression Print입니다.
정규식을 사용하여 텍스트를 검색하고 일치하는 줄을 인쇄할 수 있는 강력한 텍스트 검색 도구입니다.
구문: grep은 string 파일 이름

과 일치합니다. Linux를 사용하면 파일을 검색해야 하는 경우가 많습니다. 주요 검색 명령에는 find 및 grep이 포함됩니다. 두 명령에는 차이가 있습니다.

  차이점:

(1) find 명령은 파일 이름, 파일 크기, 소유자, 그룹, 비어 있는지 여부, 액세스 시간, 수정 시간 등 파일의 속성을 기반으로 검색합니다. .是 (2) GREP는 파일의 내용을 기준으로 검색하며, 파일의 각 줄은 지정된 모드(Patter)에 따라 일치됩니다.  

1. 찾기 명령

  기본 형식: 찾기 경로 표현 

1. 파일 이름으로 검색

     (1)find / -name httpd.conf  #httpd.conf 파일 찾기 뿌리 디렉토리 , 전체 하드 디스크 검색을 의미합니다    (2)find /etc -name httpd.conf  #파일 httpd.conf

    (3)find /etc -name '*srm*'   #와일드카드 사용 *(0 또는 임의 숫자). 파일 이름에

'srm' 문자열이 포함된 /etc 디렉터리의 파일을 검색함을 나타냅니다.

    (4) find .-name 'srm*'    # 현재 디렉터리에서 파일 이름이 문자열로 시작하는 파일을 검색함을 나타냅니다. 'srm'

  2. 파일 특성에 따라 검색

    (1)find / -amin -10  # 시스템에서 최근 10분 동안 접근한 파일 찾기(접근 시간)

    (2)find / - atime -2     #Find in 파일 지난 48시간 동안 시스템에 액세스

   (3)find / -empty   # 시스템에 비어 있는 파일 또는 폴더 찾기

   (4)find / -group cat    #다음에 해당하는 파일 찾기 시스템의 그룹 cat에 속합니다

   (5)find/-mmin -5 #시스템에서 지난 5분 동안 수정된 파일 찾기(수정 시간)

    (6)find/-mtime -1  #수정된 파일 찾기 지난 24시간 동안 시스템 Files

    (7)find/-user fred  #시스템에서 fred 사용자에게 속한 파일 찾기

    (8)find/-size +10000c   #10000000바이트보다 큰 파일 찾기(c : 바이트, w :더블 워드, k:KB, M:MB, G:GB)

    (9)find / -size -1000k  #1000KB 미만의 파일 찾기

  

 3. 혼합 검색 방법을 사용하여 파일 찾기

매개변수는 다음과 같습니다: ! ,-및(-a),-또는(-o).    (1)find /tmp -size +10000c -and -mtime +2   # /tmp 디렉터리에서 10000바이트보다 크고 지난 2분 이내에 수정된 파일을 찾습니다.

                                     /tmp -user fred -or -user george   # 사용자가 fred 또는 george인 / 디렉토리에서 파일 찾기

     (3)find /tmp ! -user panda         

  

2. grep 명령


기본 형식: 표현식 찾기 1. 주요 매개변수

[옵션] 주요 매개변수:

  -c: 일치하는 라인의 개수만 출력합니다.
  -i: 대소문자를 구분하지 않음
  -h: 여러 파일을 쿼리할 때 파일 이름이 표시되지 않습니다.
  -l: 여러 파일을 쿼리할 때 일치하는 문자가 포함된 파일 이름만 출력됩니다.
  -n: 일치하는 줄과 줄 번호를 표시합니다.
   -s: 존재하지 않거나 일치하는 텍스트가 없는 오류 메시지를 표시하지 않습니다.
   -v: 일치하는 텍스트가 포함되지 않은 모든 줄을 표시합니다.

  Pattern정규식주요 매개변수:

  : 정규식에서 특수문자 의 원래 의미를 무시합니다.
  ^: 정규식의 시작 줄과 일치합니다.
  $: 정규 표현식의 끝 줄과 일치합니다.
  <: 정규식과 일치하는 줄부터 시작합니다.
  >: 정규식과 일치하는 줄의 끝까지.
  [ ]: [A]와 같은 단일 문자, 즉 A가 요구 사항을 충족합니다.
  [-]: [A-Z]와 같은 범위, 즉 A, B, C ~ Z가 모두 요구 사항을 충족합니다.
  .: 모두 단일 문자입니다.
  *: 문자가 있으며, 길이는 0이 될 수 있습니다.

  2. 예

  (1) grep 'test' d*  # d

  (2)grep 'test' aa bb cc   # aa, bb, 다음을 포함하는 줄로 표시 cc 파일에서 테스트

  (3)grep '[a-z]{5}' aa #각 줄에 5개 이상의 연속된 소문자가 포함된 문자열을 포함하는 모든 줄 표시

  (4)grep Magic / usr/src #표시 매직 라인이 포함된 /usr/src 디렉터리(하위 디렉터리 제외)에 있는 파일

  (5)grep -r Magic /usr/src #/usr/src 디렉터리(하위 디렉터리 포함)에 있는 파일 표시 ) 매직 라인이 포함된 라인

  ( 6)grep -w 패턴 파일: 문자열의 일부가 아닌 전체 단어만 일치합니다(예: 'magic'이 아닌 'magic' 일치),

위 내용은 Linux에서 find와 grep의 차이점과 일반적인 명령 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.