Linux 面试题2

📅 2026/7/13 16:23:23
Linux 面试题2
1. 基础正则表达式BRE与扩展正则表达式ERE在元字符支持上有何本质区别请举例说明在 grep 和 sed 命令中若使用 ERE 应如何加选项或进行转义2. 简述 sed 命令的模式空间Pattern Space和保持空间Hold Space的概念它是如何实现流编辑的并简述 awk 的工作循环即 BEGIN、主输入循环、END 的执行顺序和优先级并列出其至少 5 个常用内置变量的含义。3. 对比 MBR 分区方案与 GPT 分区方案并解答在生产环境中面对 4TB 大容量磁盘应该选择哪种分区方案为什么简述 Ext4 文件系统与 XFS 文件系统的差异它们在进行逻辑卷缩减时有什么重大区别4. 物理卷PV、卷组VG、逻辑卷LV和物理盘区PE这四个概念是如何层层关联的相比传统物理分区LVM 的核心优势是什么说明 RAID-0, RAID-1, RAID-5, RAID-10 的区别并从“容错性、磁盘利用率、读写性能、最少盘数”这几个维度进行横向对比。5. 现有一个网页服务器访问日志文件请编写一个 sed 语句将文件中被注释的行以 # 开头和空行全部过滤掉直接在终端打印剩下的内容。并写出安全的 sed 命令要求原地修改并生成备份 .bak 文件将配置文件 /etc/ssh/sshd_config 中的 #Port 22 替换为 Port 2222。6. 假设 Nginx 的日志文件 /var/log/nginx/access.log 中第一列为客户端的 IP 地址第九列为 HTTP 状态码。请写出 awk 一行命令1. 统计并输出每个 IP 的请求总次数按降序排列取前 10 名。2. 统计并输出每个 HTTP 状态码如 200, 404, 500 等出现的次数。7. 生产环境中新加入了一块物理硬盘 /dev/sdb要求对其使用 GPT 方案并划分一个容量为 100GB 的主分区 /dev/sdb1。请分别给出使用1. parted 命令行的一体化分区命令。2. cat EOF 配合 fdisk / gdisk 的非交互式分区方案。并写出将新建的 /dev/sdb1 格式化为 xfs 文件系统并指定卷标Label为 DATA_PART 的命令。8. 写出将 /dev/sdb1 挂载到 /data 目录下的命令。获取 /dev/sdb1 的 UUID并写出在 /etc/fstab 中新增一行以实现“系统开机时自动将其以 defaults 选项挂载到 /data” 的配置字段。9. 现系统内存不足需要紧急扩容交换空间。请写出以下操作命令1. 在单盘上新建一个物理分区 /dev/sdc1大小为 4GB。2. 将该分区格式化为交换分区类型并启用它。3. 通过配置文件 /etc/fstab 实现开机自动启用并设置其优先级为 10。10. 现有一个卷组 vg_data其中已包含物理卷 /dev/sdb1。在该卷组中有一个名为 lv_store 的逻辑卷采用 xfs 文件系统挂载在 /store。由于空间爆满需要从物理盘 /dev/sdc2 处对其进行扩容。请写出1. 将 /dev/sdc2 初始化为 PV 并扩展到卷组 vg_data。2. 扩展逻辑卷 lv_store将卷组剩余所有空间全部加给它。3. 在线扩容其 xfs 文件系统。11. 写出为 /dev/vg_data/lv_store 创建一个只读快照 lv_store_snap 的命令快照预留大小为 500MB。在逻辑卷上进行测试后发现数据损毁请写出卸载原逻辑卷、恢复快照并重新挂载验证的完整命令。12. 在对新磁盘配置持久挂载时某管理员将 /etc/fstab 中的 UUID 输错了一个字符重启后系统直接卡在了 Emergency Mode。此时根分区变为了只读。请回答1. 在此终端下如果直接编辑 /etc/fstab 会遇到什么报错提示只读文件系统2. 请给出能够解除只读限制、恢复系统挂载并修复该配置文件的完整命令步骤。3. 在修改 /etc/fstab 之后重启前应运行哪条命令验证配置正确性13. 开发部门在清理旧分区时要求运维将一个容量为 500GB 的 LVM 逻辑卷缩减到 200GB。该卷上挂载的是 xfs 文件系统。请回答1. 这个任务在 xfs 文件系统上可行吗如果执行 lvreduce 会发生什么灾难2. 如果文件系统是 ext4缩减逻辑卷的正确安全步骤是怎样的为什么缩容必须“先缩减文件系统再缩减逻辑卷”第一题基础正则表达式和扩展正则表达式区别基础正则表达式中多数特殊字符会被当成普通字符如需要让其附有特殊意义需要转义“\”例如 () 、{}、| 等例grep -v #\|^$ /etc/fstab grep -Ev #|^$ /etc/fstab 或 egrep -v #|^$ /etc/fstab sed -n /^#\|^$/!p x.log sed -rn /^#|^$/!p x.log第二题模式空间模式空间是sed命令的默认工作空间起到临时缓存作用工作流完成就释放逐行读取逐行处理one by one 的工作原理保持空间和模式空间类似保持空间主要作用临时存储模式空间工作流完成就会清空空间的内容多行拼接场景需要借助保持空间。大概率用不到。awk 和sed类似多了一个维度如果sed是一维命令x那awk 就是一个二维命令(x,y)工作原理也是逐行读取每一行为一个记录x每一列为一个字段(y)处理顺序先初始化BEGIN的动作然后是主体动作最后是END中的动作。常见变量:$0 代表全部字段$1 代表第一个字段NR 目前已读取的输入记录总数。NF 当前输入记录中的字段数量。RS 输入记录分隔符默认值为换行符ORS 输出记录分隔符默认值为换行符FS 输入字段分隔符默认为空格OFS 输出字段分隔符默认值为空格。第三题mbr 采用32位寻址mbr最大支持2T最多4个主分区。gpt 采用64为寻址gpt则无容量限制128个主分区。ext4 小文件友好最大文件系统 1EB单文件上限 16TB支持扩容缩容xfs 大文件友好最大文件系统 8EB单文件 8EB只支持扩容lvm 场景ext4可扩可缩xfs仅支持扩第四题物理卷PV是卷组的物理载体卷组是逻辑卷的资源池、逻辑卷LV可用的存储空间、物理盘区PE逻辑卷的最小存储单元条带后的真实数据载体以上的关系可以参考集中式存储的硬盘域存储池lun等关系消化理解。第五题sed -rn /^#|^$/!p x.logsed -i.bak s/#Port 22/Port 2222/ /etc/ssh/sshd_config第六题awk {print $1} | sort | uniq -c | sort -nr | headawk /200|404|500/{print $9} | sort | uniq -c | sort -nr第七题parted -s /dev/sda unit GB mkpart primary xfs 0GB 100GB cat END fdisk /dev/sda n p 1 \r 100G w第八题mount /dev/sdb1 /data blkid /dev/sdb1 | cut -d -f2 | sed -nr s/UUID(.*)/UUID\1 /data xfs default 0 0/p /etc/fstab第九题parted -s /dev/sdc mkpart primary 0GB 4GB mkswap /dev/sdc1 swapon /dev/sdc1 /dev/null第十题pvcreate /dev/sdc2 vgextend vg_data /dev/sdc2 lvextend -l 100%FREE /dev/vg_data/lv_store xfs_growfs /store df -h第十一题lvcreate -s -r -L 500M -n lv_store_snap /dev/vg_data/lv_store第十二题mount -o remount,rw / vim /etc/fstab mount -a reboot第十三题1. xfs文件系统格式不支持在线缩容想要缩容备份好数据重新来一遍。先卸载挂载点 umoutn xx 缩容前文件系统检测 e2fsck -f 目标逻辑卷 没有报错开始缩容 先缩文件系统 resize2fs 目标逻辑卷 目标容量 再缩空间 lvreduce -L 目标容量 目标逻辑卷 最后重新挂载 mount xx xx