### egrep 정규 표현식
 # [ac] : a또는 c를 찾겠다.
 # [^ac] : a또는 c가 아닌것을 찾겠다.
 # [b-d] : b 또는 c 또는 d를 찾겠다.
 # [&b-d] : b에서 d가 아닌것을 찾겠다.
 # ^[ac] : 행에 처음에 a또는 c인것을 찾겠다.
 # ^[a-c] : 행에 처음이 a부터 c까지인것을 찾겠다.
 # [ac]$ : 행에 끝이 a또는 c인것을 찾겠다.
 # [a-c]& : 행에 끝이 a부터 c까지인것을 찾겠다.
 # "\<a" : 단어의 시작이 a인것을 찾겠다

 # "x{3,}" : x가 3개이상인것을 찾겠다 
 # "x{3,5}" : x라는 문자가 3번~5번 연속되는것을 찾겠다.
 # "x{,3}" : x라는 문자가 0번~3번 연속되는것을 찾겠다. (x가 없는것도 매칭됨)
 # "x{3}" : x라는 문자가 3번 연속되는것을 찾겠다. xxxxxx포함
 # "x+" : x라는 문제가 1번이상 연속되는것을 찾겠다.
 # "n?" : n이라는 문자가 없거나 1번 있는것을 찾겠다. (n이 두번이상이면 노매칭)
 # "Hello{3}" : Hello가 3번연속 됨이 아님. Hello이라는 문제가 세번 반복된다라는 의미
 # "(Hello){3} : Hello라는 단어가 3번 연속되는것을 찾겠다
 # "H|o" : H또는 o라는 문자를 찾겠다.
 # "x*" : x라는 문자가 0개이상 있는것을 찾겠다.
 
 # "[acegi]" <==> "a|c|e|g|i" 같은뜻
 # "x?"없거나 한개 "x*"0개 이상

 ###문제
 # "Apple.*Peach" : 한행에 Apple과 Peach과 모두 들어갔을때만 출력
 # "(Apple.*Peach)|(Peach.*Apple)" : 순서가 뒤바뀌어도 모두 출력할수 있게

 # 특수문자 : ~!@#$%^&*()_+|
 # 메타문자 : 특수문자 중에 특수한 기능을 가지고 있는 문자를 메타문자라고함
  > : 좌항에 명령어의 결과를 우항에 지정한 파일에 내용을 넣어줌. 메타문자중 하나.
  < : 우항에 있는 파일에 내용을 좌항에 명령어한테 전달하는 기능. 메타문자중 하나.

 # 이스케이프 처리 : 메타문자의 특수한 기능을 제거하는 것을 이스케이프 처리라고함.
 # egrep에서 <,> 기호를 사용하는데, 이 기호는 사용하기

 # / 오른쪽 문자를 이스케이프 처리하게 됨

'Linux' 카테고리의 다른 글

