linux面试题分享

2023-12-17

1. 简述RAID0、1、5、10的区别?什么是LVM?RAID与LVM的使用场景?

RAID0需要两块以上硬盘,不提供冗余或错误修复能力,速度快,磁盘利用率100%;

RAID1需要两块以上硬盘,提供数据块冗余,磁盘利用率50%;

RAID5需要三块以上硬盘,可以提供热备盘实现故障恢复,支持损坏一块盘,磁盘利用率(n-1)/n;

RAID10第一级是RAID1,第二级为RAID0,应用场景为有大量数据存储,同时对安全性要求较高的领域。

LVM叫做逻辑卷管理,允许用户对磁盘资源进行动态调整。

RAID用来解决磁盘读写速度和安全性,LVM则用来解决随着需求变化来调整磁盘分区大小。

2. 单模光纤和多模的区别?如何查看网卡的速度?

单模光纤和多模的区别:

纤芯直径不同,光源不同,带宽不同,色散不同

查看网卡速度:

[root@gt-32 ~]# ethtool enp3s0

Settings for enp3s0:
        Supported ports: [ TP AUI BNC MII FIBRE ]   
        Supported link modes:   10baseT/Half 10baseT/Full  #网卡速度
                                100baseT/Half 100baseT/Full  #网卡速度
                                1000baseT/Full    #网卡速度

3. LINUX系统开机引导与启动过程?

BIOS自检选择启动设备 - 磁盘MBR引导装载程序 - /boot分区的grub启动菜单 - 内核vmlinuz - systemd服务 - default.target启动服务依赖树

4. 依次写出以下服务对应的默认端口【DNS、Nginx、MySQL、MongDB、Rsync、VSFTP、RabbitMQ、Elasticsearch】。写出查询888端口TCP状态为TIME_WAIT连接数总数查询命令

DNS: 53
Nginx: 80 (HTTP)、443 (HTTPS)
MySQL: 3306
MongoDB: 27017
Rsync: 873
VSFTP: 21
RabbitMQ: 5672 (AMQP)、15672 (Management UI)
Elasticsearch: 9200 (HTTP)、9300 (Transport)

netstat -an |grep 888 | grep TIME_WAIT | wc -l

5. 删除/web/soft/目录下一个月以前并大于100M的日志文件(.log)

find /web/soft/ -type f -name "*.log" -mtime +30 -size +100M -exec rm {} \;

6. NGINX服务器上的Master和Worker进程分别有什么作用?负载均衡有哪几种?

Master进程:

Master进程是NGINX服务器的主进程,负责管理和监控所有的Worker进程。
它读取和解析配置文件,以及启动和停止Worker进程。
Worker进程:

Worker进程是实际处理客户端请求的进程。
Master进程会创建多个Worker进程,每个Worker进程都是一个独立的进程,用于并发处理客户端请求。
Worker进程是多线程的,可以利用多核处理器的能力。

关于负载模式,NGINX支持多种负载模式,包括以下几种:

1.轮询(Round Robin):默认的负载均衡模式。

2.IP哈希(IP Hash):
根据客户端的IP地址进行哈希计算,将同一IP的请求分配给同一个Worker进程。
这样可以确保来自同一IP的请求始终由同一个Worker进程处理,适用于需要保持会话一致性的应用。

3.最少连接(Least Connections):
根据Worker进程当前的连接数来决定分配请求的优先级。
当前连接数较少的Worker进程会优先获得新的请求,以实现负载均衡。

4.加权轮询(Weighted Round Robin):
通过为每个被代理的服务器分配不同的权重值,从而使得高权重服务器有更多的请求机会。

5.加权最少连接(Weighted Least Connections):
这种方式将前两种负载均衡方式的优点相结合,不仅考虑到了每个服务器的负载情况,还能使高权重的服务器拥有更多的连接机会。

6.URL Hash:
这种方式是根据访问 URL 的 hash 值来进行分配,通常用于后端服务器不能共享 session 的情况,使得每次请求都能够访问到之前的数据。

7. Tomcat JVM优化参数-Xms、-Xmx、-Xss分别代表什么含义?一台Server搭建多个Tomcat服务器需要注意什么?

Xms 是指设定程序启动时占用内存大小  比如-Xms200m,表示分配200M
Xmx 是指设定程序运行期间最大可占用的内存大小  比如-Xms500m,表示jvm进程最多只能够占用500M内存
Xss 是指设定每个线程的堆栈大小  默认JDK1.4中是256K,JDK1.5+中是1M

一台Server搭建多个Tomcat服务器需要注意端口冲突

8. 配置firewalld永久生效规则,仅限制172.17.8.0/24可访问ssh服务,并禁止任何人ping服务器,写出命令及步骤

添加允许172.17.8.0/24网段访问sh服务的规则:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="172.17.8.0/24" service name="ssh" accept'
这将允许来自172.17.8.0/24网段的IP访问SSH服务。
添加禁止PING服务器的规则:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" protocol="icmp" icmp-type="echo-request" drop'

9. 修改内核参数net.ipv4.tcp_fin_timeout为10,写出临时修改以及永久生效方法

临时修改方法:

sysctl -w net.ipv4.tcp_fin_timeout=10

永久修改方法。

sudo vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 10
sudo sysctl -p
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux面试题分享 的相关文章

  • 段错误...关于你好世界

    这段代码非常简单 但我在 x86 64 Linux 系统上遇到了段错误 这让我很烦恼 刚开始接触asm 请耐心等待 与 NASM 组装nasm f elf64 test asm 与连接ld o test test o SECTION tex
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 对于任何真实数据集,数据压缩比的最小可能值是多少

    我在写信ZLIB类似于嵌入式硬件压缩器的 API 它使用 deflate 算法来压缩给定的输入流 在进一步讨论之前 我想解释一下数据压缩率 数据压缩率定义为未压缩大小与压缩大小之间的比率 压缩比通常大于一 这意味着压缩数据通常比未压缩数据小
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 使用脚本检查 git 分支是否领先于另一个分支

    I have branch1 and branch2我想要某种 git branch1 isahead branch2 这将显示如果branch1已承诺branch2没有 也可能指定这些提交 我无法检查差异原因branch2 is在之前br
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的

随机推荐