Linux运维面试40个问答,掌握这些,不拿高薪都难!

640?wx_fmt=gif

640?wx_fmt=jpeg

Linux编程 点击右侧关注,免费入门到精通! 640?wx_fmt=jpeg


作者丨黑马程序员上海中心
https://www.jianshu.com/p/0b18a59195af


如果你正在学习运维学科,或者是即将毕业,马上就要去参加面试找工作了,那么这40道题,你一定不要错过!准备好了,马上开始了~


640?wx_fmt=gif

一、简答题20道


1.简述Linux 文件系统通过i 节点把文件的逻辑结构和物理结构转换的工作过程。


参考答案:


Linux 通过i 节点表将文件的逻辑结构和物理结构进行转换。


i 节点是一个64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i 节点表中最重要 的内容是磁盘地址表 。在磁盘地址表中有13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux 文件系统通过把i 节点和文件名进行 连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i 节点号,通过该i 节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构。


2.简述进程的启动、终止的方式以及如何进行进程的查看。

参考答案:


在Linux 中启动一个进程有手工启动和调度启动两种方式:


(1)手工启动


用户在输入端发出命令,直接启动一个进程的启动方式。可以分为:


①前台启动:直接在SHELL 中输入命令进行启动。


②后台启动:启动一个目前并不紧急的进程,如打印进程。


(2)调度启动


系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。


经常使用的进程调度命令为:at、batch、crontab。


3. 简述DNS 进行域名解析的过程。


参考答案:


首先,客户端发出DNS 请求翻译IP 地址或主机名。DNS 服务器在收到客户机的请求后:


(1)检查DNS 服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;


