ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 바이블: Chapter5. Working with Text Files 정리
    리눅스 2021. 2. 12. 13:56

    1. Editing Files with Vim and Vi

     

    대다수의 리눅스 쉘 유저들은 텍스트 편집기로 vi나 emac을 사용 

     

    (1) Adding text

     

    a:  커서 오른쪽부터 입력.
    A:  현재 줄의 끝에서부터 입력
    i:  현재 커서의 위치부터 입력  
    I: 현재 커서 줄의 맨 앞에서부터 입력
    o:  현재 커서의 다음 줄에 입력
    O: 현재 커서의 이전 줄에 입력

     

     

    (2) Deleting, coping, and changing text 

     

    x: 커서 뒤에 있는 문자를 지운다.
    X: 커서 앞에 있는 문자를 지운다.

    dd: 현재 커서가 위치한 줄 전체 삭제.  

    cc: 현재 커서가 위치한 곳의 라인 전체를 지우고 입력모드로 전환 

    yy: 커서가 위치한 라인을 버퍼에 복사하여 저장

    P: 텍스트가 문자 혹은 단어로 구성된 경우, 복사된 텍스트를 커서 왼쪽에 붙여널고, 복사된 텍스트에 라인이 포함되어 있으면 현재 줄 위에 붙여넣는다.
    p: 텍스트가 문자 혹은 단어로 구성된 경우, 복사된 텍스트를 커서 오른쪽에 붙여널고, 복사된 텍스트에 라인이 포함되어 있으면 현재 줄 위에 붙여넣는다.

     

     

    (3) Exiting vi

     

    ZZ : 변경사항 저장 후 vi에서 나간다.
     :w : 변경사항을 저장하고 vi에 그대로 있는다.
     :wq : ZZ와 동일
     :q : 저장하지 않은 변경사항이 없을 때에만 현재 파일을 종료한다.
     :q! : 현재 파일을 종료하고 변경사항을 저장하지 않는다.

     

     

    (4) Skipping around the file

     

    u: 직전에 수행한 변경사항을 되돌린다.
    Ctrl+R: u를 통해서 잘못 되돌린 것이 있다면 이 명령어를 통해 반대로 되돌릴 수 있다.

    Ctrl+f: 한 페이지씩 넘긴다.
    Ctrl+b: 한 페이지씩 뒤로 간다.
    Ctrl+d: 한번에 반 페이지씩 넘긴다.
    Ctrl+u: 한번에 반 페이지씩 뒤로 간다.
    G: 파일의 마지막 줄로 간다.
    1G: 파일의 첫번째 줄로 간다.
    35G: 파일의 35번째 줄로 간다. G앞의 숫자 번호의 줄로 간다.

     

     

    (5) Using ex mode

    /hello: ‘hello’를 다음으로 가면서 찾는다.
     ?goodbye: ‘goodbye‘를 이전으로 가면서 찾는다.
     /The.*foot: ‘The’가 들어있는 줄을 앞으로 검색하고 그 뒤에 ‘foot’이라는 단어를 찾는다. 
     ?[pP]rint: print와 Print모두를 찾는다.
    N을 이용해서 뒤로가면서 계속 원하는 단어를 찾을 수 있고 n을 누르면 그 반대로 계속 찾아 나간다.

    :g/Local : ‘Local’이라는 단어가 포함된 모든 라인을 출력해준다.
    :s/Local/Remote : 현재 줄에서 ‘Local’이라는 단어가 처음 나타나는 경우를 ‘Remote’로 대체
    :g/Local/s//Remote : 파일의 모든 줄에 ‘Local’이라는 단어가 처음 나타나는 것을 ‘Remote’로 대체
    :g/Local/s//Remote/g : 파일에 존재하는 모든 ‘Local’이라는 단어를 ‘Remote’로 대체
    :g/Local/s//Remote/gp : 파일에 존재하는 모든 ‘Local’이라는 단어를 ;Remote’로 대체하고 바뀐 라인을 모두 출력해준다.

     

     

     

     

    2. Finding Files

     

    (1) Using locate to find by name

     

    검색db를 미리 생성해서 검색하기 때문에 find에 비해서 빠른속도를 갖는다.

     

     

    일반 usr로 locate 사용시 /etc/skel 이나 root 사용자를 제외한 home 디렉토리에 있는 .bashrc만 찾게 된다.

     

     

     

    하지만 root사용자로 사용하면, root, 모두의 home디렉토리에 존재하는 .bashrc를 찾게 된다.

     

     

     

    -n 옵션은 원하는 라인수 만큼 출력

     

     

     

    (2) Searching for files with find 

     

    find /etc 디렉토리 밑의 모든 파일들을 찾아준다 .

     

     

     

    -name은 파일명과 정확하게 일치하는 항목들만 찾고(대소문자도 고려)

    -iname은 대소문자는 고려하지 않고 동일한 파일명 검색 

     

     

     

    -user 옵션을 줌으로써 원하는 user명으로 검색할 수 있다.

    - ls 옵션은 자세한 정보 출력 

     

     

     

    -type f는 파일을 검색하겠다는 의미 

     

     

     

    -type d는 디렉토리를 검색하겠다는 의미 

     

     

     

    (3) Searching in files with grep 

     

    grep은 찾고자 하는 단어가 아닌 문자열을 기준으로 검색한다.

     

     

     

    -i 옵션은 대소문자를 구분하지 않겠다는 의미 

     

     

     

     

     

    EXERCISE

     

    Exercise 1 answer

     

     

     

     

     

     

    Exercise 4 answer

     

     

     

    Exercise 5 answer

    반응형

    댓글

Designed by Tistory.