1. /vitest 디렉토리를 만들고 login.defs, grub.cfg, inittab 파일을 검색해서 복사하세요. 

 

mkdir /vitest
find / -name login.defs -o -name grub.cfg -o -name inittab
cp /etc/login.defs /etc/inittab /boot/grub2/grub.cfg /vitest

 

/vitest 디렉토리 밑에 grub.cfg, inittab, login.defs 파일이 복사되었다.

2. /vitest/login.defs 를 vi로 연 뒤, 절대 나가지마세요.

 

vi /vitest/login.defs

 

/etc/login.defs 원본 파일로부터 복사해온 파일을 vi 명령어로 열었다.

3. /viexe 디렉토리를 만들어보세요.

 

:! mkdir /viexe

 

ls -ld /viexe 명령을 통해, 해당 디렉토리가 생성되었음을 확인한다.

4. /viexe 디렉토리 안에 1 2 3 4 파일 4개와 a1 a2 a3 a4 디렉토리 4개를 생성한다.

 

:! cd /viexe && touch 1 2 3 4
:! cd /viexe && mkdir a1 a2 a3 a4

 

ls -l /viexe 명령을 통해 해당 디렉토리의 목록을 살펴보면 1, 2, 3, 4 파일과 a1, a2, a3, a4 디렉토리가 생성되었다.


5. /viexe 디렉토리 내부 목록을 문서 가장위에 삽입하세요. (ls -l 로 하세요.)

 

내용 삽입 전, :set nu 명령으로 행 번호를 출력한다.

 

:0r! ls -l /viexe

 

문서의 맨 첫 행에 ls -l /viexe 명령 수행 결과가 삽입되었으며, r 옵션을 함께 사용하여 원본 내용 또한 보존되었다.

6. 5번 출력내용을 문서 마지막에 삽입하고, /viexe 디렉토리 목록을 a1 a2 a3 a4 디렉토리 목록만 남도록 편집한다.

 

5번 출력 내용이 위치한 문서 맨 첫 줄로 이동 (gg) 하여, 9번행까지 복사 (9yy) 한다.

 

다음으로 문서의 맨 마지막으로 이동 (shift + g) 하여, 붙여넣기 (p) 한다.

 

붙여넣기한 /viexe 디렉토리 목록을 편집 (5dd) 한다.


7. 6번의 내용을 12번째 줄에 삽입한뒤 /vitest/sevas 로 저장한다.

 

6번의 내용을 복사 (4yy) 하여, 12번째 줄에 삽입 (:11, p)한다.

 

파일을 저장하기 전, /vitest 라는 디렉토리가 존재하지 않으므로 생성한다.

 

:!mkdir /vitest
:w /vitest/sevas

 

앞서 생성한 /vitest 디렉토리의 하위에 sevas 라는 파일명으로 해당 내용을 저장한다.

 

cat 명령을 통해 sevas 파일의 내용을 확인해보면, 편집 내용이 정상적으로 저장된 것을 확인할 수 있다.                                                                                                                                                            
8. 문서의 모든 DAYS를 sevas로 치환한 뒤, /vitest/sevas1 파일로 저장한다.

 

:%s/DAYS/sevas/g
:w /vitest/sevas1

 

문서 전체를 대상으로 (%s) 모든 (g) DAYS 라는 문자열을 sevas 로 치환한다.

 

DAYS 라는 단어가 모두 sevas 로 치환된 것을 확인할 수 있다.

 

:w /vitest/sevas1

 

DAYS 가 모두 sevas 로 치환되었다면, /vitest/sevas1 이라는 파일로 저장한다.


9. 새 문서를 열어 ip 내용을 삽입한 뒤, /vitest/sevas2 로 저장한다.

 

enew!
.!ifconfig

 

enew! 명령으로 새 문서를 열고, ifconfig 의 결과물을 삽입한다.

 

ens32 인터페이스의 ip 정보만을 남기기 위해, 10행부터 문서의 마지막까지 삭제한다. (:10, d + shift + g)

 

:w /vitest/sevas2

 

문서 편집 완료 후, /vitest/sevas2 파일로 저장한다.


10. /vitest의 login.defs, inittab, grub.cfg 의 내용과 sevas, sevas1, sevas2 각 파일의 상위 2번째 줄까지의 내용을 /home/vitest/linux/sevas3 파일로 저장하세요.

 

enew! 명령을 통해 새로운 빈 문서 파일을 연다.

 

:!mkdir -p /home/vitest/linux

 

파일이 저장될 경로 디렉토리를 -p 옵션을 사용하여 한 번에 생성한다.

 

login.defs, inittab, grub.cfg, sevas, sevas1, sevas2 파일은 /vitest 디렉토리의 전체 목록과 같다. 따라서 vitest 디렉토리 전체를 대상으로 2줄씩 삽입하면 된다.

 

:.! head -2 /vitest/*

 

/vitest 디렉토리 하위 모든 파일의 상위 2번째까지 내용을 삽입한다.

 

:w /home/vitest/linux/sevas3

 

문서 편집 완료 후, /home/vitest/linux 디렉토리 하위에 sevas3 라는 이름의 파일로 저장한다.

11. 다음과 같은 내용을 만든 후 (치환을 이용), /home/vitest/linux/sevas3 에 내용을 추가한다.
합계 12
---------- 1 sevas sevas 100 2010-10-10 10:10 grub.cfg(sevas)
-rw-rw-rw- 2 sevas root  200 2011-11-11 11:11 inittab(sivas)
-r--r--r-- 3 root  root  300 2012-12-12 12:12 login.defs(evas)

 

:enew!
:.!ls -l /vitest

 

enew! 명령으로 빈 문서를 연 후, ls -l /vitest 의 출력물을 삽입한다.

 

grub.cfg, inittab, login.defs 파일의 정보를 제외하고 삭제한다. (:5, 3dd)

 

1) 1번째 행 편집

 

2) 2번째 행 편집

 

(행의 맨 마지막으로 이동 $, a 입력을 통해 문자열 편집)

3) 3번째 행 편집

 

(행의 맨 마지막으로 이동 $, a 입력으로 문자열 편집)

4) 4번째 행 편집

 

(행의 마지막으로 이동 $, a 입력을 통해 문자열 편집)

위와 같이, 치환을 사용하여 문구를 조건에 부합하게 편집한다.

 

:w >> /home/vitest/linux/sevas3

 

문서 편집이 완료되면, sevas3 파일에 내용을 추가하여 저장한다.

 

cat 명령을 통해 sevas3 파일 내용을 열람하면, 기존 내용에 위에서 작성한 내용이 추가 삽입된 것을 확인할 수 있다.

 

 

 

 

 

공부하면서 정리한 내용을 글로 작성하였습니다.

혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다. :)

COMMENT