某大厂关于Linux系统相关面试题

一、Linux系统和Shell

1、写一个sed命令,修改/tmp/input.txt文件的内容,要求:(1) 删除所有空行;(2) 在非空行前面加一个"AAA",在行尾加一个"BBB",即将内容为11111的一行改为:AAA11111BBB

6deafee8691b4ad0bc03ebcad9f2ef84.png

eb97f4eeab724f5db150b25eae3d1593.png

2、每周一下午三点将/tmp/logs目录下面的后缀为*.log的所有文件rsync同步到备份服务器192.168.1.100中同样的目录下面,crontab配置项该如何写:

这里我们使用自己的IP

首先创建测试文件

7497d8ef6b114203b07c189f2e1c79c3.png

a46940e5f59e4f1a8c916b7646cf6493.png

接下来我们要配置免密访问

352c3ff16b494f66a811520c3edc7255.png

接下来我们测试一下

8847dad0759547a197dfa865e886fab7.png

caab528467194829a18dce2b96932176.png

最后我们备份

d5a9cc5dbb8147ac93a37cc5f7044ce3.png

c85d40fedc174229a91bc1254744a5a9.png

48254bad85f749d6b86528fbf3b5490f.png

3、找到/tmp/目录下面的所有名称以"_s1.jpg"结尾的普通文件,如果其修改日期在一天内,则将其打包到/tmp/back.tar.gz文件中

首先我们创建测试文件

d5fb94fbac504c21ba5271d75b9d0710.png

8177d7fd474b41ab984c208c90af8bf3.png

接下来我们编写一个脚本

60b6a2d908ba464d820b80306d2b31f2.png

0671f9241dd64ce99af67ccec208936f.png

4、写出SHELL函数RevertInput,函数必须获取三个参数,然后将三个参数倒序echo打印出来,函数必须检查参数个数的合法性,如果参数非法,打印”Illegal parameters”,对于下面的输入:

RevertInput “this is para1” para2 para3

应该输出:

para3

para2

this is para1

(注:需要注意第一个参数中的空格)

07ca29eb89ee4071805f353fd1f14a22.png

5、如果一个系统使用LVM进行分区管理,请写出调整一个逻辑卷分区大小的命令:

创建逻辑卷组

[root@node1 ~]# vgcreate VG1 /dev/sdb

创建逻辑卷大小

[root@node1 ~]# lvcreate -n LV1 -L 5g VG1

逻辑卷扩容

[root@node1 ~]# lvextend -L +1G /dev/VG1/LV1

逻辑卷缩容

[root@node1 ~]# lvreduce -L -1G /dev/VG1/LV1 

6、如何找出当前系统中磁盘I/O读写占用最高的程序:

要找出当前系统中磁盘I/O读写占用最高的程序,可以使用iotop命令。iotop是一个类似于top命令的工具,用于监视磁盘I/O的使用情况。

447fe308d0874b7f8ac0bb95d95a21bb.png

运行iotop,我们将看到一个类似于top命令的实时监视界面,显示当前磁盘I/O读写占用最高的程序和进程。按下o键可以按照磁盘I/O使用量进行排序,可以找出读写占用最高的程序。

二、网络相关

1、一个域名是否可以配置多个A记录?一个域名是否可以配置成多个其他域名的CNAME?

一个域名可以配置多个A记录,这样可以将一个域名解析到多个不同的IP地址上,实现负载均衡或者故障转移的功能。

一个域名可以配置成多个其他域名的CNAME,这样可以将一个域名解析到多个不同的域名上,实现统一资源的访问。但是需要注意的是,如果一个域名配置了CNAME记录,则不能再配置其他类型的记录,如A记录或MX记录等。

2、请写出用tcpdump抓取符合如下条件包的命令:(1) 目标端口是 80;(2) 来源IP或者是1.1.1.1,或者是 2.2.2.2;(3) UDP包;

476f5f47f9d24cc788ceb561e4fd31ee.png

6eec327f54104fe8a67857c86c5673cf.png

-i any:监听任何网络接口

udp:仅抓取UDP包

