본문 바로가기
GOORM

GOORM: Kubernetes-9

by hxunz 2021. 11. 5.

Facts (사실, 객관)
VI editor, 쉘 메타 문자, 메타 문자, 리디렉션 및 파이프에 대해서 배우고 실습을 진행하였다.
 
Feelings (느낌, 주관)
: 점점 어려워진다,,, 각종 명령어들이 너무 많고 쓰임도 다양하고 헷갈린다. 일단 vi 편집기 들어오면서부터 어려워지는것같다... ㅜ

Findings (배운 점)
: Vi and Vim text editor
 
 - 유닉스 환경에서 많이 쓰이는 문서 편집기
 - 실행 시 기본 모드 : command mode 

Vi 명령모드
 - vi의 기본모드. vi가 처음 실행되거나, 입력 모드에서 esc 키를 누른경우. 커서이동, 문자열 수정. 복붙 등

Vi 입력모드
 - 명령 상태에서 a,i,o 등의 키를 누르면 진입

명령모드 -> 입력모드

key 동작
i 현재 위치에서 입력 모드로 변경
l 행의 제일 처음에서 입력 모드로 변경
a 현재 위치에서 우측으로 한 칸 이동 후 입력 모드로 변경
A 행의 제일 마지막에서 입력모드로 변경
o 커서 아래에 새로운 행을 추가하고 입력모드로 변경
O 커서 위에 새로운 행을 추가하고 입력모드로 변경
s 현재 문자를 지우고 입력모드로 변경
S 현재 행의 모든 문자를 지우고 입력모드로 변경


명령모드 : 커서이동

key 동작
h 커서를 왼쪽으로 이동
j 아래로
k 위로
l 오른쪽으로
W,w 다음 단어의 처음으로 이동
E,e 단어의 끝으로 이동
B,b 처음으로
^ 행의 처음으로 이동
$ 마지막으로
G 문서의 마지막으로 이동
gg 처음으로


명령모드

key 동작
x 커서가 있는 문자 삭제
X 커서가 있는 앞 문자 삭제
dd 현재 커서의 행 삭제
숫자 + dd 현재 커서부터 숫자만큼 행 삭제
yy 현재 커서가 있는 라인을 복사
숫자 + yy 현재 커서부터 숫자만큼의 행을 복사
P 복사한 내용을 현재 라인 이후에 붙여넣기
p 이전에


EX 모드
 - 검색

/Pattern Pattern을 검색
?Pattern Pattern을 검색

 - 치환

:[볌위]s/[Old]/[New]/[옵션] Old를 New로 치환

g 옵션을 주면 적용되는 라인의 모든 부분 변경, 아니라면 처음 찾은 부분만 변경
 - shell 명령어

:! [command] vi를 잠시 중단하고 명령어 수행
:.! [command] 수행한 명령의 결과를 vi 편집기로 출력

 - split window

[n]split[filename] 수평 나누기
[n]vs[filename] 수직

명령모드에서 ctrl +wn은 현재 화면을 수평으로 나누기이고 ctrl + wv는 현재 화면을 수직으로 나누기이다.
n은 창의 크기를 의미하고 ctrl + ww는 창간의 이동
 - 파일관련

:e [filename] 파일 열기
:enew 현재 창을 닫고 빈 문서를 연다
:q 종료(변경된 내용이 없는 경우)
:q! 강제 종료(변경된 내용이 있어도 무시)
:w 파일 저장
:wq 파일 저장 후 종료

 - 파일 및 실행 관련

:w >> [filename] filename에 내용 추가
:f 현재 작업중인 파일의 이름과 라인 수
:[n]r[filename] filename 파일의 내용을 현재 편집중인 파일의 n 라인부터 삽입
:[n]r[command] Command 실행결과를 파일의 n 라인부터 삽입

 - ETC

:set ts =4 Tab 사이즈 조절
:set ne Line number 활성화
:set nonnu Line number 비활성화
:nohl High light 비활성화


extended command mode에서의 사용

