딩굴댕굴

Linux - 08. 확장 명령(grep, find)

by jennysgap

BOX

확장 명령

1) grep : General Regular Expression Print

   명령줄 상에서 텍스트 들어있는 특정 패턴을 출력해주는 명령

   [사용법] #  grep  [-options]  'Pattern'  text_file  [text2]

#  grep  root  /etc/group

#  grep  ROOT /etc/group

#  grep  -i  ROOT /etc/group : -i (ignore case) 대소문자의 구별을 없앰.

#  grep  -n  root  /etc/group  : -n (line Number) 출력되는 내용에 라인번호 추가

#  grep  the  test.txt

#  grep  -w the test.txt   : -w (word) 단어로 검색

      * Regular Expression(RE)

      ----------------------------------------------------------------------------

       ^pattern              :   라인의 처음부분에 해당 패턴이 나오면

      ----------------------------------------------------------------------------

       pattern$              :  라인의 마지막 부분에 해당 패턴이 나오면

      ----------------------------------------------------------------------------

       \<pattern            :  라인 중 해당 패턴이 있으면, 그리고 앞부분에 첨가 없는 경우

      -----------------------------------------------------------------------------

       pattern\>            :  라인 중 해당 패턴이 있으면, 그리고 뒷 부분에 첨가 없는 경우

      -----------------------------------------------------------------------------

       \<pattern\>        :  라인 상에 해당 단어가 있으면

      -----------------------------------------------------------------------------

            .                     :  모든 문자 중 한 문자로 변경

      -----------------------------------------------------------------------------

       

    * manual 보기

      # man command

      # man [숫자] file_name 

      # man ls

      # man vi

      # man shadow (파일 메뉴얼)

      # man 5 shadow (Section no. 사용)

        Section  1 : 명령어 매뉴얼

        Section  2~3 : 프로그램 관련 매뉴얼

        Section  4~5 : 파일 소개 및 설정 매뉴얼

        Section 은 총 9개로 나눠져있다.

 

2) find

    파일 또는 디렉터리를 검색. 사용자가 찾기 시작 위치를 지정해서 그 이하에 있는 파일을 검색할 경우 사용.

    - 보안 조사를 할 때, 많이 쓰는 명령어 (조사용 명령어)

    * ls 명령비교

    # ls /etc/hosts


-->  Meta Character <--

글자를 대치해서 원하는 파일을 검색할 수 있도록 해주는 기능.

*   :   모든 문자로 대치. 글자 수에 대한 제한이 없음.

?   :   모든 문자로 대치. 한글자 대치

[aA] : a or A 의 의미로 파일명에 대문자 또는 소문자가 있는 경우.

# cd
# touch file1 file2 file3 file10 file20
# ls  file?
# ls  /etc/host*
# ls  /etc/[hH]osts


[find 사용법] # find  디렉터리  [-option  opt-argument]  [-action]

-name  file_name   :  파일(디렉터리) 이름을 가지고 위치를 검색

-size  [+|-]숫자       :  파일 크기 정보를 가지고 크거나 또는 작은 파일을 검색사이즈는 기본 블록이라는 크기 지정되어 있음.

-perm permission  :  파일에 설정 된 접근정보로 검색

-user  ID                :  특정 사용자가 만든 파일 검색

-mtime [+|-]일      :  파일이 변경/생성 된 날을 기준으로 검색

-type  파일타입정보 :  주로 추가적으로 사용되는 옵션으로 특정 파일 타입을 검색

#  find  /  -name  ifconfig
#  find  /  -name  ifconfig  -type f
#  find  /  -name  core      -type d
#  find  /  -mtime  -2  -type f
#  find  /  -size     -1  -ls


<Action>

#  fine  /  -name  file_name  -ls   :  -ls를 사용하면 'ls -l'을 추가로 사용한 것과 비슷한 형태의 출력

#  cd

#  touch error1 error2 erro3 error4

#  find  /  -name error1  -ok  rm  {}  \;

   * -ok 액션을 사용하면 뒤에 사용될 명령을 적으면 동작중에 find가 찾고 해당 내용을 rm 명령으로 전달함. 

     이후 지우는 동작 실행 시 사용자에게 물어 봄.

#  find  /  -name  error2  -exec  rm {}  \;

   * 상위 -ok 액션과 동일 기능을 수행하면서 사용자에게 묻지 않고 강제로 삭제 함.

#  find  /  -name  'error?'  -ok  rm  {}   \;

 

반응형

블로그의 정보

jennysgap

jennysgap

활동하기