네트워크교육 14일차(2022.01.20) - 정리

정상훈·2022년 1월 20일
0

문서 편집기 (vi 편집기)

Vi and Vim text editor

-줄 단위 편집기가 아닌 한 화면을 편집하는 Visual editor 이라는 뜻에서 유래
- 명령, 실행(EX), 입력 모드가 있음


-- 명령모드 :
Vi의 기본모드
Vi가 처음 실행되거나, 입력 모드에서 ESC키를 누른 경우
커서이동, 문자열 수정, Copy & Paste 등
엔터키를 누를 필요 없이 각

각의 명령에 따른 버튼을 누르면 바로 실행됨

-- 입력모드 : 
버퍼에 내용을 입력할 수 있는 모드
명령 상태에서 a,i,o(A,I,O) 등의 키를 누르면 진입
R은 누른 경우에는 --REPLACE-- 표시 --> 수정하면 뒷글자 없어짐

명령모드 -> 입력모드

명령모드 - 커서이동




명령모드


실행모드





메타문자

1) 경로이름 메타문자

	~ : 현 사용자의 홈디렉토리를 절대경로가 들어있음.
	- : 이전 디렉토리 (cd 만 사용 가능)
        ~- : 이전 디렉토리의 절대경로가 들어있음.
	~+ : 현재 디렉토리의 절대경로가 들어있음.
    	~사용자 : 특정사용자의 홈디렉토리 경로가 들어있음


2) 파일이름 메타문자    

	* : zero or more
	? : 모든 한문자
	[] : 대괄호 안에 있는 문자들을 하나씩 대입
	[!] : 대괄호 안에 있는 문자를 제외한 모든 문자를 하나씩 대입

	브레이스 확장 : {} 안에 들어있는 요소를 하나씩 대입


3) 인용부호 메타문자

	echo 사용시
	"" : $ , `` , \ 제외한 모든 특수문자 무효
	'' : 모든 특수문자 무효
    	$  : $(command) 명령어의 결과를 echo로 출력
	`` : `command` 명령어의 결과를 echo로 출력
	\  : 역슬러시 뒤에 나오는 특수문자 무효

vi 편집기 실습

  • /etc/passwd를 /root/passwd1로 복사하시오.
cp /etc/passwd /root/passwd1

vi(or vim) /root/passwd1
  • 파일 안에서 1번 라인을 복사해서 14번 라인에 붙이시오.
1G or gg
yy
14G P  or 13G p

:1 co 13
  • 1번 라인의 root라는 단어를 edit 모드로 들어가서 ro123(i 진입키를 이용해서)o098(a 진입키를 이용해서)t 라고 적으시오.
1G
커서를 root 의 두번째 o로 이동
i
123
esc
커서를 두번째 o로 이동
a
098
esc
  • 1번부터 10번까지 잘라내서 마지막 라인 아래에 붙이시오.
1G or gg
10 dd
G
p

:1,10 m 마지막라인 번호
  • 4번 라인의 root 라는 글자 중에 ot만 복사해서 adm 이라는 단어에 붙여서 aotdm 이라는 단어를 만드시오.
4G
root의 두번째 o로 커서 이동
yw
/adm
p
  • 1번부터 5번까지의 /(슬러쉬) 모양을 | (파이프)로 변환시키시오.

:1,5 s///|/g
에러 

:1,5 s/\//|/g1
  • 지금까지 한 작업을 /root/vitest 란 파일로 저장하고 나가시오.
:w /root/vitest
:q!

쉘 메타문자 실습

root로 접속

  • /etc/ 로 이동 후에 틸드 문자를 사용해서 현 사용자의 디렉토리로 이동하시오.
cd /etc/
cd ~
  • /etc/sysconfig/network-scripts/ 로 이동 후에 홈으로 다시 이동 - 문자를 사용해서 이동해 보시오.
cd /etc/sysconfig/network-scpripts/

cd -
  • 자신의 홈디렉토리로 이동 /etc/sysconfig/network-scripts 디렉토리의 내용을 확인해보시오. (틸드 문자 이용)
pwd
/root/

ls ~-/
  • /media 디렉토리 안에 superman-season(1~3) 디렉토리를 각각 만들고 superman-season(1~3)-drama(01~10).avi 파일 생성 후에 이름에 맞추어서 각각 넣으시오. 파일 이동시 최대한 간단하게 작성해보시오.
mkdir /media/superman-season{1..3}

touch /media/superman-season{1..3}-drama{01..10}.avi


mv /media/*n1*i /media/*1
mv /media/*n2*i /media/*2
mv /media/*n3*i /media/*3_

        or
        
mv superman-season1-drama{01..10}.avi superman-season1
mv superman-season2-drama{01..10}.avi superman-season2
mv superman-season3-drama{01..10}.avi superman-season3
profile
"@____

0개의 댓글