• Linux 面试最常问的十个问题


    如果你要去面试一个Linux系统运维工程师的职位,下面这十个最常见的问题一定要会,否则你的面试可能就危险了。这些都是比较基本的问题,大家要理解,不能光死记硬背。

      

    1、如何查看系统内核的版本

    这里有两种方法:

    1) uname -a

    uname 这个命令是用来打印系统信息的, -a 可以打印系统所有信息,其中包含内核版本,比如我的版本号是3.10.0-957.21.3.el7.X86_64。

    2) cat /proc/version

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

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

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

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

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

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

    • X86_64 表示64位

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

    也有两种方法:

    1)ifconfig -a

    ifconfig 是用来配置网络接口的命令,-a 可以显示当前所有的接口。

    2)ip addr show

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

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

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

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

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

    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]

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

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

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

      

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

    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

      

    7、如何查看某个进程对 CPU 的使用情况

    1) 可以使用 top 命令

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

    2) 使用 ps 命令

    ps aux 可以显示所有使用者的进程,最常用的方法是ps aux,然后再利用一个管道符号导向到grep去查找特定的进程。比如查看nginx 进程可以用 

    ps aux | grep nginx

    8、Linux里如何来做挂载

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

    只输入 mount命令可以查看所有系统已经挂载的文件。

    如果想挂载一个新的文件,比如将 /dev/hda1 挂在 /mnt 之下,可以用 

    mount /dev/hda1 /mnt

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

    这里要考大家的是使用 man 命令。对某个 Linux的命令不熟悉,可以用 man <命令 >,系统会返回该命令的一个非常详细的手册,来帮助大家使用。

    10、如果使用了 man 命令还是找不到答案怎么办

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

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

  • 相关阅读:
    windows 配置免密登录 centos7
    早盘消息 2月16日 周三
    早报 3月1日 周二
    早报 2月23日 周三
    早报 3月4日 周五
    早报 2月21日 周一
    早盘消息 2月17日 周四
    早报 2月22日 周二
    如何在远程机器上运行多个 SSH 命令并安全退出
    早报 2月28日 周一
  • 原文地址:https://www.cnblogs.com/jfzhu/p/12890986.html
Copyright © 2020-2023  润新知