VI (2)
실습 01. 기본
// q1> dir 생성
# mkdir /down
// q2> /down/ 밑에 file 생성
# touch /down/test1 /down/test2
# ls -l /down
// q3> 파일 복사
# ls -ld /tmp
# cp /down/test1 /tmp/test3
# cp /down/test2 /tmp/test4
// && 이용??
# cat test1 >> /down/test3
# cat test2 >> /down/test4
# ls /tmp
// q4>/down 밑에 test dir 생성
# mkdir /down/test
# ls -l /down
//q5> dir 이동
# mv /down/test /tmp
# ls -ld /tmp/test
# ls -ld /down/test
Error:
// q6> find
# find /tmp /down -name "test*" -exec rm {} \;
Error: /tmp/test : 디렉터리 //만약에 디렉터리도 삭제해주고 싶으면 rm -r {} \; 붙여야???
# ls -l /down /tmp
[root@localhost down]# find . -name "test*"
./test1
./test2
[root@localhost down]# find . -name "test*" -exec rm {} \;
[root@localhost down]#
[root@localhost down]# ls
[root@localhost down]#
* centos 터미널 글꼴 설정
CentOS 7 바탕화면 → 마우스 우클릭 → 터미널 열기 → 편집 →
프로파일 기본 설정 → 글씨 모양 : 사용자 지정 글꼴 체크 → monospace fmf snfma
→ 검색창 에다가 cour를 입력 후 enter
실습 02. vi
vi 실습!
문제 1.
pwd -> /home/itbank
실습 할 파일 : /home/itbank/inittab(inittab파일은 공유폴더에 있으므로 ftp service를 이용해서 작업) * 조건 : 절대로 vi 에서 나오시지 않고 vi 안에서 작업하세요. 꼭 지켜주세요~!!
[puTTY]
[root@localhost itbank]# ifconfig | head -5
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.8.174 netmask 255.255.255.0 broadcast 192.168.8.255
inet6 fe80::8fbb:295:37f5:95f0 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:71:1e:f0 txqueuelen 1000 (Ethernet)
RX packets 36957 bytes 42003069 (40.0 MiB)
[cmd]
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\user>E:
E:\>
E:\>cd 2_12월_평일12시_리눅스1_Junga
E:\2_12월_평일12시_리눅스1_Junga>
E:\2_12월_평일12시_리눅스1_Junga>cd temp
E:\2_12월_평일12시_리눅스1_Junga\temp>
E:\2_12월_평일12시_리눅스1_Junga\temp>dir
E 드라이브의 볼륨: 새 볼륨
볼륨 일련 번호: 0AAB-DADF
E:\2_12월_평일12시_리눅스1_Junga\temp 디렉터리
2017-12-21 오후 02:02 <DIR> .
2017-12-21 오후 02:02 <DIR> ..
2017-12-19 오후 03:20 4,411 12월19일_7평일리1.txt
2017-12-21 오후 02:00 1,952 12월21일_8평일리1.txt
2017-05-06 오전 11:04 884 inittab
2017-12-12 오후 01:41 7,037 NAT.png
2017-12-12 오후 03:11 168,362 snapshot1.png
2017-12-12 오후 03:12 55,881 snapshot2.png
2017-12-18 오후 12:47 259,815 인터넷안될때.png
7개 파일 498,342 바이트
2개 디렉터리 339,254,603,776 바이트 남음
E:\2_12월_평일12시_리눅스1_Junga\temp>
E:\2_12월_평일12시_리눅스1_Junga\temp>ftp 192.168.8.174
192.168.8.174에 연결되었습니다.
220 (vsFTPd 3.0.2)
사용자(192.168.8.174:(none)): root
530 Permission denied.
로그인하지 못했습니다.
ftp> exit
올바르지 않은 명령입니다.
ftp> quit
221 Goodbye.
E:\2_12월_평일12시_리눅스1_Junga\temp>ftp 192.168.8.174
192.168.8.174에 연결되었습니다.
220 (vsFTPd 3.0.2)
사용자(192.168.8.174:(none)): itbank
331 Please specify the password.
암호:
230 Login successful.
ftp>
ftp> pwd
257 "/home/itbank"
ftp>
ftp> put inittab
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 0.00초 884000.00KB/초
ftp>
1번) /home/itbank 홈 디렉터리 하위에 a, b, c, d, e 파일이 있습니다.
/home/itbank 홈 디렉터리 하위의 내용을 20번째 라인 밑에 자세하게 삽입하세요
(단! a, b, c, d, e만 해당함)
=>
:! ls -l /home/itbank
:! touch a b c d e
:! ls /home/itbank
Press ENTER or type command to continue
a b c d e inittab
// sol1>
:20 // 해당 줄로 이동
o // 실행 모드> 20번째 라인에서 해당 키 입력 후 21번째 라인에 빈 행 생성
:.! ls -l ./ // :.! ls -l a b c d e
// sol2>
:20r! ls -l // == :20r! ls -l /home/itbank/
inittab 내용을 dd로 삭제
or
:20r! ls -l a b c d e
2번) 파일(inittab) 안에 있는 내용 변경 : 'etc'를 'dongdaemoon', 'rc'를 'centos7'
=> /etc
:%s/etc/dongdaemoon/g
:%s/rc/centos7/g
3번) 5 ~ 12번째 라인을 2번째 라인 밑에 복사
=> 5번째 라인에서 8yy
8 lines yanked
1번째 라인에 커서를 둔 상태에서 p
4번) 지금까지 작업한 모든 내용을 '/test/dongdaemoon.test' 파일로 저장
=> :! ls /
:! ls /
:! mkdir /test
// sol1>
:w /test/dongdaemoon.test
// sol2>
:w! >> /test/dongdaemoon.test
:! touch /test/dongdaemoon.test
:w >> /test/dongdaemoon.test
:w
:e /test/dongdaemoon.test
:f
:! ls -l /test/
합계 4
drwxr-xr-x. 2 root root 30 12월 21 14:35 .
dr-xr-xr-x. 19 root root 250 12월 21 14:29 ..
-rw-r--r--. 1 root root 1598 12월 21 14:30 dongdaemoon.test
5번) '/home/.dongdaemoon.test' 파일로 저장 후 열기
:! ls -l /home
// sol1>
:w /home/.dongdaemoon.test
// sol2>
: w! >> /home/.dongdaemoon.test
:! touch /home/.dongdaemoon.test
:! ls -la /home
Press ENTER or type command to continue
합계 8
drwxr-xr-x. 3 root root 71 12월 22 13:10 .
dr-xr-xr-x. 20 root root 260 12월 22 12:55 ..
-rw-r--r--. 1 root root 1598 12월 21 14:41 .dongdaemoon.test
drwx------. 5 itbank itbank 208 12월 22 13:09 itbank
: w >> /home/.dongdaemoon.test
:e! /home/.dongdaemoon.test // 강제로 열기
:f
:e inittab
6번) '/backup/kg' 파일로 저장
:! ls /
:! ls /backgup
sol 1>
:w /backup/kg
sol 2>
: w! >> /backup/kg
:! touch /backup/kg
:! ls -l /backup/
:w >> /backup/kg
:e /backup/kg
:! ls -l /backup/
Press ENTER or type command to continue
합계 24
-rw-r--r--. 1 root root 5078 9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root 511 9월 25 15:26 inittab
-rw-r--r--. 1 root root 0 12월 21 14:43 kg
-rw-r--r--. 1 root root 2028 9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd
-rw-r--r--. 1 root root 21 12월 21 12:47 testfile2
Press ENTER or type command to continue
합계 28
-rw-r--r--. 1 root root 5078 9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root 511 9월 25 15:26 inittab
-rw-r--r--. 1 root root 1598 12월 21 14:44 kg
-rw-r--r--. 1 root root 2028 9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd
-rw-r--r--. 1 root root 21 12월 21 12:47 testfile2
7번) 빈 문서(새로 만들기) 파일을 연 후 '/backup/kg' 파일 열기
:enew
:e /backup/kg
:f
"/backup/kg" line 1 of 41 --2%-- col 1
실습 03.
문제 1.
현재 작업하고 있는 /backup/kg 파일은 연 상태에서 작업함.
/home/itbank 홈 디렉터리 하위에 존재하는 모든 내용을 삭제 후
아래에 존재하는 경로를 명령어 한 줄로 작업함.
/home/test/a/b/c
/test/1/2/3
:! rm -rf *
:! ls -l
Press ENTER or type command to continue
[No write since last change]
합계 0
:! mkdir -p /home/test/a/b/c /test/1/2/3
cf) rf 점검
cd /
cd /home/itbank
ls -l /home
drwx------.
실습 04.
문제3.
현재 작업 장소는 /bacukup/kg
1) 위에서 작업한 파일 /home/.dongdaemoon.test 파일을 연 후 안에 있는 내용을 전부 삭제
2) 여러분 윈도우 개인 폴더에 있는 named.conf와 named.rfc1912.zones를 리눅스에 /home/itbank 홈 디렉터리로 업로드를 해주세요
3) 그리고 /vi 디렉터리 하위에 업로드한 2개의 파일을 병합해주세요
병합할 파일명은 하나는 named.1 또 하나는 named.2 입니다
4) 병합할 때 named.1 파일은 절대경로로 병합해주시고 named.2 파일은 상대경로로 병합합니다
5) 병합 됬는지 확인 하시고 /home/.dongdaemoon.test 파일 안에 named.1과 named.2를
각각 삽입해 주세요
(동일한 named.1과 named.2는 동일한 내용을 가지고 있으므로 간단하게 제목을 넣어서
작업. 예를 들어 ====named.1=== , ====named.2==== 이런식으로요)
// 풀이
3) , 4)
:! cat /home/itbank/named.conf /home/itbank/named.rfc1912.zones > /vi/named.1
:! cat named.conf named.rfc1912.zones > ../../vi/named.2
:! ls -l /vi
Press ENTER or type command to continue
합계 8
-rw-r--r--. 1 root root 1915 12월 22 14:47 named.1
-rw-r--r--. 1 root root 1915 12월 22 14:48 named.2
1 ============== named.1 ======================= // Enter 키 눌러 line.2 생성
2
:2r /vi/named.1
...
88 ============== named.2 ======================= // Enter 키 눌러 line.2 생성
89
:89r ../../vi/named.2
* vi에서 경로 변경 방법
:! cd /root // 안먹힘
:cd /root // 됨
:! pwd
// 내가 한거
3) , 4)
:! cat named.conf >> /home/itbank/named.1
:! cat named.rfc1912.zones >> named.2
:! ls -l
Press ENTER or type command to continue
[No write since last change]
합계 16
-rw-r--r--. 1 root root 984 12월 22 14:20 named.1
-rw-r--r--. 1 root root 931 12월 22 14:21 named.2
-rw-r--r--. 1 itbank itbank 984 12월 22 14:15 named.conf
-rw-r--r--. 1 itbank itbank 931 12월 22 14:16 named.rfc1912.zones
5)
:! cat named.1 >> /home/.dongdaemoon.test
:! cat named.2>> /home/.dongdaemoon.test