Linux操作系统面试宝典:30道经典面试题解析 (linux操作系统面试)

随着计算机技术的不断发展,Linux操作系统越来越受到人们的关注。在IT行业中,Linux的应用范围非常广泛,因此Linux操作系统方面的专业人才也备受欢迎。如果您正在寻找一份Linux方面的工作,或者准备参加一场Linux相关的面试,那么下面30道经典面试题的解析,或许可以帮助到您。

一、Linux文件系统

1、用一句话描述Linux中的文件系统

Linux中的文件系统是一个树状结构的目录层次结构,从根目录/开始,包含多个目录和文件,每个目录下又可以有更多的目录和文件。

2、请详细介绍Linux中的三种文件类型

Linux中的文件共有三种类型:普通文件、目录文件和特殊文件。普通文件包含文本文件、二进制文件,哈希文件等,目录文件是将其他文件和目录组合在一起的特殊文件,而特殊文件可以被进程用来和硬件设备或进程通信。

3、请介绍一下Linux中的文件权限

在Linux中,每个文件都有一个所有者和组,同时还有三种权限:读取(r)、写入(w)和执行(x)。文件权限可以分别设置给所有者、组用户和其他用户。所有者可以修改文件的权限,除非被服务程序所限制。它们可以创建、删除和重命名文件。

4、Linux中的inode是什么

inode是一种文件系统数据结构,记录文件的元信息,包括文件的大小、所有者、权限等等信息。每个文件都对应于一个inode,是文件系统的基础。

5、Linux中的软链接和硬链接有什么区别

软链接是一种特殊的文件类型,包含了指向其他文件的指针,可以看做是一个符号链接文件。硬链接是文件系统中的另一种文件名,可以指向相同的文件。软链接可以跨越文件系统边界,而硬链接必须在同一个文件系统内。

二、Linux命令

6、如何查看当前目录下的文件

可以使用ls (list)命令显示当前目录下所有文件和子目录。

7、如何查询程序的安装路径

可以使用which命令查询特定程序的安装路径。例如,which ssh将返回ssh的安装路径(通常是/usr/bin/ssh)。

8、如何查看系统中正在执行的任务

top命令可以查看系统中正在执行的任务,按‘q’键可以退出。同时还有其他工具如ps,pstree等工具也可以查看系统中正在运行的进程。

9、Linux中如何创建目录

可以使用mkdir命令创建目录。例如,mkdir new_directory将创建一个名为new_directory的目录。

10、如何进入到指定目录

可以使用cd(Change Directory)命令进入到指定目录。例如,cd /home/user/folder将进入/home/user/folder文件夹。

11、如何复制和移动文件

可以使用cp和mv命令分别复制和移动文件。例如,cp file1 newfile1将file1复制到当前目录中,并重命名为newfile1。然后,mv newfile1 /home/user/folder将newfile1移动到/home/user/folder目录中。

12、如何删除文件

可以使用rm(删除)命令删除文件。例如,rm file1将删除名为file1的文件。

13、如何找到文件

在Linux系统中,可以使用find命令查找特定的文件。例如,对于所有名为file1的文件,可以使用find / -name file1。

14、如何通过终端编辑文件

可以使用nano或vim等文本编辑器编辑文件。例如,vim newfile1将使用vim编辑器打开newfile1文件。

三、Linux网络

15、如何在Linux中开启或关闭防火墙

可以使用ufw(预设防火墙)命令开启或关闭防火墙,例如ufw enable和ufw disable,也可以使用firewalld命令来管理防火墙,例如systemctl start firewalld。防火墙可以过滤进入和离开系统的网络连接,保护系统安全。

16、如何查找当前系统的IP地址

可以使用ip addr命令,它将显示当前系统的所有网络IP地址。

17、如何查看系统中的网络连接

netstat命令可以查看系统中的网络连接,可以使用-l选项指定仅列出所有服务器。,

18、如何测试网络连接

可以使用ping命令测试主机之间的网络连接。例如,ping 127.0.0.1测试本地主机之间的连接。

19、如何使用SSH连接远程服务器

可以使用ssh(Secure Shell)命令连接远程服务器。例如,ssh user@192.0.2.100将建立与192.0.2.100服务器的SSH连接。

20、如何以命令行方式连接无线网络

可以使用命令行工具如wpa_supplicant和iw来在Linux系统上连接WiFi网络。

四、Shell脚本

21、Linux中的Shell脚本是什么

Shell脚本是一组命令,它们按特定的顺序执行。Shell脚本通常用来自动化重复的任务,或者简化需要大量键入的命令。Shell脚本可以使用bash或其他Shell解释器来运行。

22、如何在Linux中创建Shell脚本

创建Shell脚本,请使用文本编辑器创建一个例如sample.sh的文件,并将其置于shell脚本目录中。然后在文件开头添加#!/bin/bash,告诉操作系统这是一个Shell脚本。使用chmod a+x sample.sh,将其标记为可执行文件。在Shell脚本中,每一行都表示一个命令或一组命令。

