파일 및 디렉토리 검색 명령어
디렉토리와 파일의 차이
여러 개의 파일들을 구분지어 보관하는 곳이 디렉토리(폴더)이다. 많은 파일들은 용도에 따라 구분되어 디렉토리에 저장되게 된다.
파일 내용에서 검색
grep
- grep [옵션][패턴] [파일이름]
- 옵션 : 좀 더 디테일한 조건으로 찾을 때 사용
- 패턴 : 찾고 싶은 내용 입력
- 파일이름 : grep 명령어로 특정 내용을 검색할 파일을 지정한다. ex) grep -i root/etc/passwd
- [옵션]
- -i : 대소문자 무시 ex) root란 글자 찾을 때, root Root RoOt ROot
- -n : 줄 번호 표시, 찾을 내용 몇번째 줄인지 표시
- -v : 패턴을 제외한 내용만 출력
- -w : 단어 단위로 검색
- -c : 매칭되는 줄 수 표시
- -ㅣ : 매칭되는 패턴이 있는 파일 이름 출력 ex) 특정 경로에 '' 붙이기 grep -l root/etc/
- 패턴
정규표현식 : 어떤 문자를 표현할 때 다양한 특수문자를 이용해 표현하는 방식
- ^ : 줄의 시작을 지정(해당 패턴이 줄의 시작인 경우 캡쳐) ex) ^root
- $ : 줄의 마지막 지정 ex) root$
- . : 한 문자 대치 ex) r..t / root reot reet raat
*
: 여러 문자 대치 ex) r* / r이 포함되어 있는 모든 문자
- [] : 패턴 중 한 문자 일치 ex) [rR]oot / root Root 찾아줌
- [^] : 패턴 중 제외할 문자 지정 ex)[^r]oot / root만 제외하고 찾아줌
fgrep
- fgrep [옵션][패턴][파일이름]
만약 문자에 특수문자가 포함된 경우 여러 특수문자들은 정규표현식으로 인식되기 때ㄴ에 해당 정규표현식의 기능으로 검색이 될 수 있다. 이런 경우 fgrep은 여러 특수문자들(*, $, ', " 등)을 단순한 문자로 인식해서 문서 내에서 해당 특수문자를 찾을 때 사용할 수 있다.
디렉토리 내에서 검색 명령어
find
- find [경로][조건][아규먼트][행동]
- [경로] : 어디를 기준으로 검색할 것인지 입력한다. 하위 디렉토리까지 검색
- [조건] : 어떤 조건(이름, 용량 등)으로 검색할 것인지 입력한다.
- [아규먼트] : 조건에 맞는 값을 입력해준다.
- [행동] : 검색 결과를 어떻게 처리할 것인지 입력한다, 행동은 굳이 입력하지 않아도 됨
- [조건]
- -name : 이름으로 검색
- -type : 파일의 타입으로 검색, 디렉토리는 d 파일은 f
- -perm : 권한으로 검색
- -user : 소유자로 검색
- -size : 파일 크기로 검색, +는 이상, -는 이하, 단위는 512 바이트, C 바이트, k 키로바이트, M 메가바이트, G 기가바이트
- -atime : 파일의 마지막 접근 시간으로 검색
- -mtime : 파일의 마지막 수정 시간으로 검색 / - : 해당 날짜 이내에 수정한 파일, + : 해당 날짜 이전에 수정한 파일
- [행동]
- ls : 자세한 결과 출력
- exec[명령어]{}₩; 검색할 파일을 특정 명령어로 실행
<참고>