Linux 面试最常问的十个问题

若是你要去面试一个Linux系统运维工程师的职位,下面这十个最多见的问题必定要会,不然你的面试可能就危险了。这些都是比较基本的问题,你们要理解,不能光死记硬背。nginx

  

一、如何查看系统内核的版本面试

 

这里有两种方法:网络

1) uname -a运维

uname 这个命令是用来打印系统信息的, -a 能够打印系统全部信息,其中包含内核版本,好比个人版本号是3.10.0-957.21.3.el7.X86_64。ssh

 

2) cat /proc/versiontcp

 

下面再补充一下各个数字和字母表明的含义:工具

  • 3 表示主版本号,有结构性变化才更改 (最新的是5)性能

  • 10 表示次版本号,新增功能才会变化,通常基数表示测试版,偶数表示稳定版。2020年3月30日,Linus Torvalds 发布了最新的 Linux 内核版本为 5.6学习

  • 0 表示对次版本的修订次数或补丁包数测试

  • 957 表明编译的次数,每次编译可对少数程序优化或修改

  • el7 用来表示版本的特殊信息,有较大的随意性;el 表明企业版,pp表明测试版,fc表明 Fedora core,rc表明候选版本

  • X86_64 表示64位

 

 二、如何查看系统当前的 IP 地址

 

也有两种方法:

1)ifconfig -a

ifconfig 是用来配置网络接口的命令,-a 能够显示当前全部的接口。

 

2)ip addr show

 

 

三、如何查看磁盘还有多少剩余空间

 

这里主要能够用 df -ah 命令来查看,df 是用来查看文件系统磁盘空间使用状况的命令,-a 显示全部文件系统,-h 用人们可读的方式进行显示。

上面能够看到个人磁盘 /dev/vda1 有40 G,已经用了1.7 G,还有 36 G的可用空间。

 

 

四、如何在系统中管理服务

 

这里别人可能会问你,如何查看一个服务是否在运行,如何启动、中止、或从新加载配置文件。这里答案也有两种。

 

1) 使用 service 命令

 

  • 查看服务状态

    service [servicename] status

     

  • 启动/中止/重启服务 

    service [servicename] [start|stop|restart]

     

  • 从新加载服务配置文件(不重启服务)

    service [servicename] [reload]

 

好比我想查看一下 sshd 的服务有没有开启

 

2)使用 systemctl 命令

比较新的系统都已经采用了 systemd,systemctl 是systemd的一个工具,主要负责控制systemd系统和服务管理器。

  • 查看服务状态

    systemctl status [servicename]

     

  • 启动/中止/重启服务 

    systemctl [start|stop|restart] [servicename]

     

  • 从新加载服务配置文件(不重启服务)

    systemctl [reload] [servicename]

     

 

五、如何查看一个目录的大小

 

可使用 du -sh [目录] 命令,du 使用来计算文件/目录大小的命令,-s 显示文件或整个目录的大小,-h 是用可读格式。

好比上面我查看了一下个人主目录下tmp目录的大小,一共有80 K

  

六、如何查看你系统中开放的端口号

 

1) 使用 netstat 命令

netstat命令用来显示网络状态,包括网络链接、路由表、接口统计等信息。经常使用的参数以下:

-a (all) 显示全部选项,默认不显示LISTEN相关。

-t (tcp) 仅显示tcp相关选项。

-u (udp) 仅显示udp相关选项。

-n 拒绝显示别名,能显示数字的所有转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态。

-p 显示创建相关连接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

 

下面我用了 netstat -tulpn 命令,能够看到端口 22正在被监听。

 

2)使用 ss 命令

如今也有不少人用 ss 命令,ss 通常用于转储套接字统计信息。它还能够显示全部类型的套接字统计信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。这里能够用 ss -lntpd

  

七、如何查看某个进程对 CPU 的使用状况

 

1) 可使用 top 命令

top命令是Linux下经常使用的性能分析工具,可以实时显示系统中各个进程的资源占用情况,相似于Windows的任务管理器。

 

2) 使用 ps 命令

ps aux 能够显示全部使用者的进程,最经常使用的方法是ps aux,而后再利用一个管道符号导向到grep去查找特定的进程。好比查看nginx 进程能够用 

ps aux | grep nginx

 

 

八、Linux里如何来作挂载

 

这里主要考的是 mount 命令,用于挂载Linux系统外的文件。

只输入 mount命令能够查看全部系统已经挂载的文件。

若是想挂载一个新的文件,好比将 /dev/hda1 挂在 /mnt 之下,能够用 

mount /dev/hda1 /mnt

 

 九、如何查看一些你不太熟悉的命令

 

这里要考你们的是使用 man 命令。对某个 Linux的命令不熟悉,能够用 man <命令 >,系统会返回该命令的一个很是详细的手册,来帮助你们使用。

 

 

十、若是使用了 man 命令仍是找不到答案怎么办

 

百度,或者在论坛、社群里求助大神......

 

 

固然,只掌握上面这十个基本问题仍是远远不够的。你们在平时的工做和学习中要注重积累;在面试前将本身的经历、重要的知识点做好梳理和充分的准备;在面试当中调整好心态,从容回答问题,逻辑要清晰,表达要清楚。最后祝你们都能找到本身理想的工做。