(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;


(3)若没有查到,则将请求发给根域DNS 服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS 服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。


(4)若没有找到,则返回错误信息。


4.系统管理员的职责包括那些?管理的对象是什么?


参考答案:


系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。


5.请写出apache2.X 版本的两种工作模式,以及各自工作原理。如何查看apache 当前所支持的模块,并且查看是工作在哪种模式下?


答案:prefork(多进程,每个进程产生子进程)和worker(多线程,每个进程生成多个线程)


prefork 的工作原理是,控制进程在最初建立―StartServers个子进程后,为了满足MinSpareServers 设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32 个,直到满足MinSpareServers 设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。


worker 是2.0 版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker 也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性。这种MPM 的工作方式将是Apache 2.0 的发展趋势。


可以通过命令httpd -l 可以查看apache 当前的模块,如果带有worker.c 就是工作在worker 模式下,如果有prefork.c 就是工作在prefork.c 的模式下。


6.什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?

参考答案:


静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场合,且网络拓朴结构不经常变化的网络。其缺点是不能动态地适用网络状况的变化,当网络状况变化后必须由网络管理员修改路由表。动态路由是由路由选择协议而动态构建的,路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内容。动态路由可以自动 学习 网络的拓朴结构,并更新路由表。其缺点是路由广播更新信息将占据大量的网络带宽。


7.进程的查看和调度分别使用什么命令?


参考答案:


进程查看的命令是ps 和top。


进程调度的命令有at,crontab,batch,kill。


8.当文件系统受到破坏时,如何检查和修复系统?

参考答案:


成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修复的文件系统。


使用命令fsck 对受到破坏的文件系统进行修复。fsck 检查文件系统分为5 步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改。在执行 fsck 命令时,检查首先从超级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node。


9.解释i 节点在文件系统中的作用。


参考答案:


在linux 文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用i 节点对一个文件进行索引。I 节点包含了描述一个文件所必须的全部信息。所以i 节点是文件系统管理的一个数据结构。


10.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?


参考答案:


链接分硬链接和符号链接。


符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i 节点。硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i 节点同被链接文件的i 节点相同。


11.在对linux 系统分区进行格式化时需要对磁盘簇(或i 节点密度)的大小进行选择,请说明选择的原则。


参考答案:


磁盘簇(或i 节点密度)是文件系统调度文件的基本单元。磁盘簇的大小,直接影响系统调度磁盘空间效率。当磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得小些。通常使用经验值。


12.简述网络文件系统NFS,并说明其作用。


参考答案:


网络文件系统是应用层的一种应用服务,它主要应用于Linux 和Linux 系统、Linux 和Unix系统之间的文件或目录的共享。对于用户而言可以通过 NFS 方便的访问远地的文件系统,使之成为本地文件系统的一部分。采用NFS 之后省去了登录的过程,方便了用户访问系统资源。


13.某/etc/fstab 文件中的某行如下:


/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2

请解释其含义。


参考答案:


(1)第一列:将被加载的文件系统名;


(2)第二列:该文件系统的安装点;


(3)第三列:文件系统的类型;


(4)第四列:设置参数;


(5)第五列:供备份程序确定上次备份距现在的天数;


(6)第六列:在系统引导时检测文件系统的顺序。


14.Apache 服务器的配置文件httpd.conf 中有很多内容,请解释如下配置项:


(1)MaxKeepAliveRequests 200


(2)UserDir public_html


(3)DefaultType text/plain


(4)AddLanguare en.en


(5)DocumentRoot―/usr/local/httpd/htdocs‖


(6)AddType application/x-httpd-php.php.php.php4


参考答案:


(1)允许每次连接的最大请求数目,此为200;


(2)设定用户放置网页的目录;


(3)设置服务器对于不认识的文件类型的预设格式;


(4)设置可传送语言的文件给浏览器;


(5)该目录为Apache 放置网页的地方;


(6)服务器选择使用php4。


15.某Linux 主机的/etc/rc.d/rc.inet1 文件中有如下语句,请修正错误,并解释其内容。


/etc/rc.d/rc.inet1:


……


ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1


ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1


参考答案:


修正错误:


(1)ROUTE 应改为小写:route;


(2)netmask 255.255.0.0 应改为:netmask255.255.255.0;


(3)缺省路由的子网掩码应改为:netmask 0.0.0.0;


(4)缺省路由必须在最后设定,否则其后的路由将无效。


解释内容:


(1)route:建立静态路由表的命令;


(2)add:增加一条新路由;


(3)-net 192.168.1.0:到达一个目标网络的网络地址;


(4)default:建立一条缺省路由;(5)gw 192.168.0.101:网关地址;


(6)metric 1:到达目标网络经过的 路由器 数(跳数)。


16.试解释apache 服务器以下配置的含义:


(1)port 1080 


(2)UserDir userdoc


(3)DocumentRoot ―/home/htdocs‖


(4);


Options Indexes FollowSymLinks


AllowOverride None


Order deny,allow


deny from all


allow from 192.168.1.5


</Directory>;


(5)Server Type Standlone


参考答案:


Apache 服务器配置行含义如下:


(1)将apache 服务器的端口号设定为1080;


(2)设定用户网页目录为userdoc;


(3)设定apache 服务器的网页根目录:/home/htdocs;


(4)在此apache 服务器上设定一个目录/home/htdocs/inside,且此目录只允许IP 地


址为192.168.1.5 的主机访问;


(5)定义apache 服务器以独立进程的方式运行。


17.简述使用ftp 进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp 文件传输命令是什么?


参考答案:


(1)ftp 有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous,密码为:任何合法email 地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户密码。


区别:使用匿名登录只能访问ftp 目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录,且上载、下载均可。


(2)ftp 文件传输有两种文件传输模式:ASCII 模式和binary 模式。


ASCII 模式用来传输文本文件,其他文件的传输使用binary 模式。


(3)常用的ftp 文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye


18.将内网 192.168.0.0/24 的原地址修改为 公网IP地址:1.1.1.1


[root@xuegod63 ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1


把从 eth0进来的要访问 TCP/80 的数据包目的地址改为 192.168.0.1.  

[root@xuegod63 ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.1


19.简述raid0 raid1 raid5 三种工作模式的工作原理及特点。


RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID 结构。RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。


RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能。RAID1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。


RAID10:高可靠性与高效磁盘结构一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。主要用于容量不大,但要求速度和差错控制的数据库中。


RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常运行


20.如何查看占用端口8080 的进程


lsof -i:8080


640?wx_fmt=gif

二、命令题20道


1. 查看当前并发访问数


netstat -an | grep ESTABLISHED


2. 如何用iptables工具阻断来自 192.168.0.1的所有网络连接


iptable -IINPUT -s 192.168.0.1 -jDROP


3. umask 022 ,请描述该命令的含义


umask设置文件或目录的缺省权限,umask022表示目录的缺省权限为755,文件的缺省权限为644


4. 设置当前用户环境中 test变量为 123并使之立即生效,请写出完整操作命令


export test=123


5. .Linux 系统的开机启动顺序


加载BIOS>读取MBR>Boot Loader>加载内核>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用户命令行,5是界面)>init进程执行rc.syninit>启动内核模块>执行不同级别运行的脚本程序>执行/etc/rc.d/rc.local(本地运行服务)>执行/bin/login,就可以登录了。


6. ps aux 中的 VSZ代表什么意思,RSS代表什么意思


VSZ:虚拟内存集,进程占用的虚拟内存空间


RSS:物理内存集,进程战用实际物理内存空间


7. FTP 的主动模式和被动模式


FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。


PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XX端口,你过来连接我”。于是服务器从20端口向客户端的 XX端口发送连接请求,建立一条数据链路来传送数据。


PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XX端口,你过来连接我”。于是客户端向服务器的XX端口 发送连接请求,建立一条数据链路来传送数据。


从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完 全不同。


8. Mysql客户端工具中,请问如何查询当前所有的连接进程信息


mysql -uuser -ppassword -e "showprocesslist"


9. 查看当前系统每个ip的连接数


netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -rn


10. 在11月份内,每天的早上6点到12点,每隔2小时执行一次/usr/bin/httpd.sh怎么实现。


0 6-12/2 * 11 * /usr/bin/httpd.sh


11. 将 /test/a目录建立软链接到 /test/b目录,请写出完整的操作命令


ln -s /test/a test/b


12. 查询并列出 test进程所打开的当前所有文件,请写出完整的操作命令


lsof -c test


13. 如何查看占用端口8080 的进程


netstat -anpt|grep 8080


14. 什么叫主键?


对表中数据进行唯一标识的数据列的组合;不能缺失;不能空值;


15. 问题错误日志:Error: Can’t create a new thread (errno 12)应该怎么解决?


数据库服务器问题,数据库操作无法创建新线程。一般是有以下3个方面的原因: 


1)、MySQL 线程开得太多。 


2)、服务器系统内存溢出。 


