Read more...‎ > ‎

리눅스 기본 명령어와 VI 실습(2)

2. 문서 수정

가. 문서 만들기

리눅스에서 문서를 생성하고 편집하는 기본적인 방법을 익힌다.

# 16. echo 명령 사용하여 텍스트 문서 만들기

다음 Text 3-1 지문을 보고, 수행하고, 다음 질문에 답하시오.

Text 3-1

echo 명령과 텍스트 문서

echo는 나열된 인자를 화면에 출력하는 명령어이다.
[학번@linux-pplab ~]$ echo Hello, World
[학번@linux-pplab ~]$ echo "Hello, World"

>, 혹은 >> 를 이용하여 화면에 출력된 내용을 파일을 생성하거나 파일에 내용을 추가할 수 있다.

[학번@linux-pplab ~]$ echo Hello, World > hello.txt
[학번@linux-pplab ~]$ echo Hello, World > hello.txt
[학번@linux-pplab ~]$ echo Good, Bye > bye.txt
[학번@linux-pplab ~]$ echo Good, Bye >> bye.txt

cat 명령을 이용하여 생성한 파일의 내용을 확인 해본다.

[학번@linux-pplab ~]$ cat hello.txt
[학번@linux-pplab ~]$ cat bye.txt

> 는 파일을 새로 생성한 후, 화면에 출력된 내용을 쓴다.
>> 는 파일의 내용 끝에, 화면에 출력된 내용을 쓴다.

hello.txt와 bye.txt의 차이점이 무엇인지 간단히 설명하시오.
# 17. cat 명령 사용하여 텍스트 문서 만들기

Text 3-2

cat 명령과 텍스트 문서

Text 3-1의 사용에서 알 수 있듯이 cat 명령은 파일의 내용을 화면에 출력하는 명령이다.

cat은 이외에도 키보드로 입력받은 내용을 화면에 출력하는 기능도 가지고 있다.

[학번@linux-pplab ~]$ cat << END
> Hello!
> My job is student.
> Good bye.
> END

cat으로 입력받은 내용을 파일에 기록한다.

[학번@linux-pplab ~]$ cat << END > file.txt
> Hello!
> My job is student.
> Good bye.
> END
[학번@linux-pplab ~]$ cat file.txt

END가 무슨 역할을 하는지, 자신의 생각을 간단히 서술하시오.

나. vi 사용하기

2-가 에서 배운 echo, cat은 간단히 파일을 새로 생성할 경우에는 유용하지만, 파일의 내용을 고치기에는 적합하지 않다. 이번 장에서는 리눅스에서 가장 널리 사용되는 에디터 emacs와 vi 중에서 vi 에디터의 사용방법을 익힌다.

앞으로의 연습 문제를 하기 위해서는 빈번하게 사용됨으로, 기능과 사용방법에 대해서 숙지하도록 한다.

# 18. vi 실행하고 종료하기

Text 4-1

vi 실행과 종료

vi 실행
[학번@linux-pplab ~]$ vi

화면에 변하면서 다음과 비슷한 내용이 출력될 것이다.

~                   VIM - Vi IMproved
~
~                     version 7.2.108
~                 by Bram Moolenaar et al.
~       Vim is open source and freely distributable
~
~              Help poor children in Uganda!
~      type  :help iccf<enter>       for information
~
~      type  :q<enter>               to exit
~      type  :help<enter>  or  <f1>  for on-line help
~      type  :help version7<enter>   for version info
 
</enter></f1></enter></enter></enter>

vi의 종료

:q<Enter>

vi 창에서 ':' 'q' <Enter> 를 입력한다.

# 19. vi 텍스트 입력하고 저장하기
vi를 이용하여 text.txt 파일을 생성하고, 아래 Text 4-5의 내용을 입력한다.

Text 4-2

새로운 텍스트 파일 편집 및 저장

 key   방향
 Insert, i  편집 모드
 r  수정모드
 :  명령어 라인 모드
[학번@linux-pplab ~]$ cat text.txt
# 20. vi 커서 이동하기

Text 4-3

기본 커서 이동

 Key  방향
h, Left Arrow Left; 좌로 한칸 이동
l, Right Arrow Right; 우로 한칸 이동
j, Down Arrow Down; 아래로 한줄 이동
k, Up Arrow Up; 위로 한줄 이동

/.bash_history 파일을 vi로 열고 커서 이동을 실습한다.

[학번@linux-pplab ~]$ vi /.bash_history

 

Text 4-4

고급 커서 이동

 Key  설명
e(소문자)단어 끝으로 이동
E(대문자)다음 공백 앞으로 이동
b(소문자)단어 앞으로 이동
B(대문자)이전 공백 다음으로 이동
H(대문자)화면에 보이는 첫번째 줄의 처음으로 이동
L(대문자)화면에 보이는 마지막 줄의 처음으로 이동

/.bash_history 파일을 vi로 열고 커서 이동을 실습한다.