src host 1.1.1.1 or src host 2.2.2.2:来源IP为1.1.1.1或2.2.2.2

dst port 80:目标端口为80

3、用netstat命令配合其他shell命令,按照来源IP统计下所有到80端口的ESTABLISHED状态链接的个数,输出结果类似(第一列为连接数,第二列为IP):

12 202.165.123.2

35 202.165.123.2

69 202.165.123.2

aed151866c784567b980921312ed034d.png

netstat -ntu: 获取所有tcp连接状态

awk '/D/' {print 4}: 过滤ESTABLISHED状态,打印来源IP地址列

awk -F: '{print $1}': 提取IP地址

sort: 排序

uniq -c: 统计重复IP出现次数

4、写出一个curl命令,访问指定服务器61.135.169.121上的如下URL:http://www.baidu.com/s?wd=test,访问的超时时间是20秒:

4e2e62b6e2e640ae8b149ca483adbde8.png

三、LAMP相关

1、写出如何给apache增加virtualhost,让访问http://www.test.com和 http://www.test.cn的时候,都打开/var/www/html目录下面的文件:

首先我们下载

[root@node1 ~]# yum install httpd -y

接着我们写入hello,world!

[root@node1 ~]# echo 'hello,world!' > /var/www/html/index.html

接着我们创建日志文件

[root@node1 ~]# touch /var/lib/httpd/access_log

接下来我们配置主机

[root@node1 ~]# cd /etc/httpd/conf.d/
[root@node1 conf.d]# vim virt.conf
<Directory "/var/www/">
        AllowOverride none
        Require all granted
</Directory>

<VirtualHost 192.168.8.133:80>
        ServerName www.test.com
        DocumentRoot /var/www/html
        CustomLog "/var/lib/httpd/access_log" combined
</VirtualHost>

<VirtualHost 192.168.8.133:80>
        ServerName www.test.cn
        DocumentRoot /var/www/html
        CustomLog "/var/lib/httpd/access_log" combined
</VirtualHost>
接下来我们要把192.168.8.133 www.test.com www.test.cn写到/etc/hosts下(这里我们使用echo命令)

[root@node1 conf.d]# echo '192.168.8.133 www.test.com www.test.cn' >> /etc/hosts 

接下来重启服务

[root@node1]# systemctl restart httpd

[root@node1]# curl http://www.test.com
hello,world!
[root@node1]# curl http://www.test.cn
hello,world!

2、写一个shell命令,统计apache日志文件(access_log)中某一天中每个URL的访问次数,并按照次数由小到大的顺序排序输出:

[root@node1]# grep '28/Jan/2024' /var/lib/httpd/access_log | awk '{print $1}' | sort | uniq -c

3、如果配置mysql服务器的时候,配置了auto_increment_increment=3,请问这里的3意味着什么?

auto_increment_increment是一个系统变量,用于控制自增字段的增量值。3意味着这意味着每次插入新记录时,自增字段的值会增加3。

四、综合问答

如果一个Linux系统响应十分缓慢,SSH进去后执行命令等一分钟才有响应,请说明各种可能的原因,并阐述如何分析并找到问题源头:

  1. CPU负载过高:可以使用top或者uptime命令查看系统负载情况。如果负载过高,可能是因为有太多进程在竞争CPU资源,或者某些进程占用了大量CPU资源。

  2. 内存不足:使用free命令查看内存使用情况。如果内存不足,系统可能会频繁地进行内存页交换,导致响应缓慢。

  3. 硬盘I/O繁忙:使用iostat命令查看磁盘I/O情况。如果磁盘I/O负载过高,可能是因为系统在进行大量的读写操作。

  4. 网络问题:使用ifconfig或者netstat命令查看网络状况。如果网络带宽被占满,可能会导致SSH连接响应缓慢。

  5. 进程阻塞:使用ps命令查看系统进程情况。如果有进程长时间处于D状态,可能是因为进程在等待某些资源,导致系统响应变慢。

  6. 系统日志:查看系统日志文件(如/var/log/messages)是否有异常报错信息,这可能会提供一些线索

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安防监控项目

