본문으로 바로가기
반응형

리눅스는 대부분 커맨드라인으로 작업을 하기 때문에 파일, 디렉토리 등을 찾는것을 명령어로 쉽게 찾을 수 있다.

 

파일 내용에서 검색

grep 명령어

grep [옵션] [패턴] [파일 이름]

[옵션] : 좀 더 디테일한 조건으로 찾을 때 쓰는 옵션

[패턴] : 찾고 싶은 내용을 입력, 일치하는 내용을 출력, 정규표현식 사용 가능

[파일 이름] : grep 명령어로 특정 내용을 검색할 파일을 지정한다.

ex) grep -i root /etc/passwd

 

다양한 옵션

-i : 대소문자 무시

-n : 줄 번호 표시

-v : 패턴을 제외한 내용만 출력

-w : 단어 단위로 검색

-c : 매칭되는 줄 수 표시 

-l : 매칭되는 패턴이 있는 파일 이름 출력

 

패턴 

정규 표현식 : 어떤 문자를 표현할 때 다양한 특수 문자를 이용해 표현하는 방식

^ : 줄의 시작을 지정 (해당 패턴이 줄의 시작인 경우 캡쳐) ex) ^root

$ : 줄의 마지막 지정 ex) root$

. : 한문자 대치 ex) r..t

*: 여러문자 대치 ex)r*

[] : 패턴 중 한 문자 일치 ex) [rR]oot

[^] : 패턴 중 제외할 문자 지정 ex) [^T]oot :: T를 제외한 oot 부분 출력

 

grep 명령어는 | 파이프라인 과 결합하여 쓰이는 경우가 훨씬 잦다

ex) cat /etc/passwd | grep root 

= etc 디렉토리 안에 있는 passwd 파일에서 root라는 단어가 들어간 행 출력

이런식으로 많이 쓰인다.

 

 

파일 또는 디렉토리를 검색할 때 사용하는 find 명령어

 

find [경로] [조건] [아규먼트] [행동]

[경로] : 어디를 기준으로 검색할 것인지 입력한다. 하위 디렉토리 까지 검색

[조건] : 어떤 조건으로 검색할 것인지 입력한다

- name : 이름으로 검색
- type : 파일의 타입으로 검색, 디렉토리는 d, 파일은 f
- perm : 권한으로 검색

아규먼트 : 조건에 맞는 값을 입력해준다.
행동 : 검색 결과를 어떻게 처리할 것인지 입력한다
- ls : 자세한 결과 출력 
- exec [명령어] {} \;
ex) find / -name file -exec rm -rf {} \;

반응형