티스토리 뷰

방송대/UNIX시스템

텍스트 편집

피클s 2022. 9. 25. 21:43

편집기

리눅스와 텍스트 파일

  • 리눅스 시스템에서 중요한 설정 정보나 셸 스크립트가 텍스트 파일로 존재함.
  • 텍스트파일은 공유가 쉽고 간편하게 편집가능하다.

 

리눅스 편집기 종류

  • gedit : GNOME 데스크톱에서 제공
  • emacs : 화면 단위 편집기로 다양한 기능을 제공하나 사용법이 어려움
  • vi : 가장 보편적인 화면 편집기
  • vim : vi의 개선버전. 마우스, 다중 undo, 다중탭을 지원

 

vi 편집기

vi 명령어

vi [options] [fimename]

모드

  • 명령모드 : 커서이동, 삭제, 복사/붙여넣기 등
  • 라인모드 : 저장, 검색, 대치(:, /, ? 으로 진입)
  • 입력모드 : 텍스트 입력모드. (i, a, o, c 로 진입, esc로 명령모드로 변환)
  • 비주얼모드 : 블록 지정해서 복사 / 삭제 가능

종료

  • ZZ : 명령모드에서 종료
  • :q : 변경내용이 없다면 종료
  • :q! : 저장하지 않고 강제 종료
  • :wq : 저장하고 종료
  • :x [filename] : 새로운 파일이름으로 저장하고 종료
  • :x! [filename] : 같은 파일 이름이 있다면 덮어씀

텍스트 입력

  • a : 현재 커서 위치의 오른쪽부터 텍스트 추가
  • A : 현재 라인의 끝에 텍스트 추가
  • i : 현재 커서 위치부터 택스트 삽입
  • I : 현재 라인의 처음에 텍스트 삽입
  • o : 현재 라인의 아래에 새로운 줄을 만들고 삽입
  • O : 현재 라인의 위에 새로운 줄을 만들고 삽입

커서 이동

  • hjkl : ←↓↑→
  • Ctrl+f, Ctrl+b : 페이지 업, 페이지 아운
  • w : 다음 단어의 첫 자로 이동
  • b : 앞 단어의 첫 자로 이동
  • 0 : 현재 라인의 첫 칸으로 이동
  • $ : 현재 라인의 마지막 칸
  • 숫자G : 숫자 번째 라인으로 이동
  • G : 가장 마지막 라인으로 이동
  • 숫자j : 현재 라인에서 아래로 숫자만큼 이동

텍스트 삭제

  • x : 커서 위치의 한 문자 삭제
  • dw : 커서 위치부터 다음 단어 전까지 삭제
  • d$ 또는 D : 커서의 위치부터 현재 라인의 끝까지 삭제
  • d0 : 커서 왼쪽부터 현재 라인의 처음까지 삭제
  • dd : 현재 라인 삭제
  • dG : 현재 라인부터 파일 끝까지 삭제
  • d숫자G : 현재 라인부터 라인 번호 숫자 까지 삭제
  • 숫자dw : 커서 위치부터 숫자 단어 삭제
  • 숫자dd : 현재 라인부터 숫자 라인 삭제

텍스트 변경

  • r : 커서 위치의 한 문자를 대치.
  • R : 커서의 위치부터 계속 대치할 수 있고 입력모드로 전환
  • s 또는 cl : 커너 위치의 문자가 삭제되고 입력모드로 전환
  • S 또는 cc : 현재 라인에 존재하는 문자가 삭제되고 현재 라인에서 입력모드 전환
  • cw : 커서 위치부터 단어의 끝까지 삭제되고 입력모드 전환
  • cb : 커서 왼쪽부터 단어의 앞까지 삭제되고 입력모드 전환
  • c) : 커서 위치부터 문장의 끝까지 삭제되고 입력모드 전환
  • c} : 커서 위치부터 문단의 끝까지 삭제되고 입력모드 전환

복사/붙여넣기

dd 명령과 같은 삭제 명령 후 붙여넣기 할 수 있다. 사실상 잘라내기/붙여넣기

  • yy : 라인 복사
  • 숫자yy : 현재 라인부터 숫자 라인 복사
  • yw : 커서 위치부터 다음단어 앞까지 복사
  • y$ : 커서 위치부터 라인 끝까지 복사
  • y0 : 커서 왼쪽부터 라인 앞까지 복사
  • y^ : 위와 같으나 라인 앞의 빈킨은 복사하지 않음
  • yG : 현재 라인부터 파일 끝까지 복사
  • y) : 커서 위치부터 한 문장 복사
  • y} : 커서 위치부터 한 문단을 복사
  • p : 아래 라인에 붙여넣기
  • P : 윗 라인에 붙여넣기

블록 지정하기

블록을 지정하고 y(복사) / x(삭제) 후 p를 이용해서 붙여넣기

  • v : 비주얼 모드에서 한 번에 한 문자씩 선택
  • V : 비주얼 모드에서 한 번에 한 라인씩 선택

명령 취소 및 기타 명령

  • u : 실행 취소 undo
  • Ctrl + r : 실행 취소를 취소 redo
  • :e! : 마지막으로 저장한 후의 작업을 취소하고 다시 작업
  • :n : n번째 라인으로 이동
  • J 또는 :j : 현재 라인과 아래 라인을 합침
  • :!command : 쉘 명령 command를 수행
  • :sh : vi를 빠져나가 쉘 명령을 수행. exit를 입력하면 vi로 돌아옴
  • :se nu : 왼쪽에 라인 번호 표시
  • Ctrl + g : 화면 하단에 파일 이름, 전체 라인 수, 현재 라인의 상대 위치를 퍼센티지로 표시
  • :r filename : 지정된 파일의 내용을 읽어 현재 커서의 아래 줄에 추가