一、安防监控项目的概述 安防监控项目是指利用先进的技术手段对特定区域、场所或对象进行全天候、全方位的监控和管理&#xff0c;以确保安全和防范各类安全风险。随着科技的不断发展&#xff0c;安防监控项目已经从传统的简单监控摄像头向数字化、智能化方向发展。这些项目广…

代码随想录算法刷题训练营day19

代码随想录算法刷题训练营day19&#xff1a;LeetCode(404)左叶子之和、LeetCode(112)路径总和、LeetCode(113)路径总和 II、LeetCode(105)从前序与中序遍历序列构造二叉树、LeetCode(106)从中序与后序遍历序列构造二叉树 LeetCode(404)左叶子之和 题目 代码 /*** Definitio…

E. Vlad and a Pair of Numbers(位运算)

思路&#xff1a;如果x在这一位是1&#xff0c;说明a,b在这一位一个是1一个是0&#xff0c;我们默认a为1&#xff0c;b为0.. 对于n的一些位为0&#xff0c;那么a&#xff0c;b在这一位肯定相同。我们想&#xff0c;如果a和b的和右移一位与x相同&#xff0c;所以1的位置是相同的…

图算法 - 最短路径算法 (dijkstra) 迪克斯特拉算法

解决问题: 图中某个顶点到某一个顶点的最短路径 适用场景: 查找带权图的最短路径 代码设计: 首先定义一张图(邻接矩阵,二维数组方式实现) 生成一张图 迪克斯特拉算法实现 采用贪婪的方式,每次获取最短的一条路径,作为下次遍历的起点 使用visited 记录被访问过的节点避免…

网络安全04-sql注入靶场第一关

目录 一、环境准备 1.1我们进入第一关也如图&#xff1a; ​编辑 二、正式开始第一关讲述 2.1很明显它让我们在标签上输入一个ID&#xff0c;那我们就输入在链接后面加?id1 ​编辑 2.2链接后面加个单引号()查看返回的内容&#xff0c;127.0.0.1/sqli/less-1/?id1,id1 …

sqli-labs-master less-1 详解

目录 关于MySQL的一些常识 information_schema 常用的函数 sqli-labs-master less-1 分析PHP源码 测试 关于MySQL的一些常识 information_schema information_schema 是 MySQL 数据库中的一个元数据&#xff08;metadata&#xff09;数据库&#xff0c;它包含…

C++ 数论相关题目 求组合数Ⅱ

给定 n 组询问&#xff0c;每组询问给定两个整数 a&#xff0c;b &#xff0c;请你输出 Cbamod(1097) 的值。 输入格式 第一行包含整数 n 。 接下来 n 行&#xff0c;每行包含一组 a 和 b 。 输出格式 共 n 行&#xff0c;每行输出一个询问的解。 数据范围 1≤n≤10000 , 1…

方法、数组

方法 是语句的集合&#xff0c;在一起执行一个功能 它是解决一类问题的步骤的有序集合 包含于类或对象中 在程序中创建&#xff0c;在其他地方被引用 设计方法的原则&#xff1a;方法的本意是功能块&#xff0c;就是实现某一个功能的语句块的集合。设计时&#xff0c;最好保持…

【ArcGIS微课1000例】0096:dem三维块状表达(层次地形模型)

文章目录 一、DEM表达方式二、层次模型表达三、注意事项一、DEM表达方式 DEM数字高程模型的表达方式通常有以下4种: 1. 规则格网 2. 不规则三角网 3. 等高线 4. 层次地形模型 作为栅格地理数据,DEM 数据具有2.5维的特征,能够以三维表面的形式进行三维空间表达。但受其数…

IndexedDB查询

Indexeddb 创建、增删改查_indexdb 删除表-CSDN博客本地数据库IndexedDB - 学员管理系统之条件筛选&#xff08;四&#xff09;_indexdb条件查询-CSDN博客 <div align"center"><input type"text" id"input_search"> <button id&q…

