运维必须掌握的Linux面试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维必须掌握的Linux面试题相关的知识,希望对你有一定的参考价值。

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条件中使用“ ?
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)"

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过高的可能性有哪些?
排查思路:

其他经验:
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

mysql> update user set password=password(\'123123\') where user=\'root\';

参考技术A

一、某一天误操作,执行了rm -rf * ,会有哪些情况发生?请举例。

答:如果当前目录为"/tmp" ,那么这个目录下的东西会全部删除 (默认不包含隐藏文件)

如果当前目录为"/",那么系统上的数据将会丢失,且无法启动,系统崩溃(谨慎使用这个命令)

二、什么叫CDN?

答:即内容分发网络

其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到

最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度

三、/mnt目录主要用于什么?/root目录跟root用户有什么关系?/根目录与/boot目录有什么联系?

答:/mnt一般用于挂载外接设备

/root是一个目录,是root用户的家目录

/boot目录是/目录下的一个子目录

四、用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决?

答:编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,将HWADDR和MAC地址这两行删除。

修改文件/etc/udev/rules.d/70-persistent-net.rules,删除之前eth0所在的行,将下一行eth1修改为eth0

- reboot

五、查找linux系统下以txt结尾,30天没有修改的文件大小大于20K同时具有执行权限的文件并备份到/data/backup/目录下。

答: find / -name *txt -mtime +30 -type f -size +20k -perm a=x -exec cp /data/backup/ \\

六、有一块移动硬盘,上面有300G数据,如何快速cp到linux服务器?

答:设硬盘在服务器上识别为 sdbc

mkdir /mydata

mount -t ntfs-3g /dev/sdbc /mydata

(可能需要安装ntfs-3g_ntfsprogs)

七、在这个月内,每天的早上 6 点到 12 点中,每隔 2 小时创建一个test.txt文件,内容为ok,如何实现?

答:crontab -e 进入编辑模式

添加以下内容 0 6-12/2 * 4 * /bin/touch test.txt (以4月为例)

启动服务 service crontab start;chkconfig crontab on

八、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1

答:- iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080

九、统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip

答: cat access.log | awk 'print $1' | uniq -c | sort -rn | head -1十、实时抓取并显示当前系统中tcp 80端口的网络数据信息,请写出完整操作命令?

答: tcpdump -nn tcp port 80

以上是关于运维必须掌握的Linux面试题的主要内容,如果未能解决你的问题,请参考以下文章

(转)linux运维必会MySQL企业面试题

Linux运维工程师会面试哪些

轻松记海量Linux运维面试题

linux运维面试常见问题

Linux运维工程师面试题第八套

刚出炉的网易Linux运维面试题(附带答案)