검색

  • f문자 : 한 라인에서 해당 문자를 커서 다음 위치부터 찾음
  • ; : 한 라인에서 검색을 반복
  • /패턴 : 순방향(커서 뒤, 아래 방향)으로 패턴을 검색하여 커서를 이동
  • /패턴/ + 숫자 : 패턴을 검색하고 그 뒤(+) 숫자 번째 라인으로 이동
  • ?패턴 : 역방향으로 패턴을 검색하여 커서 이동
  • ?패턴?-숫자 : 패턴을 검색하고 그 앞(-) 숫자 번째 라인으로 이동
  • n : 이전 검색을 같은 방향으로 반복
  • N : 이전 검색을 반대 방향으로 반복

검색과 대치

:[g][address]s/패턴/대치문자[/옵션]
  • [g][address] : 검색 범위로, %는 파일 전체, 없으면 커서 다음 나오는 검색 대상 한번만, g는 커서 다음부터 파일 마지막 까지
  • s는 패턴을 찾아 대치하라는 명령
  • [/옵션] : 옵션이 없다면 한 번만 대치, /g를 한다면 모든 패턴 대치

ex)

  • :s/패턴/대치 : 커서가 위치한 라인에서 첫 번째 등장하는 패턴을 대치
  • %s/패턴/대치 : 파일 전체에서 첫 번째 등장하는 패턴에 대하여 대치
  • :%s/패턴/대치/g : 파일 전체에 등장하는 모든 패턴을 대치
  • :1,10s/패턴/대치/g : 1~10 라인에 등장하는 모든 패턴을 대치

 

 

파일 찾기와 문자열 검색

locate 명령

locate [option] pattern
  • 문자열 패턴이 (기본적으로 /로 시작하는) 파일 이름에 포함될 때, 해당 파일의 이름을 출력하는 명령
  • 절대 경로 상의 디렉터리나 파일 이름에 문자열이 포함되면 출력한다.
  • -b 옵션 : 마지막 이름만 검색
  • 접근 불가 파일은 출력 안됨.

 

find 명령

find [pathnames] [expression]

검색 위치에서 조건에 맞는 파일 찾고 명령을 수행할 수 있다.

파일 이름, 소유자, 접근권한, 크기, 수정시간 등의 속성을 조건으로 사용할 수 있다.

pathname을 지정하지 않으면 현재 디렉터리와 서브 디렉터리를 기준으로 한다.

expressrion이 주어지지 않으면 -print 가 주어진다.(검색된 파일 절대경로가 출력)

 

예)

find /etc -iname '*passwd*'  : 이름에 passwd를 포함하는 파일을 찾음

find ~ | wc -l : 사용자가 가지고 있는 파일의 총 개수를 출력 함.

 

fine 조건지정

  • -cname n :  파일 또는 디렉터리 내용이나 파일 속성의 마지막 수정시간이 정확히 n분인 경우
  • -cname -n :  파일 또는 디렉터리 내용이나 파일 속성의 마지막 수정시간이 n분보다 작은 경우
  • -cname +n :  파일 또는 디렉터리 내용이나 파일 속성의 마지막 수정시간이 n분보다 큰 경우
  • -cnewer file : 파일 또는 디렉터리의 내용이나 파일 속성의 마지막 수정시간이 지정된 file보다 최근 것임을 의미
  • -empty : 파일 또는 디렉터리가 비어 있는 조건
  • -name pattern : 파일 또는 디렉터리 이름이 패턴과 매칭되는 경우
  • -iname pattern : 대소문자를 구분하지 않고 이름이 매칭되는 파일
  • -nouser : 파일 또는 디렉터리가 유효한 사용자에 속해 있지 않은 경우
  • -perm mode : 파일 또는 디렉터리의 접근권한이 모드와 같은 경우로 8진수 표기법이나 기호 표기법으로 표시
  • -size n : 파일 또는 디렉터리의 크기가 n인 조건. b(512바이트 블록), c(바이트), k(킬로바이트), M(메가), G(기가) ...
  • -type c : 파일 타입 b (블록 디바이스), c(문자 디바이스), d(디렉터리), f(정규파일), l(심볼릭 링크) 등이 있음
  • -user name : 소유자 이름이나 UID의 파일 검색

find 명령 액션

  • -delete : 파일 삭제
  • -ls : 파일 정보 자세히 
  • -print : 경로 포함하여 출력
  • -quit : 매칭되는 것이 있다면 종료
  • -exec command {} ; : 임의의 command를 수행한다. -ok 를 사용하면 확인 과정을 거친다.

grep 명령

grep [options] pattern [files]
  • 파일에서 지정된 문자열 패턴을 포함한 라인을 찾아 출력
  • -r : 디렉터리가 지정될 때 모든 파일을 대상으로 검색
  • -i : 대소문자 구별 없음
  • -V : 매칭이 일어나지 않는 라인 출력 

 

 

'방송대 > UNIX시스템' 카테고리의 다른 글

사용자 관리  (0) 2022.09.24
리눅스 부팅과 종료  (0) 2022.09.15
파일과 디렉터  (0) 2022.08.30
shell 사용하기  (0) 2022.08.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함