Linux

Linux - find, grep, pgrep

jaewoo 2023. 7. 9. 20:13

1. find

- find 명령어는 파일 및 디렉토리를 검색하는데 사용된다.

- 일반적인 사용법

find [경로] [조건] [동작]

경로 -> 경로 검색을 시작할 디렉토리 겨올이다. 기본적으로 현재 디렉토리에서 검색을 시작한다.
조건 -> 조건 파일 검색을 위한 조건이다. 예를 들어 '-name' 옵션을 사용하여 검색결과를 출력한다.
동작 -> 동작 검색 결과에 대한 동작을 지정한다. 일반적으로 -print 옵션을 사용하여 검색 결과를 출력한다.

find . -name "*.txt" -print

 

2. grep

- grep 명령어는 파일 내용에서 특정 패턴을 검색하는데 사용된다.

- 일반적인 사용법

 

옵션 종류

 -v 옵션은 지정된 패턴과 일치하지 않은 라인을 출력한다. 즉 패턴을 제외한 내용을 출력한다.

 -r 옵션은 디렉토리 내의 모든 파일에서 검색을 수행한다. 재귀적으로 하위 디렉토리까지 검색한다.

 -n 옵션은 일치하는 라인의 줄 번호를 함께 출력한다. 

grep -r "word" directory/ 
이런식으로 입력시 directory/ 디렉토리와 그 하위 데릭토리에서 word를 검색한다.

grep -r "test" 
현재 경로부터 하위까지 다 뒤진다. 그러고 경로와 어디 포함되었는지 출력된다.

 

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

옵션 -> 검색 동작을 지정하는 옵션이다. -i 옵션을 사용하여 대소문자를 구분하지 않도록 설정할 수 있다.
패턴 -> 검색할 문자열 패턴이다.
파일 -> 검색을 수행할 파일의 경로이다. 파일을 지정하지 않으면 표준 입력에서 검색한다.

grep "Hello" example.txt
이렇게 입력시 해당 라인을 출력한다.

find와 같이 사용하기

find word/ -type f | xargs grep -n 'dev'

word 디렉토리 안에 file 타입인 것들을 찾아 출력하고, 출력한 결과를 xargs로 받아서 dev 키워드를 검색한다.

3. pgrep

 - pgrep 명령어는 프로세스ID(PID) 기반으로 프로세스를 검색하는데 사용된다.

 - 일반적인 사용법

pgrep [옵션] [패턴]
pgrep -u woo

kill $(pgrep nginx)