q 종료
q! 저장 없이 강제 종료
w 저장
wq 저장 후 종료
set nu 라인 숫자 표시
NUM n번째 라인으로 이동
SP,EP s/A/B/g SP(시작줄)에서 (EP)끝줄까지 A를 B로 변경


쉘 메타 문자
 - 쉘에서 사용할 때 특수한 기능을 가지고 있는 문자 (경로 이름 메타문자, 파일 이름 메타문자, 인용부호 메타문자, 방향재지정 메타문자)
 - Bourne Shell의 경우에는 메타문자를 인식하지 못함

경로 이름 대체 문자
 - 파일 경로 이름 매칭 기능
 - 많은 수의 파일을 관리하기 쉽다

~ 현재 사용자 홈 디렉토리
~+ 현재 디렉토리
~- 이전 디렉토리
[abc...] 대괄호에 포함된 한 문자
[!abc...] 대괄호에 없는 한 문자
[[:alpha:]] 알파벳문자
[[:lower:]] 소문자
[[:upper:]] 대문자
[[:digit:]] 숫자


파일 이름 대체 문자 Metacharacters

* zero or more
? 모든 한 문자
[..] []안의 문자를 한 문자씩 대체
[!..] [] 안의 문자를 제외한 나머지 문자들을 한 문자씩 대체


브레이스 확장
 - 임의의 문자열을 생성할 때 사용. {a,b,c} 형식으로 사용
 - {} : {} 안에 요소를 하나씩 밖으로 부여시에 생성 가능
 - " "  :  `, ₩, $제외한 특수문자 일반 문자화

인용부호 메타문자

"" 띄어쓰기가 있는 파일 이름을 지정할 때 사용
echo와 함께 사용시에는 특정 특수문자들에 대한 작용이나 무시를 설정할 때 사용
$, ``, \를 제외한 모든 문자를 일반화 시킴
'' 띄어쓰기가 있는 파일 이름을 지정할 때 사용
echo와 함께 사용시에는 특정 특수문자들에 대한 작용이나 무시를 설정할 때 사용
모든 문자를 일반화 시킴
$ $(command)를 이용해서 명령어의 결과를 echo 명령어에 사용할 수 있음
echo $ 환경 변수를 이용해서 환경변수의 값을 불러올 수 있음
`` 'command'를 이용해서 명령어의 결과를 echo명령어에 사용할 수 있음
\ 뒤에 오는 특수문자의 효과를 무시해서 일반문자화 시킴



파일 및 디렉토리 생성
 - 표준 입출력

0 Stdin 표준입력 (쓰기 전용)
1 Stdout 출력(읽기)
2 stderr 오류(읽기)
3+ file name 파일(읽기 및 쓰기)

 - 리디렉션 사용법

> 파일 표준 출력을 파일로 저장(덮어쓰기)
>> 파일 기존 파일의 내용에 이어서 쓰기
2> 파일 표준 에러를 파일로 저장
2> /dev/null 표준 오류를 출력도 파일로 저장도 하지 않음
&>파일 표준 출력과 표준 오류를 함께 파일에 저장(덮어쓰기)
&>>파일 동일한 파일의 기존 내용에 이어서 쓰기


파이프라인
 - 파이프 : 한프로그램의 출력을 중간 파일 없이 다른 파일의 입력으로 바로 보내는 유닉스 매커니즘. 파이프 | 기호 왼쪽 명령어의 출력을
                 오른쪽 명령어의 입력으로 보낸다. 파이프 라인은 하나 이상의 파이프로 구성된다.
                 (수행 명령어) | (내용을 보는 명령어)

tee
-출력을 두 방향의 입력으로 전송. 파이프 라인을 수행한 내용을 저장하고 싶을 경우에는 | tee 이용

'GOORM' 카테고리의 다른 글

GOORM: Kubernetes-11  (0) 2021.11.08
GOORM: Kubernetes-10  (0) 2021.11.05
GOORM: Kubernetes-8  (0) 2021.11.04
GOORM: Kubernetes-7  (0) 2021.11.04
GOORM: Kubernetes-6  (0) 2021.11.03

댓글