Linux_12  (0) 2017.09.17
Linux_11  (0) 2017.09.17
Linux_09  (0) 2017.09.17
Linux_08  (0) 2017.09.17
Linux_07  (0) 2017.09.17

 # tail 명령어의 옵션 f를 사용하면 지정한 파일에 내용 변경을 실시간으로 확인할 수 있다.
 # tail 명령어의 옵션 f를 사용해서 주로 로그파일을 실시간으로 모니터링을 거는 경우가 많이 발생함.


 # 로그파일 : 운영체제가 가동되면서 문제가 발생했을때 무슨 문제가 언제 어떻게 왜 발생 했는지를
   기록하는 파일을 로그파일이라고 함.
 # 로그파일은 운영체제 외에도 일반 프로그램들도 프로그램에 문제를 파일에 기록함.
 # 로그파일을 기록하는 목적은 운영체제 또는 프로그램이 가동 중에 문제가 왜 생겼는지를
    파악하기 위한 중요한 수단이 됨.


 # echo 작성한 내용을 shell 에 바로 출력함. (예 : echo asdfasdf >> test1 )


 # egrep 명령어를 통해서 파일에 내용을 검색할 수 있음
    (예 : egrep 검색할 문자열 대상)
    ( egrep hello ./* ) ( egrep hello ./test* )
 # egrep 명령어는 기본적으로 검색하는 문자열이 검색되어져 나오면 그 문자열이 있는 행을 출력함.
 # egrep 명령어는 검색어 대소문자를 엄격히 구분함.
 # egrep 명령어는 하위에 디렉터리에 있는 파일을 대상으로 찾지는 않음
 # egrep 명령어는 기본적으로 검색하는 문자열이 단어 자체이건 단어에 일부이건 매칭되면 출력
 

 ## egrep 옵션 명령어 ##
 # -c : 검색 문자열의 갯수를 표시함. 단 행의 갯수로 표시. 같은행에 검색 문자열 2개면 1개로 나옴
 # -n : 검색하는 문자열이 들어가있는 행을 행 번호와 함께 출력함
 # -i : 검색어를 대소문자 구분없이 검색함
 # -l : 검색하는 문자열이 파일에 몇개가 들어가있건 한개라도 들어가 있으면
       그 파일의 이름을 출력함.
 # -r : 하위 디렉터리에 있는 파일도 모두 찾아줌
 # -v : 지정한 문자열이 안 들어간 행을 출력
 # -w : 지정한 문자열이 단어자체일때만 출력함. 띄어쓰기당 한 단어
 # -x : 지정한 문자열이 행자체 일때만 출력.
 # -o : 지정한 문자열이 매칭되면 매칭 된 그 문자열만 출력함.
          즉, 매칭 된 행 전체를 출력하지 않음
 # --color=never : 검색된 문자열을 하이라이트 시키지 않고 출력
 # --color=always : 반대로 하이라이트 시켜라


 ## egrep의 정규표현식 ##
 # ^Hello <- 행에 시작이 Hello인 것을 출력함 
 # Hello$ <- 행에 마지막이 Hello인 것을 출력함
 # Hello.Hello <- Hello 사이에 아무문자(띄어쓰기포함) 1개를 포함해서 출력
 # Hello..Hello <- Hello 사이에 2개 포함 출력


 # | <-- 좌측 명령어의 출력 결과를 대상으로 우측 명령어를 수행함
  (예 : ip address show | egrep inet )
  : ip정보 출력결과로 egrep 명령어를 수행해라. inet 문자열 검색

 

'Linux' 카테고리의 다른 글

Linux_11  (0) 2017.09.17
Linux_10  (0) 2017.09.17
Linux_08  (0) 2017.09.17
Linux_07  (0) 2017.09.17
Linux_06  (0) 2017.09.17

 # Shell은 프로그래밍 언어 c
 # Shell : 사용자가 입력한 명령어를 커널이 이해할 수 있는 언어로 바꿔서 커널한테 전달함..
   
   사용자 -> Shell -> 커널 -> 하드웨어

 # 커널 : Shell이 전달한 기계어를 받아서 전달 된 작업을 처리하는데, 하드웨어를 제어해서
  전달 받은 기계어에 따라 작업을 처리하게 됨. 

 # 운영체제의 핵심은 커널임. 하드웨어를 제어하기 때문에 커널은 운영체제에서 가장 중요함

 # Shell
  - GUI Shell : 마우스 입력 값을 받아다ㅏ 처리하게됨
  - CLI Shell : 키보드로 입력한 문자열을 받아서 처리하게됨


 # CHI Shell의 종류가 BashShell, 콘쉘, 씨쉘 등등 종류가 매우 다양함.
   그중에 CentOS7을 설치하면 BashShell이 기본적으로 사용되어지게 됨.

 # 가상 터미널 : Shell을 여러개 실행할 수 있게 해줌.

 # 가상 터미널 : Ctrl + Alt + (F1~F6)
 # X터미널 : Ctrl + Alt +F7

 # 가상 터미널을 많이 열면 부하가 증가함
 
 # 가장 터미널을 종료시킬 때 는 exit 명령어를 사용함

 # hostname > korea > hostname 명령어의 출력 결를
     korea 파일에 내용으로 넣겠다

 # > : 좌측 명령어의 실행한 결과를 우측에 지정한 파일에 내용으로 덮어쓰기! 하게됨

 # >> : 좌측 명령어의 실행한 결과를 우측에 지정한 파일에 내용으로 추가! 하게됨

 # > 나 >>를 사용해서 명령 결과를 파일에 내용으로 삽입시킬 때 지정한 파일이 없으면
   만들고 내용으로 삽입하게됨.

 # >나 >>를 스크립트라는 것을 만들 때 유용하게 사용되게 됨

 # history 명령어는 여태까지 사용했던 명령어를 보여달라는 것임. 1000개까지 저장됨

 # 히스토리는 서버를 운영하다가 문제가 발생했을 때 내가 이전에 무슨 명령어를 수행해서
   문제가 발생 했는지 찾아내기 위한 용도로 사용 됨.

 # history -c : 기록 된 히스토리를 전부 삭제
 
 # /root/.bash_history 파일 : 히스토리를 저장하는 파일

 # Shell에서 명령어를 사용할 때 사용한 명령어를 RAM에다가 저장하게 됨
   컴퓨터를 종료할 때 RAM에 저장한 히스토리를 HDD로 저장하게 됨.
   즉, 컴퓨터를 종료할 때 .bash_history파일에 내용으로 저장을 진행하게 됨.

 # history -c 이 명령어는 RAM에 저장 된 히스토리를 삭제하는 명령어임..
   이 명령어가 bash_history 파일에 저장 된 히스토리를 삭제하지 않음.

 # 컴퓨터가 부팅이 될 때 .bash_history에 저장 된 히스토리 내용을 RAM으로 불러옴.

 # history 명령어는 파일에 저장 된 히스토리를 보는게 아니라 RAM에 저장 된 히스토리를
   확인 하는 명령어임.

 # 히스토리를 완벽하게 지우기 위해서는 .bash_history 파일을 지우고 history -c명령어를 실행해서
   RAM과 HDD에 있는 히스토리를 모두 지워야함.

 # !!는 히스토리에서 가장 최근에 사용한 명령어를 실행 함.

 # !vi : 히스토리에서 가장 최근에 실행한 vi 명령어를 실행함.

 # cat 명령어는 지정한 파일에 내용을 Shell 화면에 출력함 (내용이 많으면 짤림)

 # cat -b 는 줄 번호와 함께 지정 파일 내용 출력 (공백은 번호 무시)

 # cat -n 는 공백도 포함해서 줄번호와 함께 내용 출력

 # more 지정한 파일을 위에서부터 한 페이지 씩 출력
   space : 한 페이지 단위로 아래 이동
   Enter : 한줄 아래로
   b : 한페이지 위로
   q : more 종료
 
 # head명령어는 지정한 파일에 상위 10줄을 출력
 # head -n 5 <- 상위 5줄을 출력

 # tail 명령어는 지정한 파일에 하위10줄을 출력
 # tail -n 3 <- 하위 2줄을 출력
 # tail -f <- 지정한 파일에 내용이 변경되는 것을 실시간으로 확인하겠다.
 # tail -f 사용해서 왜 실시간으로 변경을 체크하는 지 ?

'Linux' 카테고리의 다른 글

Linux_10  (0) 2017.09.17
Linux_09  (0) 2017.09.17
Linux_07  (0) 2017.09.17
Linux_06  (0) 2017.09.17
Linux_05  (0) 2017.09.17

+ Recent posts