-
리눅스 파일 및 문자열 검색리눅스 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로 끝나는 애들이 아닌 것만 보여주세요)
추가 예시
'리눅스' 카테고리의 다른 글
리눅스 네트워크 구성과 네트워크 기본 도구 (0) 2022.05.26 리눅스 프로세스 모니터링과 예약관리 (0) 2022.05.26 리눅스 파일 다루기(2) (0) 2022.05.26 리눅스 프로세스 (0) 2022.05.25 리눅스 파일 권한 다루기 (0) 2022.05.25