在Visual Studio 2022中将源文件扩展名改为 .c 后,没有显示 #define _CRT_SECURE_NO_WARNINGS 1?

一、问题 在Visual Studio 2022中将源文件扩展名改为 .c 后&#xff0c;没有显示 #define _CRT_SECURE_NO_WARNINGS 1&#xff1f; 二、解答 对于使用了不安全的C运行时库函数&#xff08;如strcpy、scanf等&#xff09;而触发的安全警告&#xff0c;编译器不会默认包含_CRT_S…

C#颜色拾取器

1&#xff0c;目的&#xff1a; 获取屏幕上任意位置像素的色值。 2&#xff0c;知识点: 热键的注册与注销。 /// <summary>/// 热键注册/// </summary>/// <param name"hWnd">要定义热键的窗口的句柄 </param>/// <param name"id…

【大厂AI课学习笔记】1.3 人工智能产业发展(1)

我国人工智能政策&#xff0c;分为5个阶段。从探索期&#xff0c;到后面的4个阶段。 MORE:&#xff08;以下为文心一言4.0的参考内容&#xff0c;和腾讯课程资料的分阶段&#xff0c;略有不同&#xff09; 我国的人工智能政策发展可以大致分为以下几个阶段&#xff0c;每个阶段…

C/C++ - 内存管理(C++)

堆栈 C中的栈和堆是用于存储变量和对象​​的两个主要内存区域。栈是一种自动分配和释放内存的区域&#xff0c;用于存储局部变量和函数调用的上下文。栈上的内存分配和释放是自动进行的&#xff0c;无需手动管理。堆是动态分配内存的区域&#xff0c;用于存储动态创建的对象和…

【UE 材质】闪电材质

效果 步骤 1. 新建一个材质这里命名为“M_Lighting” 打开“M_Lighting”&#xff0c;设置混合模式为半透明&#xff0c;着色模型为无光照 在材质图表中添加如下节点 其中&#xff0c;纹理采样节点的纹理是一个线条 此时预览窗口中效果如文章开头所示。

wordpress找不回密码怎么办?4种方法设置新密码

有些WordPress站长太久不登录后台了&#xff0c;所以就忘记了管理员登录密码&#xff0c;这种情况我们应该怎么找回密码呢&#xff1f;或者设置一个新密码呢&#xff1f;下面boke112百科就跟大家分享4种方法设置WordPress新密码。 方法一、登录页面的“忘记密码&#xff1f;”…

基于DistFlow潮流的配电网故障重构MATLAB程序

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 简介 程序采用适用于辐射状网络的DistFlow潮流模型&#xff0c;可输入任意故障线路编号&#xff0c;得到优化重构结果。程序加入了辐射状和连续状约束&#xff0c;保证网络连通性和辐射性&#xff0c;改换成…

85 C++对象模型探索。数据语义学 - 继承多个类,且是虚基类的数据内存模型分析。虚基类表,虚基类表指针

前面我们分析了 继承多个类的情况。上一次分析的这样的情况&#xff1a; 今天看虚基类。先复习一下虚基类&#xff1a;类似下面这样的图 复习虚基类可以解决的问题&#xff1a; 在这之前先要复习一下多继承同一个爷爷类时带来的问题 空间问题 效率问题 二义性问题 //虚基类问…

【一】esp32芯片开发板环境搭建

1、esp32的源码在github上的地址 不同的芯片支持的源码版本不一样&#xff0c;需要根据自己的实际的esp32开发板的芯片下载不用版本的代码 esp32支持多种开发方式&#xff0c;如arduino&#xff0c;ESP-IDF等。官方推荐使用idf开发&#xff0c;ESP-IDF 是乐鑫官方推出的物联网开…

有趣的css - 第一个字符串自动生成文字图标

在设计 app 界面的时候&#xff0c;要展示一部分最新的资讯入口&#xff0c;然后出了一张下面的 UI 稿。 UI稿截图如下&#xff1a; 列表设计比较简单&#xff0c;就是列表前面的圆形图标这块&#xff0c;我个人觉得还是有点意思的。 一般的话&#xff0c;大概率都是用js限制…