关于云计算:运维必须掌握的Linux面试题

4次阅读

共计 2657 个字符,预计需要花费 7 分钟才能阅读完成。

1、解释下什么是 GPL,GNU, 自由软件?

GPL:(通用公共许可证):一种受权,任何人有权获得、批改、从新公布自由软件的势力。GNU:(革奴打算):指标是创立一套齐全自在、凋谢的的操作系统。自由软件:是一种能够不受限制地自在应用、复制、钻研、批改和散发的软件。次要许可证有 GPL 和 BSD 许可证两种。

2、linux 零碎里,buffer 和 cache 如何辨别?

buffer 和 cache 都是内存中的一块区域,当 CPU 须要写数据到磁盘时,因为磁盘速度比较慢,所以 CPU 先把数据存进 buffer,而后 CPU 去执行其余工作,buffer 中的数据会定期写入磁盘;当 CPU 须要从磁盘读入数据时,因为磁盘速度比较慢,能够把行将用到的数据提前存入 cache,CPU 间接从 Cache 中拿数据要快的多。

3、形容 Linux 运行级别 0 - 6 的各自含意

0:关机模式
1:单用户模式 <== 破解 root 明码
2:无网络反对的多用户模式
3:有网络反对的多用户模式(文本模式,工作中最罕用的模式)4:保留,未应用
5:有网络反对的 X -windows 反对多用户模式(桌面)6: 从新疏导零碎,即重启 

4、形容 Linux 零碎从开机到登陆界面的启动过程

⑴开机 BIOS 自检,加载硬盘。⑵读取 MBR,MBR 疏导。⑶grub 疏导菜单 (Boot Loader)。⑷加载内核 kernel。⑸启动 init 过程,根据 inittab 文件设定运行级别
⑹init 过程,执行 rc.sysinit 文件。⑺启动内核模块,执行不同级别的脚本程序。⑻执行 /etc/rc.d/rc.local
⑼启动 mingetty,进入零碎登陆界面。

5、形容 Linux 下软链接和硬链接的区别

 在 Linux 零碎中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。①默认不带参数的状况下,ln 创立的是硬链接,带 - s 参数的 ln 命令创立的是软链接。②硬链接文件与源文件的 inode 节点号雷同,而软链接文件的 inode 节点号,与源文件不同,③ln 命令不能对目录创立硬链接,但能够创立软链接。对目录的软链接会常常应用到。④删除软链接文件,对源文件和硬链接文件无任何影响。⑤删除文件的硬链接文件,对源文件及软链接文件无任何影响。⑥删除链接文件的源文件,对硬链接文件无影响,会导致其软链接生效(红底白字闪动状)。⑦同时删除源文件及其硬链接文件,整个文件才会被真正的删除。⑧很多硬件设施的快照性能,应用的就是相似硬链接的原理。⑨软链接能够跨文件系统,硬链接不能够跨文件系统。

6、shell 脚本中“$?”标记的用处是什么?

 在写一个 shell 脚本时,如果你想要查看前一命令是否执行胜利,在 if 条件中应用“$?”能够来查看前一命令的完结状态。简略的例子如下:root@localhost:~# ls /usr/bin/
root@localhost:~# echo $?
0

如果完结状态是 0,阐明前一个命令执行胜利。root@localhost:~# ls /usr/bin/share
ls: cannot access /usr/bin/share: No such file or directory

root@localhost:~# echo $?
2
如果完结状态不是 0,阐明命令执行失败。

7、如何让 history 命令显示具体工夫?

$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"

$ export HISTTIMEFORMAT

从新开机后会还原,能够写/etc/profile

8、用 shell 统计 ip 拜访状况,要求剖析 nginx 拜访日志,找出拜访页面数量在前 10 位的 IP 数。以下是 nginx 的拜访日志节选

202.101.129.218- - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)"

# 请写 shell 实现输入 top10 的 IP 列表。$ awk '{print $1}' access.log |sort|uniq -c |head -n 10

31 202.101.129.218
21 123.93.29.11
11 13.92.19.31

9、将本地的 80 端口的申请转发到 8080 端口,本机地址 10.0.0.254,写出命令

$ iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dprot 80 -j DNAT --to-destination 10.0.0.254:8080

10、Load 过高的可能性有哪些?

 排查思路:1. 首先排查哪些过程 cpu 占用率高。通过命令 ps ux
2、如果通过第一步看到一个 JAVA 过程占有资源比拟高,查看对应 java 过程的每个线程的 CPU 占用率。通过命令:ps -Lp 15047
3、追踪线程外部,查看 load 过高起因。通过命令:jstack 15047

其余教训:cpu load 的飙升,一方面可能和 full gc 的次数增大无关,一方面可能和死循环无关 

11、形容 /etc/fstab 文件中每个字段的含意?

(1)第一列:将被加载的文件系统名;(2)第二列:该文件系统的装置点;(3)第三列:文件系统的类型;(4)第四列:设置参数;(5)第五列:供备份程序确定上次备份距当初的天数;(6)第六列:在零碎疏导时检测文件系统的程序。

12、如何在打包时排除指定目录?

$ tar --exclude=/home/dmtsai --exclude=*.tar -zcvf myfile.tar.gz /home/* /etc

13、怎么生成随机明码?

mkpasswd -l 8  -C 2 -c 2 -d 4 -s 0

14、如何统计 tcp 状态?

netstat -an | grep '^tcp' | awk '{++s[$NF]} END{for(i in s) print i"\t"s[i]}'

15、mysql 遗记 root 明码怎么办

$ mysqld_safe --user=mysql --skip-grant-tables --skip-networking & use mysql;
mysql> update user set password=password('123123') where user='root';

更多文章和材料 ↓↓↓
阿里云 K8s 实战手册 K8s
阿里云 CDN 排坑指南 CDN
ECS 运维指南 ECS
DevOps 实际手册 DevOps
Hadoop 大数据实战手册 Hadoop

正文完
 0