一、简答题:
1、操作系统五大管理功能?
答:
1)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收
2)存储管理:实质是对存储“空间”的管理,主要指对主存的管理
3)文件管理:又称为信息管理,负责对计算机文件的组织、存储、操作和保护等
4)进程管理:实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。
5)作业(处理机)管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等
2、Linux哲学思想?
一切皆文件
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面,即使用命令行界面
配置数据存储在文本中
3、RAID级别以及简述
比较有用的级别有以下几种:
1)RAID 0
原理:磁盘在两个以上的磁盘驱动器中传送数据,与I/O同时运行,提高I/O性能。若n代表磁盘数量,则每个磁盘驱动器中有n分之一的数据。也就是说可以同时在多块磁盘上读写数据。
优点:高可用性,读写性能高传输速率高,没有数据冗余,大大提高存储性能
缺点:由于没有数据冗余,所以容错性能低,如果其中一块磁盘失效,将影响整个数据,而且一旦损坏,无法恢复。
应用:适用于对数据访问具有容错能力的应用程序,以及能通过其它途径重新形成的数据,适用于个人数据安全要求不高的领域。
注意事项:
1、同一组raid0的硬盘必须容量、规格等都相同
2、组成raid0的磁盘改变为无raid模式或者无raid模式的磁盘改变为raid0模式的时候,系统需要对相应的磁盘重新分区,原磁盘里的数据将全部丢失
2)RAID 1
原理:其中一块磁盘是另一块磁盘的镜像,即把一块磁盘里的数据百分百地复制到另一块磁盘。
优点:最大限度的保护数据,安全性高,读性能有所提高。
缺点:由于完整备份,导致磁盘利用率低,存储性能低。
应用:存放重要数据。
注意事项:同一组raid1的硬盘必须容量、规格等都相同
3)RAID 0+1即RAID10
原理:raid0与raid1的组合,将两个独立的raid1组成一个raid0
优点:既有raid0的速度,又有raid1的数据安全保证
缺点:成本高,磁盘利用率低
应用:适用于对性能和可靠性要求很高的领域。比如:银行、金融、档案管理等。
4)RAID 4
原理:提供块级的奇偶校验保护模式,即有一块固定的校验盘,每一轮数据写完之后都会将校验数据写入校验盘。
优点:当有一块磁盘的数据有差错时,可以通过校验得到正确数据,提高容错性。
缺点:由于每次都需要等到校验盘写完之后才能进行下一轮读写,所以速度慢。
5)RAID 5
原理:与raid4大致原理相同,不同的是,raid5的校验盘不固定,每一轮读写不依赖上次数据是否校验完成。
优点:提高速度,磁盘利用率提高,提高容错性。
缺点:只允许一块盘出现故障,所以必要时候可以给raid5加一块热备盘。
应用:RAID 5适用于关系型数据、读密集型数据库表格、文件共享和Web应用程序等。
4、一台计算机由哪些部件构成
5、介绍Linux安全模型
3A模型:认证、授权、审计
认证:验证身份
授权:给用户赋予一定的权限
审计:记录用户都进行了哪些操作等
6、OSI网络模型以及介绍(写出应用场景更好)
请参看博主的博客:http://13150617.blog.51cto.com/13140617/1962180
7、TCP三次连接,四次断开
请参看博主的博客:http://13150617.blog.51cto.com/13140617/1962190
8、Linux启动流程
四个大阶段:POST加电自检-->MBR 引导-->GRUB-->加载内核
详细过程:
1)加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等,计算机就知道应该去读取哪个硬件设备了,并且检测硬件设备是否准备好了。
2)读取MBR
硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,里面存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到物理内存中。其实被复制到物理内存的内容就是Boot Loader
3)Boot Loader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。系统读取内存中的grub配置信息,并依照此配置信息来启动不同的操作系统。
4)加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。
5)用户层init依据inittab文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。其实/etc/inittab文件最主要的作用就是设定Linux的运行等级。
6)init进程执行rc.sysinit
在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。
7)启动内核模块
具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。
8)执行不同运行级别的脚本程序
根据运行级别的不同,系统会运行该级别相应的脚本程序,来完成相应的初始化工作和启动相应的服务。
9)执行/etc/rc.d/rc.local
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。用户可以把想设置和启动的东西放到这里。
10)执行/bin/login程序,进入登录状态
此时,系统已经进入到了等待用户输入username和password的时候了,就可以用自己的帐号登入系统了。
其实在这背后,还有着更加复杂的底层函数调用,博主目前能力有限,就等待着你去研究喽~~~
总结流程:
POST加电自检,准备好硬件环境。
然后grub的第一阶段(MBR,位于第0磁道的第一个扇区)-->guub1.5阶段-->grub第二阶段(进行分区),共同组成bootloader,其中grub.conf文件记录了内核和initramfs的文件路径,找到这两个文件并解压之后,将控制权交给内核。
内核开始尝试挂载根,挂载的时候从initramfs拷贝一个伪根文件系统,伪根文件系统里存放着根文件系统的驱动及一些必要文件,然后根挂载完成之后,将控制权交给根文件系统。
根文件系统开始启动第一个进程/sbin/init。然后运行初始化文件/etc/inittab(作用是选定运行级别),初始化脚本/etc/rc.d/rc.sysinit(设置欢迎信息,挂载文件系统等),服务脚本/etc/initN.d/(K、S) --> /etc/init.d/... 开启对应级别的服务。
最后的收尾文件/etc/rc.d/rc.local((用户进行的个性化设置),然后就执行/bin/login进入登陆界面了,启动完成。
二、练习题
1、定义别名命令backetc,将/etc/目录下所有文件,备份到/testdir独立的子目录下,并要求子目录格式为backupYYYY-mm-dd,备份过程可见。
alias backet= ’find /etc/ |xargs tar -Jcf /testdir/bakup`date +%F`.tar.xz’
2、计算1+2+3+...+99+100的总和
方法一、
seq -s "+" 100|bc
方法二、
echo {1..100}|tr " " "+"|bc
方法三、
sum=0;for((i=1;i<=100;i++));do let sum+=$i;done;echo $sum
3、Linux系统软件安装和卸载的常见方法以及优缺点
常见的安装方法有两种:rpm 安装和yum安装
常用命令是 rpm -ivh 完整包名
yum install 软件名
优缺点:使用rpm安装必须写清楚包路径和完整包名,而且如果安装的包有依赖关系,那么可以使用--force来忽略依赖关系;使用yum安装,不需要写清楚路径及包名,只需要写上软件名即可,而且自动解决包依赖问题,把该软件所依赖的包全部都安装。
4、如何修改Linux的IP地址、网关和主机名
修改ip可以直接在命令行修改,也可以修改配置文件,修改文件是永久生效的,在命令行修改是临时的。
临时修改ip:ifconfig eth1 ipaddr/netmask
编辑配置文件修改IP地址、网关:
vim /etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=192.168.1.153 <== ip地址
NETMASK=255.255.255.0 <== 子网掩码
GATEWAY=192.128.1.1 <== 网关
修改主机名: vim /etc/sysconfig/network
6、每周2,4,7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd”
vim /etc/crontab
0 0 0 * 2,4,7 root tar Jcvf /logs/messages-`date +%Y%m%d`.tar.xz /var/log/messages &>/dev/null
7、写一个阶乘的脚本n!=1x2x3x...x n
#!/bin/bash
fact () {
if [ $1 -eq 1 ];then
echo 1
else
echo -e "$[$1*$(fact $[$1-1])]"
fi
}
fact $1
8、生成10个随机数保存于数组中,并找出其最大值和最小值
#!/bin/bash
declare -a array
for ((i=1;i<=10;i++));do
array[$i]=$RANDOM
if [ $i -eq 1 ];then
min=${array[$i]}
max=${array[$i]}
else
[ ${array[$i]} -lt $min ]&&min=${array[$i]}
[ ${array[$i]} -gt $max ]&&max=${array[$i]}
fi
echo "第$i个随机数是${array[$i]}"
done
echo "max=$max min=$min"
三、选择题
1、下面哪些命令可以将lsof -ivh lsof-4.82-5.el6.x86_64.rpm安装到当前系统(ABC)
A、rpm -ivh lsof-4.82-5.el6.x86_64.rpm
B、rpm -Uvh lsof-4.82-5.el6.x86_64.rpm
C、yum localinstall lsof-4.82-5.el6.x86_64.rpm
D、rpm -e lsof-4.82-5.el6.x86_64.rpm
说明:选项D表示卸载
2、当yum一个仓库的gpgkey不存在与当前系统上,如何能够成功安装此仓库中的软件包(AD)
A、修改仓库对应的repo文件,添加gpgkey参数,并定制对应的key所在的url
B、修改仓库对应的repo文件,删除gpgkey参数
C、修改仓库对应的repo文件,修改gpgcheck=1
D、修改仓库对应的repo文件,修改gpgcheck=0
3、计划明天凌晨5点,将线上一台服务器的httpd停止,并且启动nginx。要完成这一任务,最 合适的工具选择是(C)
A、crontab B、batch C、at D、when
说明:只执行一次计划任务适合使用at
定期执行适合使用crontab
4、如何快速查看当前nigix进程的所有pid(CD)
A、 ps | grep nginx B、pidof -s nginx C、pidof nginx D、ps aux | grep nginx
5、以下哪些命令可以查看当前系统的TCP连接(CD)
A、top B、htop C、ss D、netstat
说明:top和htop是用来监控cpu的
6、下面哪一个字符集表示非空格字符(A)
A、[:graph:] B、[:digit:] C、[:space:] D、[:alpha:]
说明:[:digit:]表示0-9的数字 [:space:]表示空白字符 [:alpha:]表示大小写字母
7、test表达式中,以下哪一个运算符可以判断文件不是空(C)
A、-z B、-n C、-s D、-S
说明:-z判断字符串为空则真;
-n判断字符串不空为真;
-s判断文件非空为真;
-S判断文件为套接字文件则真
8、关于shell CLI中提示符论述正确的是(AB)
A、PS1控制默认命令行提示的格式
B、PS2控制第二层命令行提示符的格式
C、PS3控制第三层命令行提示符的格式
D、以上说法都对
9、在添加新用户时,哪个参数为新用户指定密码(B)
A、-d B、-p C、-r D、-P
说明:-d表示指定用户家目录
-r表示创建系统用户
四、开放题
1、简述你的优缺点
建议:不要说太多缺点,可以把优点当成缺点说,内容不要太表面。
2、简述工作中最难忘的一次工作经验
建议:就算没有工作经验也要想一个,不要说没有经验。