Linux运维常见面试题汇总

5星 · 超过95%的资源 需积分: 33 23 下载量 22 浏览量 更新于2024-07-23 收藏 108KB DOCX 举报
Linux面试试题 Linux面试试题中涵盖了多个方面的知识点,从文件操作、网络配置到shell脚本编程和存储技术等。下面对每个问题进行详细的解释和分析: **1. 查询file1里面空行的所在行号** 使用awk命令可以实现该功能。awk是一个强大的文本处理命令,可以根据模式匹配和操作文本。在这里,我们使用awk的条件语句来匹配空行,并使用NR变量来打印行号。NR变量是awk的内置变量,表示当前记录的行号。 awk '{if($0~/^$/)print NR}' file 或者使用grep命令和awk命令结合使用: grep -n ^$ file | awk '{BEGIN{FS=":"}{print $1}' 这里使用grep命令来匹配空行,并使用-n选项来打印行号,然后使用awk命令来提取行号。 **2. 查询file1以abc结尾的行** 使用grep命令可以实现该功能。grep命令是一个强大的文本搜索命令,可以根据模式匹配文本。在这里,我们使用grep命令来匹配以abc结尾的行。 grep abc file1 **3. 打印出file1文件第1到第3行** 使用sed命令可以实现该功能。sed命令是一个流编辑器,可以根据模式匹配和操作文本。在这里,我们使用sed命令来打印文件的第1到第3行。 sed -n '1,3p' file1 或者使用head命令: head -3 file1 **4. 将本地80端口的请求转发到8080端口** 使用iptables命令可以实现该功能。iptables命令是一个强大的防火墙命令,可以根据规则匹配和操作网络流量。在这里,我们使用iptables命令来将本地80端口的请求转发到8080端口。 iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:8080 **5. crontab** 使用crontab命令可以实现该功能。crontab命令是一个job调度命令,可以根据规则匹配和操作时间。在这里,我们使用crontab命令来每天早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh脚本。 06-12/2 * 11 * /usr/bin/httpd.sh **6. 编写个shell脚本将/usr/local/test目录下大于100K的文件转移到/tmp目录下** 使用shell脚本可以实现该功能。shell脚本可以根据条件匹配和操作文件。在这里,我们使用shell脚本来遍历/usr/local/test目录下所有文件,检查文件大小是否大于100K,如果是,则将其转移到/tmp目录下。 #!/bin/bash for file in `ls /root` do if [ -f $file ]; then if [ `ls -l $file | awk '{print $5}'` -gt 10000 ]; then mv $file /tmp/ fi fi done **7. RAID** RAID(Redundant Array of Independent Disks)是一种磁盘阵列技术,可以提高数据存储的可靠性和性能。常见的RAID模式有RAID 0、RAID 1、RAID 5等。 RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。 RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。 RAID 10:高可靠性与高效磁盘结构。 Linux面试试题涵盖了多个方面的知识点,从文件操作、网络配置到shell脚本编程和存储技术等。掌握这些知识点可以帮助我们更好地理解和应用Linux操作系统。