Linux运维面试精要:命令操作与RAID知识

需积分: 9 5 下载量 124 浏览量 更新于2024-07-19 收藏 317KB PDF 举报
"这是一份关于Linux运维工程师面试题的总结,涵盖了文件操作、网络配置、计划任务设置、脚本编程以及RAID存储技术等多个方面。" 这份PDF文档旨在帮助Linux运维工程师准备面试,其中包含了多个关键技能的实战题目。让我们逐一解析这些知识点: 1. **文件操作**: - 查询空行的所在行号:可以使用`awk`或`grep`命令。`awk`的方式是检查每一行是否为空,如果为空则打印行号;`grep`配合`-n`参数显示行号,再用`awk`处理结果,提取出行号。 - 查找以特定字符串结尾的行:使用`grep`命令,例如`grepabc$file1`将找到以"abc"结尾的行。 - 打印指定行:`sed`和`head`命令都能实现,前者使用`-n`抑制默认输出,`'1,3p'`表示打印第1到第3行;`head`命令的`-3`参数则直接获取前3行。 2. **网络配置**: - 端口转发:在Linux中,`iptables`用于防火墙规则配置。这里的例子是将所有到达`192.168.2.1`主机的80端口请求,转发到本地8080端口。命令`iptables-APREROUTING-d124.42.60.109-ptcp-mtcp--dport80-jDNAT--to-destination10.0.0.18:9000`实现了这个功能。 3. **计划任务(crontab)**: - 设置定时任务:在11月的每天6点到12点之间,每2小时执行一次`/usr/bin/httpd.sh`。对应的crontab条目是`06-12/2*11*/usr/bin/httpd.sh`,这表示从6点开始,每隔2小时执行一次,直到12点。 4. **Shell脚本编程**: - 脚本转移大文件:提供的脚本遍历`/usr/local/test`目录下的所有文件,判断是否为普通文件且大小超过100K(100000字节),如果是,则移动到`/tmp`目录。它使用`ls`列出文件,`if[-f$file]`检查是否为文件,`ls-l$file|awk'{print$5}'`获取文件大小,然后根据条件执行`mv`命令。 5. **RAID技术**: - RAID0:数据被分块并行写入多个磁盘,提升读写速度,但无冗余,任何一块磁盘故障会导致全部数据丢失,适用于对速度要求高但不关心数据安全的场景。 - RAID1:数据镜像,数据在两块磁盘上完全相同,当一块磁盘故障时,另一块仍能正常工作,保障数据安全和可用性,成本较高。 - RAID5:使用分布式奇偶校验,允许在不影响其他数据的情况下重建一个故障磁盘的数据,数据读写性能好,且有一定冗余度,但写入性能相比RAID0较低。 - RAID10:RAID1和RAID0的组合,即先做镜像再做带区,既保证了速度又提供了冗余,成本相对较高,适合对速度和安全性都有较高要求的应用。 以上就是PDF中提到的主要知识点,它们反映了Linux运维工程师需要掌握的基本技能和知识体系。