23、如何运行Shell脚本

要运行Shell脚本,请使用./命令,在命令提示符下输入其文件名。例如,./sample.sh将运行sample.sh脚本。在运行Shell脚本之前,请确保将其标记为可执行文件。

24、如何在Shell脚本中使用变量

可以在Shell脚本中使用变量来存储值。要设置变量,请使用variable_name=value的语法。例如,sample_variable=”Hello, World!”。要使用该变量,请使用$dollar符号,例如echo $sample_variable。

25、如何使用循环和条件语句

Linux中的Shell脚本可以包含条件和循环语句,如if、else、fi和for循环。这些语句可用于根据条件执行特定的操作,或者多次运行一组命令。

五、Linux安全

26、如何查看目录权限

可以使用ls -l命令查看目录权限。例如,ls -l /home/user/folder将显示/home/user/folder的详细权限。

27、如何更改文件权限

可以使用chmod命令更改文件和目录的权限。例如,chmod 755 file1将修改文件1的权限,使其可以被所有用户读取和执行。

28、如何保证Linux系统安全

保护Linux系统安全,可以采用以下措施:(1)使用强密码并定期更改;(2)安装最新的安全更新程序;(3)使用防病毒软件和其他安全工具;(4)限制对系统的访问;(5)加密敏感数据等。

29、如何保护Linux服务器免受攻击

保护Linux服务器免受攻击,可以采用以下措施:(1)对服务器应用程序进行更新和查找漏洞;(2)限制用户对服务器的访问;(3)检查日志文件和安全警报;(4)使用安全协议,如HTTPS;(5)加密数据传输等。

30、如何使用selinux增强Linux系统的安全性

Security Enhanced Linux(SELinux)是一种内核模块,可以增强Linux操作系统的安全性。它可以轻松地防止未授权的访问、限制进程的权限、强制访问策略等等。使用SELinux需要一个策略文件,它描述了系统如何与外部交互。可以使用semanage命令配置SELinux策略。

相关问题拓展阅读:

Linux运维工程师会面试哪些

想了想,基本需要以下知识点吧:

Linux基础

运维的命令

基础服务:LAMP或LNMP :Apache/Nginx,搏轮MySQL,PHP/Python/Perl LAMP FTP DNS SAMBA  EMAIL NTP DHCP…腊祥…

 运维平台工具:Nagios  Puppet  轮银搏Zabbix Cacti  SaltStack……

脚本能力:Shell, Python,Perl… 

底层知识:Linux C,内核

网络路由交换设备,《TCP/IP协议详解》,tcpdump……

防火墙配置,如 iptables, ipset……

各类型服务器,如塔式、机架式、刀片式详细的结构,优缺点……

知识上面的答主说的很精准了,我来说说技巧。我本身是一名HR,负责新盟教育的Linux讲师招聘,所以我需要懂Linux基础知识,方便对面试者提问。

首先,我会就应聘者简历上填写的内容进行,提问,一般会包括拿到的证书,有无经验,熟悉的技能,然后我的同事会提问专业内容。比如你写了擅长MySQL ,Jquery,bootstrap,那么我们桐扰就会提问这些内容,当然都不会特别困难,只需要证明你确实知道,不是在吹嘘就行。

其次我们会就岗位需求进行提问,我会问到加班,出差,经验等问题,我的同事会问会不会某些特定要求的内容,比如zabbix、nagios、elk等……

如果不会,请千万不要耐衫吹牛,我们会问到说明我们肯定知道这玩意,如果吹牛肯定一眼就看出来,然后三两句话把你送走这样。

如果你一局亩旦面过了,要准备二面,那么请你至少,在二面之前,把我们提到的岗位要求的内容了解一下,避免我们再次提到的时候还是不知道,这样很影响面试结果。

给大家分享一些Linux面试题的笔记,从负载均衡、nginx、MySQL、redis、kafka、zabbix、k8s等方面拆解 Linux 知识点。用来对个人技术点进行查漏补缺。

目录:

1. 磁盘使用率检测(用shell脚本)

2. LVS 负载均衡有哪些策略?

3. 谈谈你对LVS的理解?

4. 负载均衡的原理是什么?

5. LVS由哪两部分组成的?

6. 与lvs相关的术语有哪些?

7. LVS-NAT模式的原理

8. LVS-NAT模型的特性

9. LVS-DR模式原理

10. LVS-DR模型的特性

11. LVS三种负载均衡模式的比较

12. LVS的负载调度算法

13. LVS与nginx的区别

14. 负载均衡的作用有哪些?

15. nginx实现负载均衡的分发策略

16. keepalived 是什么?

17. 你是如何理解VRRP协议的

18. keepalived的工作原理?

19. 出现脑裂的原因

20. 如何解决keepalived脑裂问题?

21. zabbix如何监控脑裂?

22. nginx做负载均衡实现的策略有哪些

23. nginx做负载均衡用到哪些模块

