1.1:centos6与7启动流程 (4分)
CentOS6:
1.开机BIOS自检
2.加载MBR引导
3.加载GRUB菜单
4.加载内核
5.运行INIT进程
6.选择运行级别/etc/inintab
7.初始化系统/etc/rc.sysinit
8.根据运行级别串行启动服务/etc/rc数字.d
9.启动minggetty显示登录界面运行login minggettyCentOS7:
1.开机BIOS自检
2.加载MBR引导
3.加载GRUB菜单
4.加载内核
5.运行systemd进程
6.选择运行级别 default.target
7.初始化系统 sysyinit.target
8.根据运行级别并行启动服务
9.启动login登录界面
1.2:centos6与7运行级别(4分)
CentOS6
0关机
1单用户模式
2多用户模式
3命令行模式
4未启用
5图形化模式
6重启CentOS7
0关机
1救援模式
234多用户模式
5图形化界面
6重启
1.3:什么是inode,什么是block(2分)
inode空间:存放文件属性信息(大小 所有者 权限 文件类型 硬链接数 时间)/不包括文件名
block:数据块 用来存放文件的内容(实体)
1.4:写出20个系统命令,并简述作用(10分)
cp:复制 mv:移动 tr:替换 rm:删除 ls:查看目录
cat:查看文件内容 head:查看文件前十行 tail:查看文件后十行
vim:编辑文件 pwd:显示当前位置 whereis:显示现在在哪
grep:过滤 su -:切换用户 mkdir:创建目录 touch:创建文件
echo:输出 find:查找 cd:进入目录 ln:创建硬链接
1.5: 软硬链接区别 (4分)
软链接:ln -s创建 指向源文件 源文件丢失 软链接失效 可以跨分区创建
硬链接:ln创建 与源文件互为硬链接 源文件丢失没影响 不可以跨分区创建
1.6:raid0 raid1特点(4分)
raid0 最少一块盘 容量是所有盘之和 性能读写速度都快 没有冗余 坏一块都坏
raid1 只能两块盘 容量是容量小的那块盘 性能读正常写入慢 100%冗余 坏一块数据还在
1.7:磁盘分区常见方案(6分)
1.通用(数据不太重要 只有c盘的时候)
/boot 引导分区 200MB(1G)
swap 交换分区 内存不足时临时充当内存
物理内存小于8G swap给内存的1.5倍
物理内存大于8G swap给8G(最多给8G)
/ 根分区 软件和文件默认存放的地方(剩多少给多少)
2.数据重要时
/boot 引导分区 200MB(1G)
swap 交换分区 内存不足时临时充当内存
物理内存小于8G swap给内存的1.5倍
物理内存大于8G swap给8G(最多给8G)
/ 根分区 给20-200G
/data 数据分区 存放数据(剩多少给多少)
3.不知道数据是否重要
/boot 引导分区 200MB
swap 交换分区 内存不足时临时充当内存
物理内存小于8G swap给内存的1.5倍
物理内存大于8G swap给8G(最多给8G)
/ 根分区 给20-200G
剩余空间不分区 谁使用谁来分
1.8: 单引号,双引号,不加引号区别(3分)
单引号:所见即所得
双引号:解析
不加引号:可以加特殊符号{}
2.1:写出一下特殊符号的含义(一种即可)(每个0.5分)
# 提示符
;分隔符
!强制
~ 当前用户家目录
.(点)当前目录
..返回上层目录
- 返回上次操作的目录
优先执行
>标准输出重定向
>>标准追加输出重定向
2>错误输出重定向
2>>错误追加输出重定向
2.2:写出一下正则表达式的含义(每个0.5分)
. 单个字符
* 出现0次或0次以上
.* 所有
^ 以..开头
$ 以...结尾
^$ 空行
[ ] 扩字符
[^ ] 取反;
2.3:写出一下扩展正则表达式的含义(每个0.5分)
+:前一个字符出现一次或一次以上
?:前一个字符出现
| :或者
{ }:前面字符最少出现多少次
三:命令
3.1:找出/etc/passwd文件中以root开头,以bash结尾的行,并显示行号(2分)
grep -n '^root.*bash$' /etc/passwd
3.2:匹配file文件中foo那行及上下5行、显示foo及前5行、显示foo及后5行(2分)
grep -C5 'foo' file/grep -B5 'foo' file/grep -A5 'foo' file
3.3:打印file.txt文件中的第10行(2分)
sed -n '10p' file.txt
3.4:查询文件oldboy.txt的第4-6行(2分)
sed -n '4,6p' oldboy.txt
3.5:删除文件oldboy.txt中所有带有数字的行(2分)
sed -r '/[0-9]/d' oldboy.txt
sed -rn '/[0-9]/!p' oldboy.txt
3.6:将文件中的oldboy全部替换为oldgirl,同时将49000448改为31333741(2分)
sed -r 's#oldboy#oldgirl#g;s#49000448#31333741#g' oldboy.txt
3.7:把/目录下所有以.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy. (2分)
find / -type f -name '.txt' |xargs sed 's#oldgirl#oldboy#g'
sed 's#oldgirl#oldboy#g' `find / -type f -name '.txt'`
3.8:使用awk取出/etc/passwd第一列数据也就是取出用户名。(2分)
awk -F":" '{print $1}' /etc/passwd
3.9:用awk获取reg.txt文件中第三行的倒数第二列字段(2分)
awk 'NR==3{print $(NF-1)}' reg.txt
cat reg.txt
Zhang Dandan 41117397 :250:100:175
Zhang Xiaoyu 390320151 :155:90:201
Meng Feixue 0042789 :250:60:50
Wu Waiwai 70271111 :250:80:75
Liu Bingbing 41117483 :250:100:175
Wang Xiaoai 3515064655 :50:95:135
3.10:显示文件reg.txt所有以41开头的ID号码的人的全名和ID号码(2分)
awk '$3~/^41/{print $1,$2,$3}' reg.txt
3.11:显示小雨的姓名与id号(2分)
awk '$2~/Xiaoyu/{print $1,$2,$3}' reg.txt
3.12:显示Xiaoyu的捐款.每个值时都有以$开头.如$520$200$135 (2分)
awk '$2~/Xiaoyu/{print $NF}' reg.txt|tr ':' '$'
awk '");print $NF}' reg.txt
3.13:计算第一次捐款的总额(2分)
awk -F"[ :]+" '{print $4}' reg.txt|awk '{i=i+$1}END{print i}'
3.14:使用awk计算0加到100(2分)
seq 100|awk '{i=i+$1}END{print i}'
3.15:计算/etc/ssh/sshd.config文件中所有以#开头的行数(2分)
awk '/^#/{i++}END{print i}' /etc/ssh/sshd.config
3.16:取出/etc/fstab 权限(2分)
stat /etc/fstab|sed -n '4p'|sed -r 's#.(0(.)/-.*#\1#g'
3.17:查找/oldboy下最近7天修改过、大于10k,小于10M的文件复制到/tmp下(两种方法)(4分)
find /oldboy -type f -mtime -7 -size +10k -size -10M |xargs cp -t /tmp {} ;
cp -a `find /oldboy -type f -mtime -7 -size +10k -size -10M` /tmp
3.18:调换/etc/passwd 第一列和最后一列内容(至少2种方法)(4分)
sed -r 's#(.)(:x.:)(.*)#\3\2\1#g' /etc/passwd
awk -F":" -vOFS=":" '{tmp=1=NF=tmp;print $0}' /etc/passwd
3.19:查找/etc下以.conf结尾的文件并以时间命名打包到/tmp下(两种方法)(4分)
find /etc -type f -name '.conf'|xargs tar zcf /tmp/`date +%F`.tar.gz
tar zcf /tmp/`date +%F`.tar.gz `find /etc -type f -name '.conf'`
3.20:取ip地址(三种方法)(6分)
ip a s eth0|sed -n '3p'|sed -r 's#.t (.)/24.#\1#g'
ip a s eth0|sed -n '3p'|awk -F"[ /]+" '{print $3}'
ip a s eth0|sed -n '3p'|sed 's#^.t ##g'|sed 's#/24.*$##g'
3.21:找出/oldboy下面以.txt结尾的文件把里面的oldboy替换为oldgirl(三种方法) (6分)
find /oldboy -type f -name '.txt'|xargs sed 's#oldboy#oldgirl#g'
sed 's#oldboy#oldgirl#g' `find /oldboy -type f -name '.txt'`
find /oldboy -type f -name '*.txt' -exec sed 's#oldboy#oldgirl#g' {} ;
四:翻译(每个2分)
You have mail in /var/spool/mail/root
你有邮件
Can't open file for writing
不能打开文件没有权限
unexpected EOF while looking for matching `"'
EOF必须成对
Name or service not known
域名无法解析
user 'oldboy' already exists
文件已存在