第一阶段模拟考试题 |
1.1 请问执行完以下命令,当前目录全路径是__ /application/nginx/html/blog(3分)
[root@iZ23eyxc0p2Z conf]# pwd
/application/nginx/conf
[root@iZ23eyxc0p2Z conf]# ls
fastcgi.conf koi-utfnginx.confscgi_params win-utf
fastcgi.conf.default koi-win nginx.conf.2017-09-04 scgi_params.default
fastcgi_paramsmime.types nginx.conf.2017-10-03 uwsgi_params
fastcgi_params.defaultmime.types.defaultnginx.conf.defaultuwsgi_params.default
[root@iZ23eyxc0p2Z conf]# cd ../html/blog/
1.2 查看当前目录下txt结尾的文件 (3分)
方法1:
find . -type f -name "*.txt" |xargsls -l
方法2:
ls *.txt
1.3 把/data 目录复制到 /tmp目录下并改名为data_20180120 (20180120为当天时间)(3分)
cp -a /data /tmp/data_$(date +%Y%m%d)
1.4 Linux系统有几个运行级别,都有什么,是什么意思? (3分)
1运行级别0-6的含义
0表示关机
1表示单用户模式
2 表示没有NFS的多用户模式
3 表示完全多用户模式,命令行模式
4 没有使用
5 图形化界面模式,桌面模式
6 重启
1.5 描述buffer 和cache 的区别 (3分)
buffer 缓冲 往内存中写入数据
cache 缓存 从内存中读出数据
1.6 说出下面几个文件的作用 (3分)
/var/log/messages系统默认的日志,系统日志也行
/etc/sysconfig/network 永久修改主机名
/etc/profile 系统的环境变量 和 别名( rm cp mv )
/var/spool/cron/root定时任务配置文件
/etc/rc.local开机自动运行的命令或脚本放在这里 开机自启动的命令或脚本也行
/etc/resolv.conf DNS配置文件
1.7 设定开机时自动挂载文件系统的文件是__/etc/fstab_____ (3分)
1.8 绝对路径打包yum缓存文件/var/cache/yum/以便给其它服务器使用,请写出在本机打包命令及在其它服务器解包命令 (3分)
tar zcf创建压缩包
tar tf查看压缩包内容
tar xf解压
tar -C 解压到指定位置
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
本机打包
tar zcfP /var/cache/yum
其它服务器解包
tar xfP /var/cache/yum
#没写出P也可以酌情给分。
1.9 把mysql-5.6.34.tar.gz解压到/application目录下 (3分)
tar xf mysql-5.6.34.tar.gz -C /application
1.10 如何查看是否开启22 端口,及查看sshd进程是否存在? (3分)
查看端口:
netstat -lntup|grep 22
ss -lntup|grep 22
以上两个不太好
lsof -i:22
telnet ip地址 22
查看进程:
ps -ef|grep sshd
netstat -lntup|grpe sshd
1.11 将/data 目录下所有7 天以前,以log结尾并且大于1M的文件移动到/tmp目录下(三种方法)(4分)
find /data -type f -name "*.log" -mtime +7 -size +1M |xargs -i mv {} /tmp
find /data -type f -name "*.log" -mtime +7 -size +1M -exec mv {} /tmp \;
find /data -type f -name "*.log" -mtime +7 -size +1M |xargs mv -t /tmp
1.12 请执行命令取出linux中eth0的IP地址(至少两种方法 4分)
方法1
[root@show files]# ifconfig eth0|sed -rn '2s#^.*dr:(.*)Bc.*$#\1#gp'
10.0.0.50
注意:不写^或 $也没有问题。
方法2
[root@show files]# ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}'
10.0.0.50
方法3
[root@show files]# ifconfig eth0|awk -F "addr:|Bcast" 'NR==2{print $2}'
10.0.0.50
方法其他:
分步骤写的也行,第一步定位,第二步取ip地址。
1.13 添加一个虚拟用户mysql指定uid为888 (3分)
useradd -u 888 -s /bin/nologin mysql
-u 指定用户的uid ,-s指定用户登录的命令解释器
1.14 添加一个定时任务每天的晚上12点,备份/etc/hosts /etc/services文件到/data目录 (4分)
解答:
第一步:写备份脚本
vim /server/scripts/bak.sh
### 脚本内容如下
#!/bin/bash
cd /
tar zcf /data/hosts-$(date +%F).tar.gz /etc/hosts
tar zcf /data/services-$(date +%F).tar.gz /etc/services
第二步:写定时任务
00 00 * * * /bin/sh /server/scripts/bak.sh >/dev/null 2>&1
注意:写在一起 打成一个压缩包也可以。
1.15 查找出系统中大于50k且小于100k的文件,把这些文件复制到/tmp下.(不少于2种方法)(4分)
find / -type f -size +50k -size -100k | xargs cp -t /tmp/
cp $( find / -type f -size +50k -size -100k) /tmp/
find / -type f -size +50k -size -100k -exec cp {} /tmp/ \;
1.16 请详细描述linux系统从打开主机电源到进入登录界面整个过程的流程 (4分)
bios自检
mbr引导
grub菜单
加载内核
运行init进程
读取运行级别/etc/inittab
执行初始化脚本 /etc/rc.sysinit
根据运行级别运行开机自启动程序
执行mingetty,显示登录界面
1.17 linux下面ping www.baidu.com 出现unknown host 错误如何排查? (3分)
1. ping 223.5.5.5 看看是否能畅通
2. 如果畅通就表明dns配置有问题
3. 修改网卡的dns配置(或者dns配置文件 /etc/resolv.conf)
4.然后重启网卡让配置生效。
1.18 把nginx.conf.default文件中的空行或以#开头的行去掉,其余内容放入nginx.conf文件 (3分)
方法一:grep
egrep -v "^$|^#" nginx.conf.default > nginx.conf
方法二:sed
sed -r '/^#|^$/d' nginx.conf.default > nginx.conf
方法三:awk
awk '!/^$|^#/' nginx.conf.default > nginx.conf
1.19 把mysql安装目录/application/mysql-5.6.34及其下面的内容授权给mysql用户和mysql组 (3分)
chown -R mysql.mysql/application/mysql-5.6.34
1.20 老男孩教育企业面试案例:请问如下登录环境故障的原理及解决办法?(3分)
-bass-4.1$
-bash-4.1$
故障原因:删除了用户家目录下的环境变量文件
解决办法:cp -a /etc/skel/.bash* ~
1.21 处理以下文件内容,将域名取出并根据域名进行计数排序处理(4分)
http://www.etiantian.org/index.html
http://www.etiantian.org/1.html
http://post.etiantian.org/index.html
http://mp3.etiantian.org/index.html
http://www.etiantian.org/3.html
http://post.etiantian.org/2.html
方法一
[root@oldboy ~]# awk -F'/' '{print $3}' oldboy.log|sort|uniq -c|sort -rn
3 www.etiantian.org
2 post.etiantian.org
1 mp3.etiantian.org
方法二
awk数组
[root@oldboy ~]# awk -F "/" '{S[$3]++}END{for(k in S) print S[k],k}' oldboy.log|sort -rn
3 www.etiantian.org
2 post.etiantian.org
1 mp3.etiantian.org
S[] 表示数组
$3 表示第三列
++ 表示递增,自增
END 前面的定义,后面的结果
1.22 简述 raid0 raid1 raid5 raid10的工作原理和特点?(4分)
raid级别 |
最少硬盘数量 |
性能 |
磁盘空间 |
冗余 |
|
raid 0 |
至少1块硬盘 |
拥有最高的读写速度 |
磁盘空间没有被浪费 |
只要坏了一块 |
|
raid 1 |
只能是2块硬盘 |
读的速度还可以相当于是一块硬盘 |
磁盘空间被浪费了一半 |
可以损坏一块 |
|
raid 5 |
至少需要3块硬盘 |
读的速度ok,写入的速度比较慢 |
损失一块硬盘的容量 |
最多可以损坏一块 |
|
raid 10 |
至少需要4块硬盘 |
读写速度都很快 |
损失了一半 |
最多一半 |
|
raid 0 追求性能 不需要保证数据的安全 MySQL slave 数据库从库 |
|||||
raid 1 安全性 对性能要求不高 对安全要求高 |
|||||
raid 5 性能有(读) 安全性(最多可以坏一块) 容量(损失一块硬盘) 对于性能要求不高 用户并发比较小 |
|||||
raid 10 贵 性能 安全性 数据库的主库 |
1.23 说出磁盘常见接口类型。(4分)
SAS
SATA
PCI-E
SAS 15k 300G 600G
10k 1.6t
7.2k 8TB
SATA 10k
PCI-E 固态硬盘
1.24 CentOS默认的Shell是_bash__或_/bin/bash__(3分)
1.25 如何查看主机的路由规则 (3分)
route -n
ip r 或 ip ro 或 ip route
1.26 局域网的网络地址192.168.1.0/24, 局域网络连接其他网络的网关地址是192.168.1.1主机192.168.1.20访问172.16.1.0/24网络时,其路由设置为_______________ (3分)
route add -net 172.16.1.0/24 gateway 192.168.1.1
1.27 企业中Linux服务器系统分区标准是什么?(3分)
/boot 系统启动文件 Linux内核 200M
swap 交换分区(虚拟内存),内存快用完了,就用swap分区 内存的1.5倍(内存小于8G的时候) 如果内存大于8G 就给8G
/ 根目录 剩余多少给多少
1.28 简单叙述下三次握手和四次挥手的原理(4分)
三次握手:
四次断开:
注:用文字描述,整个过程也可。
1.29 sed命令练习题(4分)
[root@oldboyedu ~]# cat /tmp/passwd
root:x:0: 0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
1.29.1 删除文件中的所有空行(1分)
sed '/^$/d' /tmp/passwd
grep -v "^$" /tmp/passwd
awk '!/^$/' /tmp/passwd
1.29.2 删除头三行(1分)
sed '1,3d' /tmp/passwd
awk 'NR>3' /tmp/passwd
1.29.3 显示bin-halt开头之间的行(2分)
sed -n '/^bin/,/^halt/p' /tmp/passwd
awk '/^bin/,/halt/' /tmp/passwd
1.30 找出下面有误的变量名(3分)
①x
②name
③passWord
④1jia
⑤123
⑥z_123
错误的:第4个和第5个
字母数字下划线组成
变量名字不能以数字开头。
闭卷会答才是把知识装入了大脑的潜意识!
开卷会答,说明最多只在大脑里建立了软连接快捷方式,源文件不在脑袋里。
--老男孩老师