[학번@linux-pplab ~]$ vi /.bash_history


Text 4-5

GPL 라이센스 전문 중 발췌

 The GNU General Public License is a free, copyleft license for software and other kinds of works.
 The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
 When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

위의 Text 4-5 지문에서 커서가 첫번째줄에 있을 때, You를 찾아가기 위한 입력키 순서를 작성하시오. (위에서 각 문장은 한 줄로 이루어져 있다.)

# 21. vi 텍스트 삭제하기

Text 4-6

텍스트 삭제

 Key  설명
<n>dd  <n>은 숫자, 현재 커서위치에서 <n>줄만큼 삭제한다. <n> 생략시 현재 커서가 위치한 줄을 삭제한다. 삭제한 라인은 버퍼(클립보드)에 저장된다.
<n>d<방향>  현재 커서위치에서 <n>개의 <방향>만큼 삭제한다. <n> 생략시 현재 커서가 위치한 곳에서 <방향>을 삭제한다.;
<방향>은 20.의 Text 4-4Text 4-5의 키를 사용할 수 있다.

/.bash_history 파일을 vi로 열고 테스트 삭제를 실습한다.

[학번@linux-pplab ~]$ vi /.bash_history

 

Text 4-7

저장하기

 Key  설명
 :w  수정된 내용을 파일에 저장한다.
 :w<파일이름>  현재 열린 문서의 내용을 <파일이름>으로 저장한다.

/.bash_history 파일을 vi로 열고 커서 저장하기를 실습한다.

[학번@linux-pplab ~]$ vi /.bash_history

위의 20.의 Text 4-5 지문에서 커서가 첫번째줄에 있을 때, You 이전의 내용을 모두 삭제하기 위한 입력키 순서를 작성하시오.

# 22. vi 텍스트 복사하고 붙여넣기

Text 4-8

복사하기, 잘라내기, 붙여넣기

 Key  설명
<n>yy  <n>은 숫자, 현재 커서위치를 포함한 <n>줄을 버퍼(클립보드)에 저장한다.
<n>y<방향>  현재 커서위체어서 <n>개의 <방향>만큽 버퍼(클립보드)에 저장한다. <방향>은 20.Text 4-3Text 4-4의 키를 사용할 수 있다.
<n>dd  잘라내기, 21.의 Text 4-6 참고
<n>d<방향>  잘라내기, 21.의 Text 4-6 참고
p(소문자) 현재 커서가 위치한 다음 줄 혹은 다음 행에 버퍼(클립보드)의 내용을 붙여 넣는다.
P(대문자) 현재 커서가 위치한 줄 혹은 행에 버퍼(클립보드)의 내용을 붙여 넣는다.

/.bash_history 파일을 vi로 열고 복사,잘라내기 붙여넣기를 실습한다.

[학번@linux-pplab ~]$ vi /.bash_history

위의 20.의 Text 4-5 지문에서 커서가 첫번째줄에 있을 때, 마지막 줄의 내용을 첫번째 줄이 이동하기 위한 입력키 순서를 작성하시오. (#힌트, 잘라내기와 붙여내기를 사용하시오)

# 23. vi 줄 바로 이동하기

Text 4-8

줄 이동

 Key  설명
 G  문서의 맨 끝으로 이동한다.
 <n>G  문서의 <n>번째 줄로 이동한다.

/.bash_history 파일을 vi로 열고 커서 이동을 실습한다.

[학번@linux-pplab ~]$ vi /.bash_history
  1. 현재 커서가 10번째 줄에 있다. 2번째 줄로 이동하기 위한 방법은?
  2. 현재 커서가 마지막번째 줄에 있다. 첫번째 줄로 이동하기 위한 방법은?
# 24. vi 실행취소와 되돌리기

Text 4-9

실행취소, 되돌리기

 Key  설명
 u(소문자)  실행취소(Undo)
 <CTRL> + r(소문자)  되돌리기(Redo)

/.bash_history 파일을 vi로 열고 실행취소 및 되돌리기를 실습한다. 일부 텍스트를 삭제하고 실행취소, 되돌리기를 수행해본다.

[학번@linux-pplab ~]$ vi /.bash_history

 

위의 20.의 Text 4-5 지문에서 첫번째 라인을 삭제하고, 마지막 라인을 삭제한 다음 원상 복귀하는 입력키 순서를 작성하시오.

# 25. vi 저장하지 않고 종료하기

Text 4-10

강제 종료

 Key  설명
 :q!  :q는 일반적인 종료, !는 수정된 내용을 무시하고 :q 명령을 강제로 수행한다
 :wq  :w명령은 저장하기, q는 종료하기로, :wq는 w와 q를 순서대로 수행한다.

/.bash_history 파일을 vi로 열고 일부 텍스트를 삭제하고 :wq, :q! 를 한번씩 수행해본다.

[학번@linux-pplab ~]$ vi /.bash_history