Linux面试题总结(2022最新版)

关于作者
🐶 程序猿周周
⌨️ 短视频小厂BUG攻城狮
🤺 如果文章对你有帮助,记得关注、点赞、收藏,一键三连哦,你的支持将成为我最大的动力

本文是《后端面试小册子》系列的第 5️⃣ 篇文章,该系列将整理和梳理笔者作为 Java 后端程序猿在日常工作以及面试中遇到的实际问题,通过这些问题的系统学习,也帮助笔者顺利拿到阿里、字节、华为、快手等多个大厂 Offer,也祝愿大家能够早日斩获自己心仪的 Offer。

标题地址
MySQL数据库面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/122910606
Redis面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/122934938
计算机网络面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/122973684
操作系统面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/122994599
Linux面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/122994862
Spring面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123016872
Java基础面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123080189
Java集合面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123171501
Java并发面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123266624
Java虚拟机面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123412605
Java异常面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123462676
设计模式面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123490442
Dubbo面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123538243
Netty面试题总结(2022版)https://blog.csdn.net/adminpd/article/details/123564362

一、概念

1、如何理解一切接文件?

Linux 中所有内容都是以文件的形式保存和管理,包括一切软硬件。 这样做最明显的好处是,开发者仅需要一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。同时也带来不利之处,如使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。

二、命令

1、说一下用户权限配置?

使用 chown(change mode) 命令修改文件目录的权限,其中读写执行的权限值分别是 4、2、1,同时三组数字包含所有者,同组用户,其他用户的权限。

2、哪些常用命令?

1)pwd:显示当前所在位置;

2)su:申请切换root用户,需要输入root用户密码(sudo su是当前用户暂时申请root权限,需要输入当前用户密码);

3)grep:要搜索的字符串 要搜索的文件 --color : 搜索命令,–color 代表高亮显示;

4)ps -ef || ps -aux:两者的区别是展示格式不同(System V风格和BSD风格);

5)kill -9 [pid] : 销毁进程(-9表示强制停止),先用ps查找进程,然后用kill掉;

6)find :寻找;

7)tar -zcvf :打包并压缩文件 ;tar -xvf 压缩文件 - C 解压的位置 : 解压压缩包;

8)free : 显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存;

9)wget : 是从远程下载的工具 ; curl ;

10)top : 监控系统状况,比如CPU、内存的使用,显示系统上正在运行的进程 load average(系统负载,就是进程队列的长度);

11)vmstat : 虚拟内存性能监控、CPU 监控。

ref

3、常用命令的参数理解?

[Linux常用命令的常用参数](https://www.cnblogs.com/autoria/p/6123449.html

三、实操

1、有哪些抓包方式?

  • tcpdump https://www.cnblogs.com/fonxian/p/6565209.html

  • wireshark https://blog.csdn.net/hnjb5873/article/details/48657001

2、CPU 负载过高如何处理?

系统平均负载被定义为在特定时间间隔内运行队列中(在 CPU 上运行或者等待运行多少进程)的平均进程数。

如果一个进程满足以下条件则其就会位于运行队列中:

  • 它没有在等待 I/O 操作的结果
  • 它没有主动进入等待状态(没有调用 wait
  • 没有被停止(如等待终止)

在 Linux 中,进程分为三种状态,一种是阻塞的进程(blocked process),一种是可运行的进程(runnable process),另外就是正在运行的进程(running process)。

进程可运行状态时,它处在一个运行队列 run queue 中,与其他可运行进程争夺 CPU 时间。系统的 load 是指正在运行和准备好运行的进程的总数。 比如现在系统有 2 个正在运行的进程,3 个可运行进程,那么系统的 load 就是 5。load average 就是一定时间内的 load 数量。

一般来说只要每个CPU的当前活动进程数不大于 3 那么系统的性能就是良好的,如果每个 CPU 的任务数大于 5,那么就表示这台机器的性能有严重问题。

排查思路

1)首先通过命令 ps ux 排查哪些进程 cpu 占用率高;

2)查看对应 java 进程的每个线程的 CPU 占用率。通过命令 ps -Lp 15047 cu

3)追踪线程内部,查看 load 过高原因。通过命令 jstack 15047

当然第三步也可打印线程 jstack pidof java > stack.out,查找到对应的 threadid,再反查代码。

cpu load过高问题排查

3、服务响应慢改如何排查?


PS:《后端面试小册子》已整理成册,目前共十三章节,总计约二十万字,欢迎👏🏻关注公众号【程序猿周周】获取电子版和更多学习资料(最新系列文章也会在此陆续更新)。公众号后台可以回复关键词「电⼦书」可获得这份面试小册子。文中所有内容都会在 Github 开源,项目地址 csnotes,如文中存在错误,欢迎指出。如果觉得文章还对你有所帮助,赶紧点个免费的 star 支持一下吧!
在这里插入图片描述

  • 32
    点赞
  • 400
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Linux常用命令是运维工作和系统管理中必备的技能之一。以下是一些关于Linux常用命令的面试题及其答案: 1. 介绍一下Linux命令行。 Linux命令行是在终端窗口中输入命令与系统交互的方式。它允许用户执行各种任务,如文件和目录操作、软件安装、网络配置等。Linux命令行的优点是可以快速、高效地操作系统,并且许多任务可以通过脚本自动化。 2. 列举一些常用的文件和目录操作命令。 常用的文件和目录操作命令包括: - ls:列出目录内容 - cd:切换目录 - pwd:显示当前工作目录 - cp:复制文件或目录 - mv:移动文件或目录 - rm:删除文件或目录 - mkdir:创建目录 3. 如何查看系统信息? 可以使用以下命令查看系统信息: - uname -a:显示内核和操作系统的详细信息 - lsb_release -a:显示Linux发行版的详细信息 - cat /etc/os-release:显示操作系统的发行版信息 - uname -r:显示内核版本 - free:显示系统内存使用情况 - df:显示磁盘空间使用情况 4. 用于网络配置的常用命令有哪些? 常用的网络配置命令包括: - ifconfig:显示和配置网络接口信息 - ip addr:显示和配置网络接口信息(新一代命令) - route:显示和配置内核路由表 - ping:测试与另一个主机的连通性 - ssh:远程登录到其他主机 - netstat:显示网络连接、路由和接口统计信息 5. 如何查找文件? 可以使用以下命令来查找文件: - find:按照文件名、类型、大小等条件查找文件 - locate:通过数据库快速查找文件 - grep:在文件中搜索指定的文本模式 - which:查找命令所在的路径 - whereis:查找指定二进制文件的路径 以上是一些关于Linux常用命令的面试题及其答案。熟练掌握这些命令可以提高在Linux系统管理和运维工作中的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿周周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值