3)、环境软件损坏或系统损坏。


16. 操作报错:ERROR 1010 (HY000): Error dropping database。

在做数据库删除时出现这种提示,其原因是在database下面含有自己放进去的文件,譬如.txt文件或.sql文件等,只要进去把这个文件删了在执行。


17. 连接报错  [ERROR] Slave I/O: error connecting to master 'repl@192.168.0.50:3306' - retry-time: 60  retries: 1, Error_code: 2003。


a、网络不通(是否打开防火墙)


b、复制用户的密码不对


c、指定的master_port端口不对


d、master上的mysql-bin.xxxxxx被误删


e、主库磁盘空间满了


18. 什么叫数据的事务?


事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。


事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。


19. innodb引擎的4大特性


1.插入缓冲(insert buffer)


2.二次写(double write)


3.自适应哈希索引(ahi)


4.预读(read ahead)


20. 怎么对命令进行取别名?


alias la='ls -a'


结束,祝大家面试无障碍!


 推荐↓↓↓ 

640?wx_fmt=png

?16个技术公众号】都在这里!

涵盖:程序员大咖、源码共读、程序员共读、数据结构与算法、黑客技术和网络安全、大数据科技、编程前端、Java、Python、Web编程开发、Android、iOS开发、Linux、数据库研发、幽默程序员等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值