Sever/Linux Command
[Linux] CentOS 19. 파일 검색, 패턴 검색 ( find, grep )
곰시기
2020. 11. 3. 12:39
- 파일 및 디렉터리 검색 - find
- # find [경로] [옵션 / 정규식] [파일명]
- 현재 디렉토리부터 하위 디렉터리까지 주어진 조건을 가지고 탐색하여 결과를 출력해주는 명령어
- 접근 제한된 파일까지 탐색하지는 않음
- 옵션
옵션 설명 -name 주어진 이름의 파일이나 디렉토리를 찾는다 -user 지정한 사용자의 파일이나 디렉토리를 찾는다 -group 지정한 그룹 소유의 파일이나 디렉토리를 찾는다 -uid 지정한 UID 소유의 파일이나 디렉토리를 찾는다 -gid 지정한 GID 소유의 파일이나 디렉토리를 찾는다 -perm 지정한 퍼미션 값을 가진 파일이나 디렉토리를 찾는다 -type 지정한 파일 유형만 찾는다
d : 디렉토리, f : 일반 파일, l : 링크 파일, b : 블록 디바이스, c : 캐릭터 디바이스,
p : 파이프 디바이스, s : 소켓 파일-atime n +n : n보다 오래된 파일
-n : n일부터 지금까지 접근한 파일-ctime n change time 기준 탐색 ( meta data 변경기준 ) -mtime n modify time 기준 탐색 ( 내부내용 수정 기준 ) -mmin n time과 다르게 일이 아니라 분단위 기준 -empty 빈 파일을 탐색 -exec 찾아진 파일과 연계하여 명령을 내리는 옵션 결과는 {} 로표시 \;로 마무리 -ls ls -l과 같은 의미 -size n +n은 n보다 큰 파일 -n은 작은 파일 -inum n node번호가 n인 파일 -iname 대소문자 구분없이 이름으로 탐색 -maxdepth n 현재 디렉토리 기준 n 깊이까지만 탐색 -mindepth n 현재 디렉토리에서 n깊이에 있는 디렉터리부터 하위 디렉터리 탐색 -prune 찾은 결과 중 디렉토리 해당되면 그 이름만 출력 하위 탐색 안 함 -newer 해당 옵션 뒤에 적힌 파일보다 최근에 변경된 파일만 탐색 ( 내용 ) -cnewer 해당 옵션 뒤에 적힌 파일보다 최근에 변경된 파일만 탐색 ( 파일 상태 ) 2>dev/null 탐색 명령 맨 마지막에 추가 시 퍼미션 디나이드 에러 출력 안 함 - 기타
- 연산자, 추가 명령 등 참조 : webdir.tistory.com/155
- # find [경로] [옵션 / 정규식] [파일명]
- 특정 문자열 탐색 - grep
- # grep [옵션] [정규식] [파일]
- 단순 문자열 매칭이 아닌 정규식을 이용한 패턴 매칭
- 옵션 ( 정규표현식 )
옵션 설명 -E 패턴을 정규 표현식으로 확장 -F 패턴을 분리된 문자열로 설정 -G 기본 정규식 패턴 -P perl 기본 정규식 패턴 -e 다음 패턴을 정규식으로 사용 -f 파일로부터 패턴을 포함 -i 대소문자 구분하지 않음 -w 패턴이 전체 단어와 일치하는 행만 탐색 -x 해당 라인과 일치하는 문자열만 탐색 -z 데이터가 null이면 newline하지 않음 - 옵션 ( 기타 기능 옵션 )
옵션 설명 -s 오류 메시지 출력 안 함 -v 불일치 라인을 출력 - 옵션 ( 출력 제어 옵션 )
옵션 설명 -m NUM 만큼 일치되면 종료 -b 해당 라인의 offset byte 함께 출력 -n 라인 번호를 출력 -H 매치되는 파일명을 출력 -h 해당 파일명 출력하지 않음 -o 패턴과 일치하는 라인의 일부만 표시 -q 모든 출력을 하지 않음 -a --binary-files = text와 동일 -I --binary-files = without-match와 동일 -d 디렉터리 제어 설정 'read', 'recurse', 'skip' -D 디바이스 제어 설정 'read', 'skip' -r 하위 디렉터리까지 탐색 -R ? -L 불일치하는 파일명만 출력 -l 일치하는 파일명만 출력 -c 파일의 일치하는 라인 수를 출력 -T 탭을 정렬 -Z 파일명이 null인 것만 출력 - 옵션 ( 텍스트 제어 옵션 )
옵션 설명 -B 선행 컨텍스트만 출력 -A 후행 컨텍스트만 출력 -C 해당 라인만 출력 -NUM -C와 같음
- # grep [옵션] [정규식] [파일]