CentOS find & grep 명령어에 대해서 정리한다.
※ find & grep
1. find
- 특정 파일을 검색 할 때 사용한다.
( 해당 경로 제일 하위까지 모두 검색한다 )
- 옵션은 여러개 중첩해서 사용 할 수 있다.
- find <path> <option> ...
-name <value>
#>find /etc -name "passwd"
-print 검색한 내용을 이름만 보는 방식
#>find /etc -name "passwd" -print
( -print 옵션은 기본값으로 설정 되있어서 적어주지 않아도 똑같이 출력 된다 )
-ls 검색한 내용을 자세히 보는 방식
#>find /etc -name "passwd" -ls
-delete 검색한 내용을 삭제
#>find /etc -name "passwd" -delete
-empty 검색한 내용 중에서 비어있는 파일만 보여주는 방식
#>find /etc -name "passwd" -empty
-type <value> : 해당 타입만 출력한다.
-type d 디렉터리 파일
-type f 일반 파일
-type l 링크 파일
-type b 장치 파일
ex) #>find /root -name "test" -type d -ls
( /root에서 이름이 test인 디렉터리 파일을 자세히 본다 )
* 파일은 이 외에도 종류가 더 있지만 위에는 자주 쓰이는 것들이다.
-exec <command> {} \;
#>mv 찾은파일 /tmp
#>find /root -name "test" -type f -exec mv 찾은파일 /tmp \;
* -exec를 사용할때는 항상 \;로 끝내준다.
* {} 안에는 찾은 파일들이 들어간다.
( -type과 -exec 옵션을 이용해서 이름이 test인 파일을 찾아서 삭제한걸 볼 수 있다 )
-size n ( +n | n | -n )
#>find /etc -size 2535c ( c는 바이트 단위를 나타낸다 )
* n에 붙는 +, -는 n보다 크기가 크거나 작은걸 찾을때 사용한다.
( find 명령어에 -size 옵션을 이용해서 /etc 디렉터리 안에 있는 2535바이트 파일을 찾았다 )
-user <user_name>
-group <group_name>
-perm <octal> : 해당 권한을 가지고 있는 모든 파일을 찾는다.
( -perm을 이용해 /home 디렉터리 안에 권한이 700인 파일들을 찾았다 )
* 권한을 표시하는 octal앞에 - 를 붙여주면 해당 설정 권한이 모두 있는 파일들을 전부 출력한다.
ex) #>find /home -perm -700 -ls
( 파일 권한 중에 소유자 권한이 rwx만 만족한다면
그룹권한과 다른 사용자 권한은 상관하지 않고 모두 출력한다 )
-atime n : n일 이전에 접근한 파일
( 하루가 지나거나 내용이 수정 되었을때 접근 시간이 바뀐다 )
-mtime n : n일 이전에 내용이 수정된 파일
-ctime n : n일 이전에 속성이 수정된 파일
( stat 명령어를 이용해서 파일을 확인하면 atime, mtime, ctime을 확인 할 수 있다 )
* 하루 이전은 n앞에 -를 붙여주고 하루 이후는 부호를 붙이지 않는다.
-inum n : 아이노드를 이용해서 검색하는 방법
( 위에 stat file1에서 확인 해보면 file1의 아이노드가 위와 같기 때문에
아이노드를 이용해 file1을 찾았다 )
2. grep
- 파일에서 내용으로 검색한다.
-r <value> 기본값으로 -r을 빼도 똑같은 결과가 나온다.
-c <value> 해당 value 값이 들어간 라인 수를 출력한다.
-i <value> 대소문자 상관없이 검색한다.
-n <value> 해당 value의 줄번호와 같이 출력된다.
-v <value> 해당 value가 들어가있지 않은 라인만 출력한다.
* 옵션을 중첩 사용은 -i -n이나 -in 둘다 사용이 가능하다.
'프로그래밍 > LINUX' 카테고리의 다른 글
[LINUX 17일차] CentOS 특수권한(SETUID, SETGID, Sticky Bit) / 프로세스 관리(포그라운드, 백그라운드) (0) | 2017.04.03 |
---|---|
[LINUX 16일차] CentOS 정규표현식 / 링크파일(i-node,하드링크파일, 소프트링크파일) (0) | 2017.04.03 |
[LINUX 14일차] CentOS 패키지 관리(wget, rpm, yum) (0) | 2017.04.03 |
[LINUX 13일차] CentOS 백업과 복구(전체 백업, 전체 복구 / 증분 백업, 증분 백업 복구 / 복구 디렉터리 위치 지정) (0) | 2017.03.28 |
[LINUX] Kali 2.0 한글 깨짐 해결 / 한글 자판키 사용 방법 (0) | 2017.03.27 |
댓글