IPV4点分十进制:
211.34.23.12
网络地址:
主机地址:
主机接入网络:
IP
NETMASK
GATEWAY
HOSTNAME
DNS1
DNS2
DNS3
手动指定
DHCP:Dynmic Host configration Protocol
RHEL5:/etc/modprobe.conf
alias
RHEL6:/etc/udev/rules.d/70-persistent-net.rules
以太网:ethX
ifconfig [ethX]
-a 显示所有接口的配置信息
ifconfig ethX IP/MASK [up|down] 配置网卡信息 # ifconfig eth0:1 192.168.0.3/8
配置的地址立即生效,但重启网路服务或重启电脑都失效
网络服务:
RHEL5: /etc/init.d/network {start|stop|restart|status}
RHEL6: /etc/init.d/NetworkManager {start|stop|restart|status}
建议禁用RHEL6的方法
网关:
route
add:添加
-host:主机路由
-net:网络路由
-net 0.0.0.0
route add -net | -hots DEST gw NEXTHOP
route add default gw NEXTHOP
del:删除
-net
route del -net 10.0.0.0/8
route del -net 0.0.0.0
route del default
所做的改动重启网络服务或主机后失效
查看:
route -n:以数字方式显示各主机或端口等相关信息
网络配置文件
/etc/sysconfig/network
网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=:关联的设备名称,要与文件名的后半部分”INTERFACE_NAME“保持一致
BOOTPROTO={static|none|dhcp|bootp}:引导协议
使用静态地址:static或none
dhcp:表示使用dhcp服务器获取地址
IPADDR=:IP地址
NETMASK=:指定子网掩码
GATEWAY=:设定默认网关
ONBOOT=:开机是否自动激活此网络接口
HWADDR=:硬件地址,要与硬件中的地址保持一致,可省略
USERCTL={yes|no}:是否允许普通用户此接口
PEERDNS={yes|no}:是否在BOOTPROTO为dhcp时接收由DHCP服务器指定的DNS地址
不会立即生效,大水牛重启网络服务或主机不会失效
路由:
/etc/sysconfig/network-scripts/route-ethX
在/etc/sysconfig/network-scripts/创建route-ethX文件添加内容:
添加格式一:
DEST via NEXTHOP
添加格式二:
ADDRESS0=
NETMASK0=
GATEWAY0=
DNS服务器指定方法只有一种:
/etc/resolv.conf
nameserver DNS_IP_1
nameserver DNS_IP_2
指定本地解析:
/etc/hosts(可以理解为dns服务器的缓存)
主机IP 主机名 主机别名(可省略)
172.16.0.1 www.baidu.com www
配置主机名:
hostname HOSTNAME
立即生效,但不是永久有效
永久:(下次重启才有效)
/etc/sysconfig/network
HOSTNAME=
ifconfig:老旧的命令
iproute2
ip
link:网络接口属性
addr:协议地址
route:路由
link:
show
ip -s link show
set
ip link set DEV {up|down}
addr:
add
ip addr add DEV
一块网卡可以使用多个地址:
网络设备可以别名:
eth0:
ethX:X ,eth0:0,eth0:1...
配置方法:
ifconfig ethX:X IP/NETMASK
/etc/sysconfig/network-scripts/ifcfg-ethX:X
非主要地址不能使用DHCP动态获取
LINUX:网络属于内核
-----bash脚本编程之九 while循环
写一个脚本,完成以下功能:
说明:此脚本能于同一个repo文件中创建多个Yum源的指向;
1、接受一个文件名做为参数,此文件存放至/etc/yum.repos.d目录中,且文件名以.repo为后缀;要求,此文件不能事先存,否则,报错;
2、在脚本中,提醒用户输入repo id;如果为quit,则退出脚本;否则,继续完成下面的步骤;
3、repo name以及baseurl的路径,而后以repo文件的格式将其保存至指定的文件中;
4、enabled默认为1,而gpgcheck默认设定为0;
5、此脚本会循环执行多次,除非用户为repo id指定为quit;
if [ -e $1 ]; then
echo "$1 exist."
exit 5
fi
[repo id]
name=
baseurl=
enabled=
gpgcheck=
while,until,for
break:提前退出循环
continue:
while的特殊用法一:
hwile :; do
done
while的特殊用方法二:
while read LINE; do
done < /path/to/somefile
判断/etc/passwd中哪个用户的shell为bash,是的话则显示出来(只显示前6个):
如果用户的ID小于505,不做任何处理(包括显示)
1 #!/bin/bash
2 #
3 FILE=/etc/passwd
4 let I=0
5
6 while read LINE; do
7 [ `echo $LINE | awk -F : '{print $3}'` -le 505 ] && continue
8 [ `echo $LINE | awk -F : '{print $7}'` == '/bin/bash' ] && echo $LINE | awk -F : '{print $1}' && let I++
9 [ $I -eq 6 ] && break
10 done < $FILE
写一个脚本:
1、判断一个指定的bash脚本是否有语法错误,如果有错误,则提醒用户输入Q或者q无视错误退出,其他任何键可以通过vim打开这个bash脚本
2、如果用户通过vim打开编辑后保存退出时任然有错误,则重复第1步动作,否则,就正常关闭退出
demo.sh a.sh(被测试)
until bash -n $1 &> /dev/null; do
read -p "Syntax error, [Qq] to quit, others for editing: " CHOICE
case $CHOICE in
q|Q)
echo "Something wrong, quiting."
exit 5
;;
*)
vim + $1
;;
esac
done
echo "0K"