Linux运维面试必备:awk、grep、sed命令与cron、iptables、RAID解析

需积分: 35 5 下载量 172 浏览量 更新于2024-07-24 收藏 317KB PDF 举报
"这篇文档汇总了Linux运维工程师面试中可能会遇到的问题,涵盖了文件操作、网络配置、计划任务、脚本编程以及RAID技术等多个方面,旨在帮助应聘者准备面试。" 1. **文件操作** - 查询file1中的空行行号:可以使用awk命令或者grep-n^$组合来实现。awk命令`awk '{if($0~/^$/) print NR}' file1`会打印出所有空行的行号;另一种方法是`grep -n '^$' file1 | awk 'BEGIN{FS=":"}{print $1}'`,先用grep找出空行并显示行号,再用awk提取行号。 - 查询file1以abc结尾的行:使用grep命令`grep 'abc$' file1`可以找到以abc结尾的行。 - 打印file1的前3行:可以使用sed命令`sed -n '1,3p' file1`或者head命令`head -3 file1`。 2. **网络配置** - 本地80端口转发至8080端口:使用iptables命令可以实现此功能。例如,`iptables -A PREROUTING -d 192.168.2.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1:8080`,这将把目标地址为192.168.2.1且端口为80的所有TCP请求重定向到8080端口。 3. **crontab任务设置** - 在11月每天6点到12点每隔2小时执行`/usr/bin/httpd.sh`:在crontab中,可以这样设置:`06-12/2 * 11 * /usr/bin/httpd.sh`。这表示在11月每天的6点、8点、10点和12点执行该脚本。 4. **Shell脚本** - 脚本用于将/usr/local/test目录下大于100K的文件转移到/tmp目录。脚本如下: ```bash #!/bin/bash for file in `ls /usr/local/test` do if [-f "$file"]; then if [ `ls -l "$file"|awk '{print $5}'` -gt 10000 ]; then mv "$file" /tmp/ fi fi done ``` 脚本遍历指定目录,检查每个文件是否为普通文件且大小大于100K,满足条件则移动到临时目录。 5. **RAID技术** - RAID0(条带化):数据被分割并并行写入多个磁盘,提高读写速度,但无数据冗余,一旦一个磁盘故障,所有数据都将丢失。 - RAID1(镜像):数据在两块磁盘上完全复制,提供高数据安全性和读性能,当一块磁盘故障,系统能自动切换到镜像磁盘。 - RAID5(分布式奇偶校验):数据和奇偶校验信息分散在多个磁盘上,允许在不影响数据访问的情况下重建损坏磁盘上的数据,提高了性能和冗余,但写性能相对较差。 - RAID10(RAID1+RAID0):结合了RAID1的镜像和RAID0的条带化,既提供高性能,也有一定的数据冗余,但成本较高。 以上内容涉及Linux系统的基本操作、网络配置、任务调度和存储管理等核心知识点,对于Linux运维工程师来说是非常基础且重要的技能。掌握这些知识能有效提升在面试中的竞争力。