10个经典Linux面试题及答案

2020-04-27 16:02发布

Linux是一种操作系统,跟Windows类似,它是开源的,大多作为服务器应用(网站服务器、邮件服务器、域名服务器等),现在发展非常迅速,现有不同厂家的版本,比如:红旗Linux(国产 )、 RedHat Linux(红冒 Linux)等很多,大体功能类似,常用的是RedHat Linux 。

  Linux操作系统在智能手机上发展迅速,市场占有率比较高。Linux容易使用性方面比Windows弱一些,相应的应用软件也比Windows少,学习起来难度稍大,但前途很好。

  下面给大家来分享一些Linux的经典面试题及答案。

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

  GPL(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。

  GNU(革奴计划):目标是创建一套完全自由、开放的的操作系统。

  自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。

2、如何选择Linux操作系统版本?

  一般来讲,桌面用户首选Ubuntu;服务器首选RHEL或CentOS,两者中首选CentOS。

  根据具体要求:

  ①安全性要求较高,则选择Debian或者FreeBSD。

  ②需要使用数据库高级服务和电子邮件网络应用的用户可以选择SUSE。

  ③想要新技术新功能功能可以选择Feddora,Feddora是RHEL和CentOS的一个测试版和预发布版本。

  ④根据现有状况,绝大多数互联网公司选择CentOS。现在比较常用的是6系列,现在市场占有大概一半左右。另外的原因是CentOS更侧重服务器领域,并且无版权约束。

3、初学者在Linux系统的开机启动项如何选择?

  建议选择五个开机启动项:

  ①.crond: 该服务用于周期地执行系统及用户配置的计划任务。有要周期性执行的任务计划需要开启,此服务是生产场景必须要用的一个软件。

  ②.iptables: iptables包过滤防火墙,有外网IP时,考虑开启。

  ③.network: 启动系统时,若想激活/关闭启动时的各个网络接口,则应(必须)考虑开启。

  ④.sshd: 远程连接Linux服务器时需要用到这个服务程序,所以必须要开启,否则将无法远程连接到Linux服务器。

  ⑤.rsyslog: 是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息收集写入到系统日志文件中,CentOS6以前此服务的名字为syslog。

  ⑥.sysstat: 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于Linux系统性能数据很有帮助,比如CPU使用率、硬盘和网络吞吐数据等,这些数据的分析,有利于判断系统运行是否正常,所以它是提高系统运行效率、安全运行服务的助手。

4、请描述Linux系统优化的12个步骤

  ⑴登录系统:不使用root登录,通过sudo授权管理,使用普通用户登录。

  ⑵禁止SSH远程:更改默认的远程连接SSH服务及禁止root远程连接。

  ⑶时间同步:定时自动更新服务器时间。

  ⑷配置yum更新源,从国内更新下载安装rpm包。

  ⑸关闭selinux及iptables(iptables工作场景如有wan ip,一般要打开,高并发除外)

  ⑹调整文件描述符数量,进程及文件的打开都会消耗文件描述符。

  ⑺定时自动清理/var/spool/clientmquene/目录垃圾文件,防止节点被占满(c6.4默认没有sendmail,因此可以不配。)

  ⑻精简开机启动服务(crond、sshd、network、rsyslog)

  ⑼Linux内核参数优化/etc/sysctl.conf,执行sysct -p生效。

  更改字符集,支持中文,但是还是建议使用英文,防止乱码问题出现。

  ⑾锁定关键系统文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 处理以上内容后,把chatter改名,就更安全了。)

  ⑿清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。

5、描述Linux运行级别0-6的各自含义

  0:关机模式

  1:单用户模式<==破解root密码

  2:无网络支持的多用户模式

  3:有网络支持的多用户模式(文本模式,工作中最常用的模式)

  4:保留,未使用

  5:有网络支持的X-windows支持多用户模式(桌面)

  6: 重新引导系统,即重启

6、描述Linux系统从开机到登陆界面的启动过程

  ⑴开机BIOS自检,加载硬盘。

  ⑵读取MBR,MBR引导。

  ⑶grub引导菜单(Boot Loader)。

  ⑷加载内核kernel。

  ⑸启动init进程,依据inittab文件设定运行级别

  ⑹init进程,执行rc.sysinit文件。

  ⑺启动内核模块,执行不同级别的脚本程序。

  ⑻执行/etc/rc.d/rc.local

  ⑼启动mingetty,进入系统登陆界面。

7、描述Linux下软链接和硬链接的区别

  在Linux系统中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。

  ①默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。

  ②硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同,

  ③ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。

  ④删除软链接文件,对源文件和硬链接文件无任何影响。

  ⑤删除文件的硬链接文件,对源文件及软链接文件无任何影响。

  ⑥删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。

  ⑦同时删除源文件及其硬链接文件,整个文件才会被真正的删除。

  ⑧很多硬件设备的快照功能,使用的就是类似硬链接的原理。

  ⑨软链接可以跨文件系统,硬链接不可以跨文件系统。

8、生产场景如何对linux系统进行合理规划分区?

  分区的根本原则是简单、易用、方便批量管理。根据服务器角色定位建议如下:

①单机服务器:如8G内存,300G硬盘

  分区: /boot 100-200M,swap 16G,内存大小8G*2,/ 80G,/var 20G(也可不分),/data 180G(存放web及db数据)

  优点:数据盘和系统盘分开,有利于出问题时维护。

  RAID方案:视数据及性能要求,一般可采用raid5折中。

②负载均衡器(如LVS等)

  分区:/boot 100-200M,swap 内存的1-2倍,/ ,

  优点:简单方便,只做转发数据量很少。

  RAID方案:数据量小,重要性高,可采用RAID1

③负载均衡下的RS server

  分区: /boot 100-200M,swap 内存的1-2倍,/

  优点:简单方便,因为有多机,对数据要求低。

  RAID方案:数据量大,重要性不高,有性能要求,数据要求低,可采用RAID0

④数据库服务器mysql及oracle如16/32G内存

  分区:/boot 100-200M,swap 16G,内存的1倍,/ 100G,/data 剩余(存放db数据)

  优点:数据盘和系统盘分开,有利于出问题时维护,及保持数据完整。

  RAID方案:视数据及性能要求主库可采取raid10/raid5,从库可采用raid0提高性能(读写分离的情况下。)

⑤存储服务器

  分区:/boot 100-200M,swap 内存的1-2倍,/ 100G,/data(存放数据)

  优点:此服务器不要分区太多。只做备份,性能要求低。容量要大。

  RAID方案:可采取sata盘,raid5

⑥共享存储服务器(如NFS)

  分区:/boot 100-200M,swap 内存的1-2倍,/ 100G,/data(存放数据)

  优点:此服务器不要分区太多。NFS共享比存储多的要求就是性能要求。

  RAID方案:视性能及访问要求可以raid5,raid10,甚至raid0(要有高可用或双写方案)

⑦监控服务器cacti,nagios

  分区:/boot 100-200M,swap 内存的1-2倍,/

  优点:重要性一般,数据要求也一般。