Linux面试题及答案(2022版),适用于应届生、有工作经验的程序员,每道都是认真筛选出的高频面试题,助力大家能找到满意的工作!

Linux

下载链接全部面试题及答案PDF

1.如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?

[root@centos6 ~ 10:55 #35]# cat /proc/cpuinfo|grep -c 'physical id'
4
[root@centos6 ~ 10:56 #36]# cat /proc/cpuinfo|grep -c 'processor'
4

2.查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?

[root@centos6 ~ 10:56 #37]# w
10:57:38 up 14 min,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.147.1    18:44    0.00s  0.10s  0.00s w
[root@centos6 ~ 10:57 #38]# uptime
10:57:47 up 14 min,  1 user,  load average: 0.00, 0.00, 0.00

其中load average即系统负载,三个数值分别表示一分钟、五分钟、十五分钟内系统的平均负载,即平均任务数。

3.vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?

[root@centos6 ~ 10:57 #39]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 1783964  13172 106056    0    0    29     7   15   11  0  0 99  0  0

r即running,表示正在跑的任务数

b即blocked,表示被阻塞的任务数

si表示有多少数据从交换分区读入内存

so表示有多少数据从内存写入交换分区

bi表示有多少数据从磁盘读入内存

bo表示有多少数据从内存写入磁盘

简记:

i --input,进入内存
o --output,从内存出去
s --swap,交换分区
b --block,块设备,磁盘
单位都是KB

4.linux系统里,您知道buffer和cache如何区分吗?

buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。

5.使用top查看系统资源占用情况时,哪一列表示内存占用呢?

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
301 root      20   0     0    0    0 S  0.3  0.0   0:00.08 jbd2/sda3-8
1 root      20   0  2900 1428 1216 S  0.0  0.1   0:01.28 init
2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

VIRT虚拟内存用量

RES物理内存用量

SHR共享内存用量

%MEM内存用量

6.如何实时查看网卡流量为多少?如何查看历史网卡流量?

安装sysstat包,使用sar命令查看。

yum install -y sysstat#安装sysstat包,获得sar命令
sar -n DEV#查看网卡流量,默认10分钟更新一次
sar -n DEV 1 10#一秒显示一次,一共显示10次
sar -n DEV -f /var/log/sa/sa22#查看指定日期的流量日志

7.如何查看当前系统都有哪些进程?

ps -aux 或者ps -elf

[root@centos6 ~ 13:20 #56]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2900  1428 ?        Ss   10:43   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    10:43   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    10:43   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    10:43   0:00 [ksoftirqd/0]
……
[root@centos6 ~ 13:21 #57]# ps -elf
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root         1     0  0  80   0 -   725 -      10:43 ?        00:00:01 /sbin/init
1 S root         2     0  0  80   0 -     0 -      10:43 ?        00:00:00 [kthreadd]
1 S root         3     2  0 -40   - -     0 -      10:43 ?        00:00:00 [migration/0]
1 S root         4     2  0  80   0 -     0 -      10:43 ?        00:00:00 [ksoftirqd/0]
1 S root         5     2  0 -40   - -     0 -      10:43 ?        00:00:00 [migration/0]

8.ps 查看系统进程时,有一列为STAT, 如果当前进程的stat为Ss 表示什么含义?如果为Z表示什么含义?

S表示正在休眠;s表示主进程;Z表示僵尸进程。

9.如何查看系统都开启了哪些端口?

[root@centos6 ~ 13:20 #55]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1035/sshd
tcp        0      0 :::22                       :::*                        LISTEN      1035/sshd
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               931/dhclient
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     6825   1/init              @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     8429   1003/dbus-daemon    /var/run/dbus/system_bus_socket

10.如何查看网络连接状况?

[root@centos6 ~ 13:22 #58]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 192.168.147.130:22          192.168.147.1:23893         ESTABLISHED
tcp        0      0 :::22                       :::*                        LISTEN
udp        0      0 0.0.0.0:68                  0.0.0.0:*
……

11.想修改ip,需要编辑哪个配置文件,修改完配置文件后,如何重启网卡,使配置生效?

使用vi或者vim编辑器编辑网卡配置文件/etc/sysconfig/network-scripts/ifcft-eth0(如果是eth1文件名为ifcft-eth1),内容如下:

DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8

修改网卡后,可以使用命令重启网卡:

ifdown eth0
ifup eth0

也可以重启网络服务:

service network restart

12.能否给一个网卡配置多个IP? 如果能,怎么配置?

可以给一个网卡配置多个IP,配置步骤如下:

cat /etc/sysconfig/network-scripts/ifcfg-eth0#查看eth0的配置
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8(1)新建一个ifcfg-eth0:1文件cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1(2)修改其内容如下:vim /etc/sysconfig/network-scripts/ifcfg-eth0:1DEVICE=eth0:1
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.133
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8(3)重启网络服务:service network restart

13.如何查看某个网卡是否连接着交换机?

mii-tool eth0 或者 mii-tool eth1

14.如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配 置文件呢?

查看主机名:

hostname
centos6.5

修改主机名:

hostname centos6.5-1永久生效需要修改配置文件:vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6.5-1

15.设置DNS需要修改哪个配置文件?

(1)在文件 /etc/resolv.conf 中设置DNS

(2)在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中设置DNS

16.使用iptables 写一条规则:把来源IP为192.168.1.101访问本机80端口的包直接拒绝

17.要想把iptable的规则保存到一个文件中如何做?如何恢复?

18.如何备份某个用户的任务计划?

19.任务计划格式中,前面5个数字分表表示什么含义?

20.如何可以把系统中不用的服务关掉?

21.如何让某个服务(假如服务名为 nginx)只在3,5两个运行级别开启,其他级别关闭?

22.rsync 同步命令中,下面两种方式有什么不同呢?

23.rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?

24.某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?

25.网卡或者硬盘有问题时,我们可以通过使用哪个命令查看相关信息?

26.分别使用xargs和exec实现这样的需求,把当前目录下所有后缀名为.txt的文件的权限修改为777

27.有一个脚本运行时间可能超过2天,如何做才能使其不间断的运行,而且还可以随时观察脚本运行时的输出信息?

28.在Linux系统下如何按照下面要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?

29.rsync 同步数据时,如何过滤出所有.txt的文件不同步?

30.rsync同步数据时,如果目标文件比源文件还新,则忽略该文件,如何做?

31.想在Linux命令行下访问某个网站,并且该网站域名还没有解析,如何做?

32.自定义解析域名的时候,我们可以编辑哪个文件?是否可以一个ip对应多个域名?是否一个域名对应多个ip?

33.我们可以使用哪个命令查看系统的历史负载(比如说两天前的)?

34.在Linux下如何指定dns服务器,来解析某个域名?

35.使用rsync同步数据时,假如我们采用的是ssh方式,并且目标机器的sshd端口并不是默认的22端口,那我们如何做?

36.rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或者目录?

37.使用free查看内存使用情况时,哪个数值表示真正可用的内存量?

38.有一天你突然发现公司网站访问速度变的很慢很慢,你该怎么办呢?

39.rsync使用服务模式时,如果我们指定了一个密码文件,那么这个密码文件的权限应该设置成多少才可以?

下载链接博主已将以上这些面试题整理成了一个面试手册,是PDF版的

Linux面试题,经典Linux面试题,常见Linux面试题带答案相关推荐

  1. linux lnmp重启nginx,梳理三个常见Linux启动Nginx命令(包括Nginx 重启、停止、启动命令)...

    我们大部分网站或者WEB缓解都会使用Nginx引擎缓解,比如LNMP一键包.宝塔面板,或者其他的WEB环境,但是每个环境中启动和重启.停止Nginx命令是不同的.这里简单的梳理Linux启动Nginx ...

  2. 【收藏】C#面试题整理笔试篇(最全1000+道带答案)300道填空 + 300道选择 + 300道判断 + 70道读程序写结果和看程序填空 + 100道简答题

    <程序员>曾陪伴了无数开发者成长.<新程序员>全新归来,推荐给大家! <新程序员> 一.填空: 1.操作符( && )被用来说明两个条件同为真的情况 ...

  3. linux进程 面试题,Linux面试题,浅析常见Linux命令面试题及答案

    原标题:Linux面试题,浅析常见Linux命令面试题及答案 对于Linux面试来说如果面试官问到你不会的问题,你就说这个不太熟悉,没有具体研究过,千万别不懂装懂,还扯一堆没用的话题来掩饰,这样只会让 ...

  4. linux修改文件句柄数生效_linux系统层面调优和常见的面试题

    linux系统层面调优和常见的面试题​mp.weixin.qq.com 无论对Spark集群,还是Hadoop集群等大数据相关的集群进行调优,对linux系统层面的调优都是必不可少的,这里主要介绍3种 ...

  5. 6道常见Linux运维面试题讲解!

    学习完Linux技术之后,接下来我们就需要面临找工作的事情.谈到找工作,很多小伙伴肯定好奇,面试官会问些什么问题?本为为大家汇总了一些常见Linux运维面试题,希望能够给大家带来帮助,祝你们面试通过! ...

  6. 常见Linux运维面试题分享

    学习Linux进入工作岗位的过程必定是要经过面试.与其他技术岗位相同.Linux运维也要经理人力面试和技术面试.对于初级运维工程师面试题目相对也很简单,但是同样有很多朋友在简单的问题上犯错.下面为大家 ...

  7. Linux运维经典问题33则(附赠年薪10W+面试题与答案)

    2019独角兽企业重金招聘Python工程师标准>>> 本刊总结整理了51CTO技术论坛Linux版块关于Linux运维的优质帖子,多数为精华帖,目的方便大家查阅和学习,减少时间的浪 ...

  8. 2019最新Linux云计算学习教程(学习路线+课程大纲+面试题+视频教程+网盘下载)

    没有相关的视频教程及相关的学习线路,学起来是一件很费劲的事情,还有很多人从网上及其它渠道购买视频,这些视频资料大多是盗版,上当受骗的人不在少数.为此千锋小编呕心沥血整理了这套零基础全套Linux云计算 ...

  9. 80道经典常见测试面试题

    我花了三天时间,整理了80道最经典的常见测试面试题 文章目录 1.所做项目的情况,主要做什么类型的测试? 2.你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 3.给你一 ...

  10. 通关必读—linux面试题(带答案)

    答案linux考试题 1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(b) A.NID B.PID C.UID C.CID 答: w命令查看用户tty终端信息 ps ...

最新文章

  1. The conversion of a varchar data type to a datetime data type resulted in an out-of-range value
  2. 【C++】this指针
  3. 【解惑】这么多技术我该怎么学
  4. 3D数学基础:图形与游戏开发---随笔四
  5. 服务器硬盘维修工具,服务器硬盘镜像备份和恢复工具_OO DiskImage Server V8.5.39 服务器版...
  6. 由一个问题引发的思考
  7. arcball 鼠标 相机转动
  8. C++(STL):28 ---关联式容器map用法
  9. android studio windows,AndroidStudio的使用(Windows)
  10. twisted mysql_在Twisted下用MySQLadbapi获取自增id
  11. 北大计算机系统结构学硕,转自包云刚,希望的原野 最近几个月参加了计算所、北大、上海交大多位计算机系统结构硕士与博士的答辩,说几点体会: ① 高水平国际论文越来越多。简单... - 雪球...
  12. des加密密码补位_密码学中的数据加密标准(DES)
  13. 图解CentOS系统启动流程
  14. php手机网站底部导航代码,jQuery微信手机端底部弹出导航菜单列表代码
  15. oracle 恢复学习 案例1 一个数据文件丢失 完全恢复数据库
  16. 回顾2006年:网络通信十大事件
  17. Vagrant虚拟化技术
  18. mysql创建数据库sql语句
  19. kali 最详细wifi抓包教程
  20. 【JSP】 # JSP入门及简单概述

热门文章

  1. RIA案例不完全参考[0.01 草案]
  2. 2015高教杯全国大学生数学建模竞赛论文
  3. word上怎么把图片拼接到一起_图片合并,WORD如何将文字与图片合并
  4. cmd查看mysql的ip地址_怎么在cmd中查看数据库ip地?
  5. 安装sqlyog和使用注册码
  6. JAVA实现网页版斗地主_Java实现斗地主案例
  7. linux中文变成日文,linux nkf 日文编码转换命令[转载]
  8. 算法导论第三版 第1章习题答案
  9. web前端如何提升自我
  10. [小O地图-图表] - 制作全国行政区图表