본문 바로가기
프로그래밍/LINUX

[LINUX 15일차] CentOS find & grep 명령어

by B T Y 2017. 4. 3.
반응형

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 둘다 사용이 가능하다.




반응형

댓글