1、简述osi七层模型和TCP/IP五层模型
osi七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
TCP/IP五层模型:应用层,传输层,网络层,数据链路层,物理层
2、简述iproute家族命令
ifconfig:接口及地址查看和管理
-a: 显示所有接口
interface/网卡名 ip/掩码 :配置端口及网卡ip及掩码
-promisc:写入内核端口及网卡信息
管理ipv6地址:
add addr/prefixlen
del addr/prefixlen
route:路由查看及管理
-n : 查看
add ……(ip,掩码,下一跳等等):添加
del … : 删除
netstart:
显示路由表:netstat -rn
-r :显示内核路由表
-n : 数字格式
显示网络连接:
netstat
-t:tcp协议的相关连接
-u:udp相关的连接
-w:raw socker相关的连接
-l:处于监听状态的连接
-a:所有状态
-n:以数字格式显示ip和port
-e:拓展格式
-p:显示相关的进程及PID
显示接口统计数据
netstat -i 所有接口
-I 指定端口
ip link set:修改网络设备属性
dev $name指定管理的设备;dev可省略;up或者down
multicast或multicast off:启用或者禁用多播功能
name $name :重命名接口
mtu 数字:设置MTU大小,默认1500
netns PID:用于将接口移动到指定的网络名称空间
show:显示网络设备属性
help:显示简要帮助
ip netns list:列出所有的netns
ip netns add $name:创建指定netns
del :删除指定netns
exec $name 命令:在指定的netns中运行命令
ip address delete:删除ip
ip address show :查看ip
ip address flush:ip刷新
ip route delete:删除路由
ip route show :查看路由
ip route flush:路由刷新
3、详细说明进行管理工具htop、vmstat等相关命令,并举例?
htop
基于文本模式的、交互式的进程查看器,主要用于控制台或shell中,比top命令更加人性化,可以说是top的高级版。Linux系统默认不安装htop,需要自行安装,可以登录官网下载安装或配置epel源,通过yum install htop安装。
htop的使用:
[root@happiness ~]# htop
总共分成四个区:
1)上左区:显示CPU(1、2表示CPU的核数)、物理内存和交换分区的信息;
2)上右区:显示任务数量(tasks)、平均负载(load average)和系统从开机到现在的运行时长;
3)进程区域:动态显示当前系统中的所有进程;
4)操作提示区:显示当前界面中F1~F10功能键中定义的快捷功能。
htop常用功能键:
F1 : 查看htop使用说明
F2 : 设置
F3 : 搜索进程
F4 : 过滤器,按关键字搜索
F5 : 显示树形结构
F6 : 选择排序方式
F7 : 减少nice值,这样就可以提高对应进程的优先级
F8 : 增加nice值,这样可以降低对应进程的优先级
F9 : 杀掉选中的进程
F10 : 退出htop
/ : 搜索字符
h : 显示帮助
l :显示进程打开的文件
u :显示所有用户,并可以选择某一特定用户的进程
s : 将调用strace追踪进程的系统调用
t : 显示树形结构
H :显示/隐藏用户线程
I :倒转排序顺序
K :显示/隐藏内核线程
M :按内存占用排序
P :按CPU排序
T :按运行时间排序
上下键或PgUP,PgDn:移动选中进程
左右键或Home,End:移动列表
Space(空格):标记/取消标记一个进程
htop常用选项:
-d #:指定延迟时间间隔
-u UserName:仅显示指定用户的进程
-s COLUME:以指定字段进行排序
vmstat
指定时间间隔内,动态监控系统的虚拟内存、进程、CPU活动的整体情况,属于低开销工具。命令格式:vmstat [options] [ delay [count] ]。
delay:刷新时间间隔,如果不指定,只显示一条结果;
count:刷新次数;如果不指定count但指定了delay,这时会一直刷新。
常用的options选项:
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量
-m:显示slab信息(slab,Linux的内存分配机制)
-n:只在开始时显示一次各字段名称
-s:显示内存相关统计信息及多种系统活动数量
-d:显示磁盘相关统计信息
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(bytes)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息
4、使用until和while分别实现192.168.0.0/24?
网段内,地址是否能够ping通,弱ping通则输出”success!”,若ping不通则输出”fail!”
#!/bin/bash
#
declare -i i=1
while [ $i -le 254 ];do
if ping -W 1 -c 1 192.168.0.$1 &> /dev/null;then
echo “host 192.168.0.$i is alive.”
else
echo “host 192.168.0.$i is down.”
fi
let i++
done
#!/bin/bash
#
declare -i i=1
until [ $i -gt 254 ];do
if ping -W 1 -c 1 192.168.0.$1 &> /dev/null;then
echo “host 192.168.0.$i is alive.”
else
echo “host 192.168.0.$i is down.”
fi
let i++
done
1、简述linux操作系统启动流程
系统初始化流程(内核级别):post—》bios—》MBR—–》kernel—》root—–》/sbin/init
2、简述grub启动引导程序配置及命令行接口详解
二、grub legacy
三个过程
- 安装在mbr
- 存放在mbr之后的扇区
- 存放在磁盘分区(/boot/grub)
配置文件
/boot/grub/grub.conf、/etc/grub.conf
功用
stage2及内核等通常放置于一个基本磁盘分区
-
- 编辑模式、用于编辑菜单
- 命令模式、交互式接口
-
-
识别设备
GRUB不区分IDE硬盘和SCSI硬盘,统一使用hdx来标识。其中x指定BISO硬盘编号,从零开始计数,而且通常计算机的IDE硬盘编号在SCSI硬盘前。Grub使用hd(X,Y)编号来识别计算机中某一硬盘的某一分区。
-
,且hd后逗号均无空格;
*其中hd(X,Y)的X是指计算机中的X块硬盘,编号从0开始,在BIOS中设置引导的第一块硬盘为0,其他的硬盘按照IDE的顺序排列,依次为1,2,3,… - 中的Y指的是硬盘中划分出来的第几个分区。编号也是从0开始,其他的分区是1,2,3,,需要注意的是:0,1,2,3,是指硬盘中的主分区,如果是扩展分区,编号将从4开始,一直到最后一个扩展分区。
grub命令行接口
- 获取帮助列表
- help KEYWORD:详细帮助信息
- find (hd#,#)/PATH/TO/SOMEFILE:查找
- kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数
-
initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk
boot:引导启动选定的内核
手动在grub命令行接口启动系统
grub>root(hd#,#)grub所在的的根
grub>kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 设定本次启动用到的内核文件
grub>initrd /initrafs-VERSION-RELEASE.img
grub>boot 启动
3、实现kickstart文件制作与光盘镜像制作
kickstart文件,是linux(Redhat、Centos、Fedora)下的anaconda安装程序的配置文件,基于此文件,可以实现linux的无人值守安装,在需要大规模部署安装linux的情况下,这会是一个非常简单有效率的工具。
kickstart文件的组成
命令段:指明各种安装前配置,如键盘类型等
程序包段:指明要安装的程序包组或程序包,不安装的程序包等
%packages
@group_name
package
-package
%end
脚本段:
%pre:安装前脚本
运行环境:运行于安装介质上的微型Linux环境
%post:安装后脚本
运行环境:安装完成的系统
命令段的命令
命令段的命令
必备命令
authconfig:认证方式
authconfig –useshadow –passalgo=sha512
bootloader:bootloader的安装位置及相关配置
bootloader –location=mbr –driverorder=sda –append=”crashkernel=auto crashkernel=auto rhgb rhgb quiet quiet”
keyboard:设置键盘类型
lang:语言类型
part:创建分区
rootpw:指明root的密码
timezone:时区
可选命令
install or upgrade
text:文本安装界面
network
firewall
selinux
halt
poweroff
reboot
repo
user:安装完成后系统创建的新用户
url:指明安装源
创建kickstart文件的方式
直接手动编辑
依据某模板修改 ///root/anaconda-ks.cfg
可使用工具创建:system-config-kickstart(centos6)
注意:选择clear master boot record和Remove all existing partitions才能实现全自动化安装,否则会弹出提示对话框。
3.查看root下生成的文件,并检查语法错误#ksvalidator ks.cfg
制作引导光盘
1、首先准备工作目录,这里使用
[root@qingcheng-app3 ~]# mkdir /tmp/myiso
2、挂载系统发行光盘,复制isolinux目录至tmp目录下
[root@qingcheng-app3 ~]mount -o /dev/cdrom /mnt/cdrom
[root@qingcheng-app3 ~]cp /root/myks.cfg /tmp/myiso
[root@qingcheng-app3 ~]cp -a /mnt/cdrom/isolinux /tmp/myiso
[root@qingcheng-app3 ~]cd /tmp/myiso/isolinux&&vim isolinux.cfg
[root@qingcheng-app3 ~]mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “Centos 6.6 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/
注意:一定退出myiso目录,创建光盘镜像,指明路径信息。
3、如果需要的话,可以将制作好的boot.iso镜像复制到windows上面,新建虚拟机,设置光盘启动进行测试。
原创文章,作者:dajiang,如若转载,请注明出处:http://www.178linux.com/123975