LINUX
[11] 리눅스 - 파일 찾기(find,grep)
혀내
2022. 6. 15. 11:19
반응형
파일 찾기 - find
$ find 디렉터리 [-옵션]
find 명령어 : 옵션의 검색 조건에 따라 디렉터리 아래에서 해당되는 파일들을 모두 출력한다.
옵션
-name 파일이름
|
파일 이름에 대해 검색
|
-atime +n
|
접근 시간이 현재 기준으로 n일 넘게 지난 파일 검색
|
-atime -n
|
접근 시간이 현재 기준으로 n일 이내인 파일 검색
|
-mtime +n
|
수정 시간이 현재 기준으로 n일 넘게 지난 파일 검색
|
-mtime -n
|
수정 시간이 현재 기준으로 n일 이내인 파일 검색
|
-perm 000
|
파일 권한이 000인 파일 검색
|
-type x
|
파일 종류가 x인 파일 검색
|
-size n
|
크기가 n 이상인 파일 검색
|
-links n
|
링크 개수가 n인 파일 검색
|
-user 사용자이름
|
사용자 이름에 대해 검색
|
-group 그룹이름
|
그룹 이름에 대해 검색
|
-print
|
찾은 파일의 절대 경로명 출력
|
-ls
|
찾은 파일에 대해 ls -dils 실행 결과 출력
|
-exec cmd {}\;
|
찾은 파일에 대해 cmd 명령어로 동일한 작업 수행
|
※ -type 옵션에서 사용할 수 있는 파일 종류
- d(디렉터리)
- f(일반 파일)
- l(심볼릭 링크)
- b(블록 장치 파일)
- c(문자 장치 파일)
- s(소켓 파일)
예시)
$ find . -type d -perm 700 print
$ find . -name core -size +2048 -ls
파일 찾기 - grep
$ grep [-옵션] 패턴 파일
$ grep -w with you.txt
grep 명령어 : 파일들을 대상으로 지정된 문자열 패턴을 검색한 뒤, 패턴을 포함하는 줄들을 출력한다.
옵션
-i
|
대소문자를 무시
|
-l
|
해당 패턴이 들어있는 파일 이름을 출력
|
-n
|
각 줄 번호도 함께 출력
|
-v
|
패턴을 포함하지 않는 줄 출력
|
-c
|
패턴과 일치하는 줄의 수 출력
|
-w
|
패턴이 한 단어로 된 것만 검색
|
정규식
?
|
한 글자(또는 없음)
|
.
|
임의의 한 문자
|
*
|
바로 앞의 문자를 0번 이상 반복
|
[]
|
[] 사이의 문자 중 하나를 의미( - 로 범위 지정)
|
[^...]
|
[^ ] 사이 문자를 제외한 나머지 문자 중 하나
|
^,$
|
각각 줄의 시작과 끝을 의미
|
예시)
ab? | ab 또는 ab 다음에 한 글자가 오는 문자열 |
a...b | a로 시작해 b로 끝나는 5글자 문자열 |
a*b | b, ab, aab, aaab, ... 등의 문자열 |
[abc]d | ad, bd, cd를 뜻함 |
[a-z] | a부터 z까지 중 하나 |
[^abc]d | ad, bd, cd는 포함하지 않고 ed, fd 등은 포함 |
[^a-z] | 소문자가 아닌 모든 문자 |
^문자열 | 문자열로 시작하는 줄 |
문자열$ | 문자열로 끝나는 줄 |
$ grep 'st..'
$ grep -w 'st.*e' you.txt
+ 파이프( | )와 함께 사용할 수 있다
어떤 명령어를 실행한 결과에서 원하는 단어나 패턴을 찾고 싶을 때 grep과 사용한다.
$ ls -l | grep with
$ ps -ef | grep with
반응형