파일 및 디렉토리 검색
1) 파일 내용 검색
(1) grep (Global Regular Expression Print) 패턴검색
◆ 파일 안 문자열 검색 /출력. (디렉토리는 검색불가!!)
◆ Regular Expression=RE, res(정규화 표현식)
◆ 원하는 글자가 있는 라인에 하이라이팅.
grep [option] <pattern> <file>
◆ [option]
◇ -n : 몇번째 글자열인지 출력
◇ -i : 대소문자 구별하지 않고 출력
◇ -w : 단어들만 출력 (문자열이 내포되어있는 것들은 제외) -W : ^word (word포함x)
◇ -v : 해당 문자열 제외하고 출력
◇ -R : 재귀, 하위 디렉토리
◇ -l : 해당 글자열 패턴이 있는 파일명 출력
◆ Meta Character(메타 문자) : 문자의 의미가 있다.
◇ [option]
▶ ^ : 시작 ex) grep user^ user~로 시작하는 문자열 찾기)
▶ $ : 끝 ex) grep sh$ ~sh로 끝나는 문자열 찾기)
▶ .. : 중간 ex) grep r..t r과 t 사이 문자 2개 있는 문자열 찾기)
▶ * (아스테리스크): 모든 파일을 의미.
아스테리스크는 앞글자가 없는 것도 포함이 됨.
ex1) grep -w r.*t passwd
ex2) r*t = t, rt, rXt, rXXt, ... , rXXXXXXXXXt
ex3) r.*t = rt, rXt, rXXt, ... , rXXXXXXXXXt
▶[^]: not (grep [^a-d]oot passwd //a~d까지 영단어를 제외하고 Xoot 문자열 검색)
▶ grep [abc]oot passwd
▶ grep [a-c]oot passwd (- : 범위)
▶ \s : 모든 공백(공백,탭,줄바꿈) 문자 출력 \S : ^공백
▶ \d : 숫자 있으면 출력 \D : ^숫자
▶ [ABC] : 문자집합 있으면 출력 [^ABC] : ^ABC ex) [aeiou] =>ga fe ci jo fu
▶ [A-Z] : 지정된 두 문자(포함) 사이 문자코드 출력 ex) [g-s] => ghijkrs
▶ . : 줄바꿈을 제외한 모든 문자와 일치
▶ \s\S : 줄바꿈 포함하여 모든 문자를 일치
▶ \p{L} : 지정된 유니코드 범주의 문자와 일치 ex) \p{안녕}
▶ \p{Han} : 지정된 유니코드 스크립트의 문자와 일치 ex) \p{한국어}
메타 문자(정규화 표현식) 사이트 (참고하면 좋아요)
https://regexr.com/
(2) egrep (Extended grep)
◆ ex) egrep 'bash|zsh' passwd
==> egrep '(ba|z)sh' passwd 로 줄이기 가능!!
문자 | 설명
-----------------------
x|y | x 또는 y
( ) | 그룹
(3) fgrep (Fixed grep)
◆ 메타 문자 의미를 해석하지 않음. 문자 그대로 해석
ex) fgrep 'etc/profile.d/*' bash
==> 문자열이 etc/profile.d/* 가 들어가있는 파일을 검색.
(4) pgrep (Process grep)
◆ 프로세스 찾기
kill 할 때, Process ID를 찾아서 해당 프로세스를 kill 할 수 있음
2) 파일 검색
◆ find <PATH> <OPTION> <ARGUMENT>
옵션 설명
-----------------------------
◇ -name 파일이름
◇ -type 파일형식
◇ -perm 권한
◇ -size 용량
◇ -atime 접근시간
◇ -user 소유자
◇ -ls 파일의 상세 정보 확인
◇ -type
□ d: 디렉토리
□ l : 심볼릭링크
□ f : 텍스트파일/실행파일
□ b: 블록장치
□ s: 소켓파일 (네트워크)
□ c: 문자장치 (원시(raw)장치)
□ p: 파이프 (Pipe)
'Linux' 카테고리의 다른 글
6. 사용자 및 그룹 관리 (0) | 2023.09.18 |
---|---|
5. Permission(권한) (0) | 2023.09.18 |
4. vi Editor(에디터) (0) | 2023.09.18 |
2. 디렉터리 및 파일 (0) | 2023.09.18 |
[Linux] 리눅스 기본 환경 (0) | 2023.09.18 |