마 고 Liux 8 주차 작업
:
, , 。 ,
, “ ”, 。
:
, 。
, ,
, , 。
:
, OSI 。 MAC ,
, 。
:
,
, , , 。
, 、 、 、
, 。 + ,
, ,
。
:
OSI , IP , ,
, ip , ip ,
tcp、udp , ppp 。 ip ,
2. IP 주소 의 분 류 는 어떤 것 이 있 습 니까?서브 넷 마스크 의 표현 형식 과 그 역할
IP Internet 32bit ( ),IP
Internet ,IP , ,
.IP A,B,C,D,E5 . B C .
A :
0 000 0000- 0 111 111:1-127
:127-1=126
:2^24-2
:255.0.0.0
10.0.0.0/8
B
10 00 0000-10 11 1111: 128-191
:2^14
:2^16-2
:255.255.0.0
:172.16.0.0/16 - 172.31.0.0/16
C
110 0 0000- 110 1 1111: 192-223
:2^21
:2^8-2
:255.255.255.0
192.168.0.0/24-192.168.255.0/24
D :
1110 0000-1110 1111:244-239
E :240-255
3. 컴퓨터 네트워크 의 분할 모델 은 어떤 것 (OSI 모델 과 TCP/IP 모델) 이 있 고 각 층 의 기능 과 관련 된 물리 적 장치 가 어떤 것 이 있 습 니까?
OSI :
(1)
(bit), ,
(bit stream) , ,
、 、 。
: 、 ; ;
(2)
(frame) PDU ,
。 : 、 ,
, 。
:MAC , ;PPP ;
(3)
PDU (packet), ,
。 ,
。 ,
, , 。
:IP , , ; ; ;
(4)
PDU (message),
。 ,
。 , : 、
、 。
:TCP,UDP ,IP ;
(5)
, 、
。 、 。
, 。 , ,
, 。
: HTTP ,web,mail
(6)
, ,
。
(7)
, 。
TCP/IP :
TCP/IP 。Internet TCP/IP 。 TCP/IP
, : 、 、 ( )、
。
1、
TCP/IP , -
, IP 。 ,
。
: 、 、 ; ;
2、
TCP/IP 。 。 ,
, 。 ,
, 。
, IP (Internet Protocol)。
, ( ) 。
, 。
: ,
3、
TCP/IP , 。
。 : TCP(transmission control protocol)
UDP(user datagram protocol)。 TCP 、 。 。 , 。 , 。TCP , ,UDP 、 , 。 : , ;
4、
TCP/IP OSI 。
。 , TCP ,
(File Transfer Protocol,FTP)、 (TELNET)、 (Hyper Text Transfer Protocol,HTTP), UDP 。
:
4. 리 눅 스 호스트 를 TCP/IP 네트워크 에 어떻게 연결 하 는 지 상세 한 절 차 를 설명해 주 십시오.(수 동 으로 지정 한 방식)
1、vim /etc/sysconfig/network-scripts/ifcfg-eth0 ( , )
2、 eth0 ,
ONBOOT=no ONBOOT=yes
BOOTPROTO=dhcp BOOTPROTO=static none
IPADDR=IP
NETMASK=mas
GATEWAY=
DNS1=dns (dns )
3
service network restart /etc/init.d/network restart
:( )
ifconfig eth0 192.168.0.1/24
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
5. Linux 호스트 에 네트워크 정 보 를 설정 하 는 방식 은 어떤 것 이 있 습 니까? 각 과정 을 설명 하 십시오.
Ifconfig :
ifconfig ip 。 ,
ip 。 。Ipconfig ethx ipadd netmask x.x.x.x。
ethx x , 0.ipadd ip 。x.x.x..x 。
eth0 ip 192.168.1.1 255.255.255.0
setup :
setup , Network configuration
Device configuration , IP ,mac , ,dns
。
:
1、 - -
2、
3、 - “ ”, IP、 、 、DNS。 , “ ” 。
, :
ifconfig eth0 192.168.0.1/24 ifconfig eth0 192.168.0.1 netmask 255.255.255.0
ip addr replace 192.168.1.8/24 dev eth0
centos7
nmcli c modify eth0 +ipv4.addresses 18.168.1.13/24
nmcli con down eth0;nmcli c up eth0
6. 스 크 립 트 를 작성 하고 ping 명령 으로 172.16.250.1 - 172.16.250.254 사이 의 모든 호스트 의 온라인 상 태 를 탐지 합 니 다.
온라인 호스트 는 녹색 디 스 플레이 를 사용 합 니 다.
온라인 이 아 닌 주 는 빨간색 디 스 플레이 를 사용 합 니 다.
( 192.168.2.1-192.168.2.254 )
[root@localhost tmp]# vim ip.sh
#!/bin/bash
declare -i i=1
declare -i uphosts=0
declare -i downhosts=0
net='192.168.2.'
while [ $i -le 254 ]; do
if ping -c 1 -w 1 $net$i &> /dev/null; then
echo -e "\033[32m $net$i is up!"
let uphosts++
else
echo -e "\033[31m $net$i is down!"
let downhosts++
fi
let i++
done
echo "Up hosts:$uphosts"
echo "Down hosts:$downhosts
[root@localhost tmp]# bash -n ip.sh
[root@localhost tmp]# bash ip.sh
192.168.2.1 is up!
192.168.2.2 is down!
192.168.2.3 is down!
192.168.2.4 is down!
192.168.2.5 is down!
192.168.2.6 is down!
192.168.2.7 is down!
192.168.2.8 is down!
...................
192.168.2.99 is down!
192.168.2.100 is up!
192.168.2.101 is down!
192.168.2.102 is down!
192.168.2.103 is down!
192.168.2.104 is down!
192.168.2.105 is down!
192.168.2.106 is up!
192.168.2.107 is down!
192.168.2.108 is down!
192.168.2.109 is up!
192.168.2.110 is up!
.......................
192.168.2.252 is down!
192.168.2.253 is down!
192.168.2.254 is down!
Up hosts:5
Down hosts:249
7. 각 네트워크 인터페이스의 설정 파일 에서 각 매개 변수의 의미 와 해당 하 는 값 을 상세 하 게 설명 합 니 다.
DEVICE:
HWADDR: MAC
BOOTPROTO: , :dhcp,static,none,bootp
NM_CONTROLLED:NM networkManager (/etc/rc.d/init.d/): nm ,
centos6 no
ONBOOT:
TYPE: : Ethernet,Bridge
UUID:
IPADDR: ip
NETMASK:
GATEWAY:
DNS1:DNS
DNS2:DNS2
USERCTL:
PEERDNS: bootproto dhcp, dhcp server dns
/etc/resolv.conf
8. 어떻게 네트워크 인터페이스 에 여러 개의 주 소 를 설정 합 니까? 어떤 방식 이 있 습 니까?
1、
/etc/sysconfig/network-scripts/ifcfg-eth0 ,
ifcfg-eth0:0 ifcfg-eth0:1
ifcfg-eth0:0
DEVICE=eth0:0 # eth0:0
ONBOOT=yes #
BOOTPROTO=static # ip
IPADDR=192.168.0.1 # ip
NETMASK=255.255.255.0 #
2、
ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 up
ip addr add 192.168.1.8/24 dev eth0label 'eth0:0'
nmcli c modify eth0 +ipv4.addresses 18.168.1.13/24( ip, )
9. 자주 사용 하 는 네트워크 관리 도구 가 어떤 것 이 있 는 지 예시 형식 으로 그들의 사용 방법 을 설명 한다.
ifconfig :
ifconfig [interface]
-a:
ifconfig INTRENAME:
ifconfig interface [aftype] options | address ...
#ifconfig intername IP/MAS
ifconfig eth0 192.168.0.1/24
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 ,
-promisc:
promisc:
route :
:route -n
route add
ip route add 192.168.1.0/24 via 172.16.1.1 dev eth0 192.168.1.0/24 ,
172.16.1.1;ip route add default 172.16.1.1
: route del
: route del -host 192.168.1.3
:route del -net 182.168.0.0 netmask 255.255.255.0
: route del default
ip :
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr |
mroute | monitor }
OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet |
inet6 | ipx | dnet | link } | -o[neline] }
link:
set:
ip link set dev etho down (up and down )
show:
ip link show
dev name:
up: up
addr:
ip addr show
ip addr { add | del } IFADDR dev STRING
ip addr add 192.168.1.8/24 dev eth0
ip addr replace 192.168.1.8/24 dev eth0
ip addr add 192.168.1.8/24 dev eth0label 'eth0:0'( ip , ip)
ip del 192.168.1.8/24 dev eth0
ip addr dev 192.168.1.8/24 dev eth0label 'eth0:0'
ip addr [scope {global|link|host}] [broadcast ADDRESS]
scope: ,globa: ,link: ,host: broadcast:
ip addr show [dev Device] [label LABEL] [primary and secondary ]
ip addr flush show,
route:
ip route add TARGET via GW dev IFACE src SOURCE_IP ip
ip route add 192.168.1.3 via 172.16.0.1 dev eth0
ip route add 192.168.0.0/24 via 172.16.0.1 dev eth0
ip route add default via 172.16.0.1 dev eth0
TARGET:
: ip
:ip/mask
ip route delete
ip route del TARGET
ip route show
ip route flush
10. Linux 시스템 패키지 관리 방법 (설치, 업그레이드, 마 운 트 해제 등 작업) 은 어떤 것 이 있 고 어떻게 관리 하 는 지.
rpm -i rpm
rpm -e
rpm –test
rpm –nodeps
rpm –replacepkgs
rpm –nosignature:
rpm –upgrage , , ,
rpm –freshen: , , ,
rpm -q{l | c } \ \
yum install
yum remove
yum update
yum groupinstall
yum groupupdate
yum groupremove
yum info
11. 발행 판 CD 를 yum reposcory 로 어떻게 사용 하 는 지 설명 하 십시오.
, mount /dev/cdrom /mnt
/etc/yum.repos.d/ repo 。
vim /etc/yum.repos.d/localadd.repos
[localbase]
name=local centos name
baseurl=file:///mnt/
cost=1
gpgcheck=0
enabled=1
12. 스 크 립 트 를 작성 하여 다음 과 같은 기능 을 완성 합 니 다.
(1) 특정한 디 렉 터 리 (/etc/rc. d/rc3. d/) 에 각각 K 로 시작 하 는 파일 과 S 로 시작 하 는 파일 이 있다 고 가정 합 니 다.
(2) K 로 시작 하 는 모든 파일 의 이름 을 표시 하고 stop 문자열 을 추가 합 니 다.
(3) S 로 시작 하 는 모든 파일 의 이름 을 표시 하고 start 문자열 을 추가 합 니 다.
(4) S 로 시작 하 는 파일 과 K 로 시작 하 는 파일 이 각각 얼마나 되 는 지 통계 한다.
[root@localhost ~]# vim rc.sh
#!/bin/bash
declare -i k=0
declare -i s=0
for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do
echo "$i stop"
let k=$k+1
done
for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$"); do
echo "$i start"
let s=$s+1
done
echo "K files:$k"
echo "S files:$s"
[root@localhost ~]# bash -n rc.sh
[root@localhost ~]# bash rc.sh
K10saslauthd stop
K61nfs-rdma stop
K87restorecond stop
K89netconsole stop
K89rdisc stop
K95rdma stop
S02lvm2-monitor start
S08ip6tables start
S08iptables start
S10network start
S11auditd start
S12rsyslog start
S15mdmonitor start
S25blk-availability start
S25netfs start
S26udev-post start
S50kdump start
S55sshd start
S80postfix start
S90crond start
S99local start
K files:6
S files:15
13. 스 크 립 트 를 작성 하여 다음 과 같은 기능 을 완성 합 니 다.
(1) 스 크 립 트 는 사용자 이름 을 매개 변수 로 받 아들 일 수 있 습 니 다.
(2) 이 사용자 들 의 ID 의 합 을 계산 합 니 다.
[root@localhost ~]# vim user.sh
#!/bin/bash
declare -i sum=0
if [ $# -lt 2 ]; then
echo "Please enter two user name"
exit 1
fi
if [ $# -ge 2 ]; then
for i in $@; do
if id $i &> /dev/null; then
userid=`id -u $i`
let sum=$sum+$userid
else
echo "Sorry user $i not found"
fi
done
fi
echo "user id sum:$sum"
[root@localhost ~]# bash -n user.sh
[root@localhost ~]# bash user.sh
Please enter two user name
[root@localhost ~]# bash user.sh toot
Please enter two user name
[root@localhost ~]# bash user.sh toot root
Sorry user toot not found
user id sum:0
[root@localhost ~]# bash user.sh root mageedu
user id sum:500
[root@localhost ~]# bash user.sh tom mageedu ftp mail
user id sum:1023
14. 대본 쓰기
(1) 이 스 크 립 트 에 디 렉 터 리 를 전달 합 니 다.
(2) 각 디 렉 터 리 의 모든 1 급 파일 이나 하위 디 렉 터 리 의 내용 형식 을 하나씩 표시 합 니 다.
(3) 모두 몇 개의 목록 이 있 는 지 통계 한다.그리고 모두 몇 개의 파일 의 내용 형식 을 보 여 줍 니까?
[root@localhost tmp]# vim dir.sh
#!/bin/bash
declare -i fsum=0;bsum=0;csum=0;dsum=0;lsum=0;psum=0;ssum=0
if [ $# -lt 1 ]; then
echo "please enter one dir"
exit 1
fi
if [ $# -ge 1 ]; then
for i in $@; do
if [ ! -d $i ]; then
echo "sorry $i is not dir"
else
tree $i
for j in $(ls $i); do
if [ -L "$i/$j" ];then
let lsum++
elif [ -b "$i/$j" ];then
let bsum++
elif [ -c "$i/$j" ];then
let csum++
elif [ -d "$i/$j" ];then
let dsum++
elif [ -f "$i/$j" ];then
let fsum++
elif [ -p "$i/$j" ];then
let psum++
elif [ -S "$i/$j" ];then
let ssum++
fi
done
fi
done
fi
echo "dir is:$dsum"
echo "file is:$fsum"
echo "b file is:$bsum"
echo "c file is:$csum"
echo "l file is:$lsum"
echo "p file is:$psum"
echo "s file is:$ssum"
[root@localhost tmp]# vim dir.sh
[root@localhost tmp]# bash -n dir.sh
[root@localhost tmp]# bash dir.sh /etc/passwd
sorry /etc/passwd is not dir
dir is:0
file is:0
b file is:0
c file is:0
l file is:0
p file is:0
s file is:0
[root@localhost tmp]# bash dir.sh /dev/
/dev/
├── agpgart
├── block
│ ├── 1:0 -> ../ram0
│ ├── 1:1 -> ../ram1
│ ├── 1:10 -> ../ram10
│ ├── 11:0 -> ../sr0
│ ├── 1:11 -> ../ram11
│ ├── 1:12 -> ../ram12
│ ├── 1:13 -> ../ram13
│ ├── 1:14 -> ../ram14
│ ├── 1:15 -> ../ram15
│ ├── 1:2 -> ../ram2
.......................
├── VolGroup
│ ├── lv_home -> ../dm-2
│ ├── lv_root -> ../dm-0
│ └── lv_swap -> ../dm-1
└── zero
29 directories, 410 files
dir is:16
file is:0
b file is:31
c file is:122
l file is:15
p file is:0
s file is:1
15. 스 크 립 트 쓰기
명령 행 을 통 해 스 크 립 트 에 매개 변 수 를 전달 합 니 다. 매개 변 수 는 사용자 이름 입 니 다.
사용자 의 id 번호 가 500 보다 크 면 이 사용 자 를 일반 사용자 로 표시 합 니 다.
[root@localhost tmp]# vim us.sh
#!/bin/bash
if [ $# -lt 1 ]; then
echo "please enter a user naem"
exit 1
fi
if [ $# -ge 1 ]; then
for i in $@; do
if id $i &> /dev/null; then
userid=`id -u $i`
if [ $userid -ge 500 ]; then
echo " $i is a regular user"
else
echo " $i is a system user"
fi
else
echo " sorry $i user is not found"
fi
done
fi
[root@localhost tmp]# bash -n us.sh
[root@localhost tmp]# bash us.sh
please enter a user naem
[root@localhost tmp]# bash us.sh yy
sorry yy user is not found
[root@localhost tmp]# bash us.sh root
root is a system user
[root@localhost tmp]# bash us.sh root yy
root is a system user
sorry yy user is not found
[root@localhost tmp]# bash us.sh root mageedu
root is a system user
mageedu is a regular user
[root@localhost tmp]# bash us.sh tom mageedu
tom is a regular user
mageedu is a regular user
16. 스 크 립 트 쓰기
(1) 사용자 user1 - user 10 추가;비밀번호 와 사용자 이름;
(2) 사용자 가 존재 하지 않 을 때 만 추가 합 니 다.존재 할 때 건 너 뛰 기;
(3) 마지막 으로 이번 사용자 가 얼마나 추 가 했 는 지 보 여 줍 니 다.
[root@localhost tmp]# vim adduser.sh
#!/bin/bash
declare -i i=0
declare -i users=0
if [ ! $UID -eq 0 ]; then
echo "welcome root create user"
exit 1
fi
while [ $i -le 10 ]; do
let i++
if id user$i &> /dev/null; then
echo "user exists"
continue
else
useradd user$i
if [ $? -eq 0 ]; then
echo "user$i" | passwd --stdin user$i &> /dev/null
echo " New user:user$i add sucess"
let users=$users+1
fi
fi
done
echo "addusers:$users"
[root@localhost tmp]# bash -n adduser.sh
[root@localhost tmp]# bash adduser.sh
user exists
user exists
user exists
user exists
user exists
user exists
New user:user7 add sucess
New user:user8 add sucess
New user:user9 add sucess
New user:user10 add sucess
addusers:4
[root@localhost tmp]# bash adduser.sh
user exists
user exists
user exists
user exists
user exists
user exists
user exists
user exists
user exists
user exists
user exists
addusers:0
17. 스 크 립 트 를 작성 하고 ping 명령 으로 172.16.250.20 - 172.16.250.100 이내 에 어떤 호스트 가 온라인 에 있 는 지 테스트 하여 온라인 으로 표시 합 니 다.
[root@localhost tmp]# vim ip2.sh
#!/bin/bash
declare -i i=1
declare -i uphosts=0
declare -i downhosts=0
net='192.168.2'
for i in {1..254}; do
ping -c 1 -w 1 ${net}.${i} &> /dev/null
if [ $? -eq 0 ]; then
echo "${net}.${i} is up !"
let uphosts++
else
echo "${net}.${i} is down!!"
let downhosts++
fi
done
echo "Up hosts is:$uphosts"
echo "Down hosts is:$downhosts"
[root@localhost tmp]# bash -n ip2.sh
[root@localhost tmp]# bash ip2.sh
192.168.2.1 is up !
192.168.2.2 is down!!
192.168.2.3 is down!!
192.168.2.4 is down!!
.....................
192.168.2.249 is down!!
192.168.2.250 is down!!
192.168.2.251 is down!!
192.168.2.252 is down!!
192.168.2.253 is down!!
192.168.2.254 is down!!
Up hosts is:7
Down hosts is:247
18. 구구 곱셈 표를 인쇄 한다.
for:
[root@localhost tmp]# vim nine.sh
#!/bin/bash
declare -i i=1
declare -i j=1
for i in {1..9}; do
for j in $(seq 1 $i); do
echo -e -n "${j}X${i}=$[$j*$i]\t"
done
echo
done
[root@localhost tmp]# bash -n nine.sh
[root@localhost tmp]# bash nine.sh
1X1=1
1X2=22X2=4
1X3=32X3=63X3=9
1X4=42X4=83X4=124X4=16
1X5=52X5=103X5=154X5=205X5=25
1X6=62X6=123X6=184X6=245X6=306X6=36
1X7=72X7=143X7=214X7=285X7=356X7=427X7=49
1X8=82X8=163X8=244X8=325X8=406X8=487X8=568X8=64
1X9=92X9=183X9=274X9=365X9=456X9=547X9=638X9=729X9=81
while
[root@localhost tmp]# vim nine2.sh
#!/bin/bash
declare -i i=1
declare -i j=1
while [ $i -le 9 ]; do
while [ $j -le $i ]; do
echo -e -n "${j}X${i}=$[$j*$i]\t"
let j++
done
let j=1
let i++
echo
done
[root@localhost tmp]# bash -n nine2.sh
[root@localhost tmp]# bash nine2.sh
1X1=1
1X2=22X2=4
1X3=32X3=63X3=9
1X4=42X4=83X4=124X4=16
1X5=52X5=103X5=154X5=205X5=25
1X6=62X6=123X6=184X6=245X6=306X6=36
1X7=72X7=143X7=214X7=285X7=356X7=427X7=49
1X8=82X8=163X8=244X8=325X8=406X8=487X8=568X8=64
1X9=92X9=183X9=274X9=365X9=456X9=547X9=638X9=729X9=81
until
[root@localhost tmp]# vim nine3.sh
#!/bin/bash
declare -i j=1
declare -i i=1
until [ $j -gt 9 ]; do
until [ $i -gt $j ]; do
echo -n -e "${i}X${j}=$[$i*$j]\t"
let i++
done
echo
let i=1
let j++
done
[root@localhost tmp]# bash -n nine3.sh
[root@localhost tmp]# bash nine3.sh
1X1=1
1X2=22X2=4
1X3=32X3=63X3=9
1X4=42X4=83X4=124X4=16
1X5=52X5=103X5=154X5=205X5=25
1X6=62X6=123X6=184X6=245X6=306X6=36
1X7=72X7=143X7=214X7=285X7=356X7=427X7=49
1X8=82X8=163X8=244X8=325X8=406X8=487X8=568X8=64
1X9=92X9=183X9=274X9=365X9=456X9=547X9=638X9=729X9=81
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.