ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 파일 및 문자열 검색
    리눅스 2022. 5. 25. 14:28

    조건에 맞는 파일 검색

     

     

    which는 어디에 있는지 알려주는 역할. 

     

    locate는 검색하려는 것을 데이터베이스에서 모두 긁어와서 보여줌

     

    find 는 조건을 달고 데이터베이스에서 일정 내용만 긁어오는 것.

     

    -mtime은 접근 시간 검색이 아니라 최근 파일 날짜 검색임

    예시

    ~] sudo find /etc -type f -mtime +7  

    ==> etc 파일에 일반파일중 7일 이내에 바뀐 내용 전부 출력

     

    ~] sudo find /tmp -user cloud -type f

    ==>tmp 파일 안에 cloud 유저가 생성한 일반파일 모두 출력

     

     

     

    - 어떤 디렉토리 안에 있는 많은 파일을 일일이 삭제할 수 있지만 한번에 처리할 수 있게 끔 하는 명령.

    => 삭제 또는 사용자 변경, 복사, 권한 변경 등 원하는 명령을 입히면 됨. 다만 -exec를 쓰면 명령 {} \; 은 세트임.

     

    예시

     

     

     

    문자열 패턴 검색

     

    - grep: 문자열 내에 이러이러한 패턴을 가진 문자열이 있나 찾아서 출력해주는 역할.

     

    예시

    ~] grep ^root /etc/passwd
    결과 => root:x:0:0:root:/root:/bin/bash

     

    ~] grep bash$ /etc/passwd (bash가 끝에있는 파일만 불러오기, bash가 마지막이라는 뜻은 로그인 할 수 있는 파일을 불러 오는 것)
    결과 =>root:x:0:0:root:/root:/bin/bash
           =>cloud:x:1000:1000:Cloud:/home/cloud:/bin/bash
               sky:x:1001:1002::/home/sky:/bin/bash
               sambauser:x:1002:1004::/home/sambauser:/bin/bash
               shlee:x:1003:1007::/home/shlee:/bin/bash

     

    - *은 안쓰는 것을 추천 괜히 헷갈리기만 함.

     

    ~] grep ^c....: /etc/passwd   (c로 시작해서 .은 아무 글자나 대응이기 때문에 4개의 인수를 가진 파일을 가져옴)
    ==> cloud:x:1000:1000:Cloud:/home/cloud:/bin/bash

     

    다중 패턴

    ~] grep -e ^cloud -e ^root /etc/passwd
    ==> root:x:0:0:root:/root:/bin/bash
    ==> cloud:x:1000:1000:Cloud:/home/cloud:/bin/bash

     

     

    대소문자 구분 없이 찾기 (ignore = 대소문자 무시)

    ~] grep -i user /etc/passwd

     

    문자열 패턴이 포함되어있는 파일의 이름만 출력

    grep -l -i linux /etc/*.conf

     

    문자열 패턴이 포함되지 않은 라인만 출력

    ~] grep -v bash$ /etc/passwd | more   (bash로 끝나는 애들이 아닌 것만 보여주세요)

     

    추가 예시

     

     

Designed by Tistory.