파일 내용에서 특정 내용만을 찾고자 할떄 사용이 됩니다.
형태는 이와 같습니다.
grep [옵션] [패턴] [파일이름]예시는 이와 같습니다.
grep -i root /etc/passwd해당 예시의 설명은 이와 같습니다.
주로 사용되는 옵션은 이렇게 구성이 됩니다.
1. i
- 대소문자 무시
2. n
- 줄 번호 표시
3. v
- 해당 패턴을 제외한 내용을 출력
4. w
- 단어 단위로 검색
- 예를들어 패턴이 wo라면 work는 검색이 되지 않습니다.
5. c
- 매칭되는 줄 갯수를 표시
6. l
- 매칭되는 패턴이 있는 파일 이름을 출력
일반적인 옵션이 이와 같은데 해당 옵션에 추가적인 옵션을 제공 할 수도 있습니다.
제 개인적인 생각으로는 이러한 옵션만 추가적으로 적용하면 좋을 것 같습니다.
1. ^
- 첫번쨰로 찾는 패턴을 표시합니다.
- 예를들면
my name is root
your name is root
라는 글이 존재한다면 첫번쨰 my name is root만 확인이 됩니다.
사용법예시는 grep ^root 파일명 이와 같이 사용합니다.
2. $
- 반대로 마지막 줄의 패턴을 표시 합니다.
- 앞선 예시에서 your name is root가 표기가 되며
사용법 예시는 grep root$ 파일명 처럼 사용이 됩니다.
하지만 만약 저러한 옵션이 아니라 정말 특수문자를 찾아야 할떄에는 fgrep를 활용하면 저러한 특수 문자또한 단순한 문자로 처리해 줍니다.
grep는 특정 파일 내에서 어떠한 문자를 찾는 명령어 입니다.
이에 반해 find는 폴더 내에서 어떠한 파일을 찾는 명령어를 말합니다.
형태는 이와 같습니다.
find [경로] [조건] [아규먼트] [행동]예시는 이와 같습니다.
find / -name file -exec rm -rf {} \;
/ 루트 디렉토리를 의미하며, 시스템 내의 모든 파일을 의미하게 됩니다.
-name 조건을 의미하면 파일의 이름을 찾는다는 조건 입니다.
file 조건에서 검색할 파일의 이름 입니다.
-exec rm -rf 행동을 의미하며, 해당 행동은 찾는 모든 파일을 삭제한다는 의미 입니다.
{} \;는 단순한 규격입니다.
조건에는 다음과 같은 조건들이 있습니다.
1. -name
- 이름으로 검색
2. -perm
- 권한으로 검색
3. -user
- 소유자로 검색
4. -size
- 파일의 크기로 검색
5. -atime
- 파일의 마지막 접근 시간으로 검색
6. -mtime
- 파일의 마지막 수정 시간으로 검색
7. -type
- 파일의 타입으로 검색
- 디렉토리는 d, 파일은 f
행동에는 크게 두가지가 사용 됩니다.
1. -ls
- 찾은 파일의 자세한 결과를 출력
- 일반적으로 알고 있는 ls -al 처럼 출력 됩니다.
2. -exec [명령어]
- 검색한 파일을 특정 명령어를 실행하여 적용 합니다.
--- 예시 참고