24. 负载均衡有哪些实现方式

25. nginx如何实现四层负载?

26. 你知道的web服务有哪些?

27. 为什么要用nginx

28 . nginx的性能为什么比apache高?

29 . epoll的组成

30 . nginx和apache的区别

31. Tomcat作为web的优缺点?

32. tomcat的三个端口及作用

33. fastcgi 和cgi的区别

34. nginx常用的命令

35. 什么咐氏是反向代理,什么是正向代理,以及区别?

36. Squid、Varinsh、Nginx 有什么区别?

37. nginx是如何处理http请求的

38. nginx虚拟主机有哪些?

39. nginx怎么实现后端服务的健康检查

40. apache中的Worker 和 Prefork 之间的区别是什么?

41. Tomcat缺省端口是多少,怎么修改

42. Tomcat的工作模式是什么?

43. Web请求在Tomcat请求中的请求流程是怎么样的?

44. 怎么监控Tomcat的内存使用情况

45. nginx的优化你都做过哪棚陵些?

46. Tomcat你做过哪些优化

47. nginx的session不同步怎么办

48. nginx的常用模块有哪些?

49. nginx常用状态码

50. 访问一个网站的流程

51. 三次握手,四次挥手

52. 什么是动态资源,什么是静态资源

53. worker支持的更大并发数是什么?

54. Tomcat和Resin有什么区别,工作中你怎么选择?

55. 什么叫网站灰度发布?56.. 统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip

57. nginx各个版本的区别

58. nginx最新版本

59. 关于nginx access模块的链简戚面试题

60. nginx默认配置文件

61. location的规则

62. 配置nginx防盗链

63. drop,delete和truncate删除数据的区别?

64. MySQL主从原理

65. MySQL主从复制存在哪些问题?

66. MySQL复制的方法

67. 主从延迟产生的原因及解决方案?

68. 判断主从延迟的方法

69. MySQL忘记root密码如何找回

70. MySQL的数据备份方式

71. innodb的特性

72. varchar(100) 和varchar(200)的区别

73. MySQL主要的索引类型

74. 请说出非关系型数据库的典型产品、特点及应用场景?

75. 如何加强MySQL安全,请给出可行的具体措施?

76. Binlog工作模式有哪些?各什么特点,企业如何选择?

77. 生产一主多从从库宕机,如何手工恢复?

78. MySQL中MyISAM与InnoDB的区别,至少5点

79. 网站打开慢,请给出排查方法,如是数据库慢导致,如何排查并解决,请分析并举例?

80. xtrabackup的备份,增量备份及恢复的工作原理

81.误执行drop数据,如何通过xtrabackup恢复?

82. 如何做主从数据一致性校验?

83. MySQL有多少日志

84. MySQL binlog的几种日志录入格式以及区别

85. MySQL数据库cpu飙升到500%的话他怎么处理?

86. redis是单线程还是多线程?

87. redis常用的版本是?

88. redis 的使用场景?

89. redis常见的数据结构

90. redis持久化你们怎么做的?

91. 主从复制实现的原理

92. redis哨兵模式原理

93. memcache和redis的区别

94. redis有哪些架构模式?

95. 缓存雪崩?

96. 缓存穿透

97. 缓存击穿

98. redis为什么这么快

99. memcache有哪些应用场景

100. memcache 服务特点及工作原理

101. memcached是如何做身份验证的?

102. mongoDB是什么?

103. mongodb的优势

104. mongodb使用场景

105. kafka 中的ISR,AR代表什么,ISR伸缩又代表什么

106.kafka中的broker 是干什么的

107. kafka中的 zookeeper 起到什么作用,可以不用zookeeper么

108. kafka follower如何与leader同步数据

109. kafka 为什么那么快

110. Kafka中的消息是否会丢失和重复消费?

111. 为什么Kafka不支持读写分离?

112. 什么是消费者组?

113. Kafka 中的术语114. kafka适用于哪些场景

115. Kafka写入流程:

116. zabbix有哪些组件

117. zabbix的两种监控模式

118. 一个监控系统的运行流程

119. zabbix的工作进程

120. zabbix常用术语

121. zabbix自定义发现是怎么做的?

122. 微信报警

123. zabbix客户端如何批量安装

124. zabbix分布式是如何做的

125. zabbix proxy 的使用场景

126. prometheus工作原理

127. prometheus组件

128. ELK工作流程

129. logstash的输入源有哪些?

130. logstash的架构

131. ELK相关的概念

132. es常用的插件

134. zabbix你都监控哪些参数

135. MySQL同步和半同步

136. CI/CD

137 K8S监控指标

138. k8s是怎么做日志监控的

139. 【运维面试】k8s中service和ingress的区别

140. k8s组件的梳理

141. 关于tcp/IP协议

142. 谈谈你对CDN的理解

一郑空庆、某一天误操作,执行了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

五、查找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 进入编辑模式,添加以下内容/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操作系统面试宝典:30道经典面试题解析 (linux操作系统面试)