linux运维初级课前实战随机考试题及答案20110522

############################################
#《老男孩linux就业培训中心-初级班第七期课前考试
#date:2011-5-21
#出题人:老男孩
#QQ:31333741 MAIL:oldboy521@hotmail.com
#blog: http://oldboy.blog.51cto.com
############################################
笔试(根据学生上节课学习的随机出题,附参考答案):
问题1:
每周六及周日每天下午14点执行/oldboy.sh这个脚本,写出crontab定时任务
解答:
比较规范的写法:
00 14 *  * 6,0 /bin/sh /oldboy.sh >/dev/null 2>&1
如果希望查看脚本执行日志:则可写成:
00 14 *  * 6,0 /bin/sh /oldboy.sh >/var/log/oldboy.sh.log 2>&1
说明:
/dev/null为特殊的设备,黑洞设备或空设备。2>&1使标准错误和标准输出一样,本命令内容即把脚本输出重定向到/dev/null,即不记录任何输出,也不给系统发邮件。
如果定时任务不加 >/dev/null 2>&1 会导致邮件临时目录/var/spool/clientmqueue文件数猛增,占用大量磁盘空间。
更多crontab内容请看《[老男孩笔记系列]之-linux定时任务crontab命令详解(初级班)v1.4-20110424.pdf》
不标准写法:
00 14 *  * 6,0 /oldboy.sh ===>此脚本如果没有执行(x)权限,则永远都不会执行。

问题2:请通过awk命令取出服务器eth0网卡配置的ip地址(注*:此题可上机操作。目的:考察awk应用)。
解答:
[root@oldboy-A ~]# ifconfig eth0|grep "inet addr"|awk '{print $2}'|awk -F":" '{print $2}'
10.0.0.148

问题3:通过sed命令将/tmp/old-boy.txt中的/usr/log替换为 /home/oldboy(来自《360公司》面试 from jeacen)
解答:
[root@oldboy-A ~]# cat /tmp/old-boy.txt                      
/usr/log
oldboy
[root@oldboy-A ~]# sed -e 's#oldboy#qingyun#' /tmp/old-boy.txt
/usr/log
qingyun
[root@oldboy-A ~]# sed -e "s#/usr/log#/home/oldboy#" /tmp/old-boy.txt               
/home/oldboy
oldboy
[root@oldboy-A ~]# sed -i "s#/usr/log#/home/oldboy#" /tmp/old-boy.txt 
[root@oldboy-A ~]# cat /tmp/old-boy.txt                              
/home/oldboy
oldboy
方法一:sed -i 's#\/usr\/log#\/home\/oldboy#' /tmp/old-boy.txt 等同sed -i 's#/usr/log#/home/oldboy#' /tmp/old-boy.txt
方法二:sed -i 's/\/home\/oldboy/\/usr\/log/' /tmp/old-boy.txt
方法三:sed -i "s#/usr/log#/home/oldboy#" /tmp/old-boy.txt  ==>双引号也可以。
提示:”/”为特殊字符,需要转义,在斜线前面加反斜线来转义。本例中方法一不转义也可以完成。


问题4:通过find搜索/var/log下3天以前的日志并删除(来自《360》面试 from jeacen)
解答:
find /var/log/*.log -mtime +3 -exec rm {} \;
find /var/log/*.log -mtime +3 -type f -exec rm -f {} \;
find /var/log/*.log -type f -mtime +3 |xargs rm -f
提示:
1.有关find的各种详细案例讲解总结请参看〈老男孩笔记系列-find命令实战案例讲解指南〉
2.rm 命令请慎用,本人近10年运维亲身或听别人说过数十次使用该命令造成的无法弥补的后果。
测试结果:
[root@oldboy-A ~]# mkdir tmp
[root@oldboy-A ~]# cd tmp
[root@oldboy-A tmp]# date -s 20110518
Wed May 18 00:00:00 CST 2011
[root@oldboy-A tmp]# echo 1 >qingxun
[root@oldboy-A tmp]# date -s 20110519
Thu May 19 00:00:00 CST 2011
[root@oldboy-A tmp]# echo 1 >chaoliang
[root@oldboy-A tmp]# date -s 20110520
Fri May 20 00:00:00 CST 2011
[root@oldboy-A tmp]# echo 1 >xiaochen
[root@oldboy-A tmp]# date -s 20110517
Tue May 17 00:00:00 CST 2011
[root@oldboy-A tmp]# echo 1 >xiaoguo17
[root@oldboy-A tmp]# date -s 20110521
Sat May 21 00:00:00 CST 2011
[root@oldboy-A tmp]# echo 1 >xiaocao21
[root@oldboy-A tmp]# ls -lrt
total 20
-rw-r--r-- 1 root root 2 May 17 00:00 xiaoguo17
-rw-r--r-- 1 root root 2 May 18 00:00 qingxun
-rw-r--r-- 1 root root 2 May 19 00:00 chaoliang
-rw-r--r-- 1 root root 2 May 20 00:00 xiaochen
-rw-r--r-- 1 root root 2 May 21 00:00 xiaocao21
[root@oldboy-A tmp]# find . -mtime +2
./xiaoguo17
./qingxun
[root@oldboy-A tmp]# find . -mtime +1
./xiaoguo17
./chaoliang
./qingxun
[root@oldboy-A tmp]# find . -mtime +2 -exec rm {} \;
[root@oldboy-A tmp]# ls -lrt        
total 12
-rw-r--r-- 1 root root 2 May 19 00:00 chaoliang
-rw-r--r-- 1 root root 2 May 20 00:00 xiaochen
-rw-r--r-- 1 root root 2 May 21 00:00 xiaocao21
[root@oldboy-A tmp]# find . -type -f -mtime +1 -exec rm -f {} \;
find: invalid argument `-f' to `-type'
[root@oldboy-A tmp]# find . -type f -mtime +1 -exec rm -f {} \;
[root@oldboy-A tmp]# ls -lrt
total 8
-rw-r--r-- 1 root root 2 May 20 00:00 xiaochen
-rw-r--r-- 1 root root 2 May 21 00:00 xiaocao21
拓展:以分钟为单位删除
[root@oldboy-A tmp]# find . -type f -mmin +1440 -exec rm -f {} \;       
[root@oldboy-A tmp]# ll -lrt
total 4
-rw-r--r-- 1 root root 2 May 21 00:00 xiaocao21
[root@oldboy-A tmp]# uptime
 00:10:53 up  4:38,  1 user,  load average: 0.00, 0.00, 0.00
[root@oldboy-A tmp]# find . -type f -mmin +8 -exec rm -f {} \;   
[root@oldboy-A tmp]# ll -lrt
total 0

问题5:192.168.0.0网段通过192.168.0.1网关的连入172.16.0.0 ip段,如何添加路由(来自《360》面试 from jeacen)

解答:/sbin/route add -net 172.16.0.0  netmask 255.255.255.0 gw 192.168.0.1
提示:有关route及ip命令的使用,课上将详细讲解。很重要的命令,必须要掌握。

问题6:shell特殊变量中 $?,$#分别表示什么意思?
解答:
$?  获取执行的上一个指令的返回值(0  为成功,  非零为失败)
$#  获取当前 shell 命令行中参数的总个数

问题7:正则表达式中表示以...开头,和以...结尾的符号分别为?
解答:
^ 以...开头
$ 以...结尾

问题8:搜索/oldboy.txt中包含oldboy或linux字串的所有行,请给出命令。
解答:
[root@oldboy-B tmp]# echo oldboy >>/oldboy.txt
[root@oldboy-B tmp]# echo linux >>/oldboy.txt
[root@oldboy-B tmp]# echo caojun >>/oldboy.txt
[root@oldboy-B tmp]# cat /oldboy.txt
oldboy
linux
caojun
[root@oldboy-B tmp]# cat /oldboy.txt|grep -E "oldboy|linux"
#==>很多同学喜欢这个低效的方法,希望看到本文后能改。
oldboy
linux
[root@oldboy-B tmp]# grep -E "oldboy|linux" /oldboy.txt
oldboy
linux
[root@oldboy-B tmp]# egrep  "oldboy|linux" /oldboy.txt
oldboy
linux
答案:grep -E "oldboy|linux" /oldboy.txt 或 egrep  "oldboy|linux" /oldboy.txt
 

问题9:处理以下日志文件内容,将域名取出来并根据域名进行计数排序处理:(百度和sohu面试题)
/oldboy.log
 http://www.etiantian.org/index.html
 http://www.etiantian.org/1.html
 http://post.etiantian.org/index.html
 http://mp3.etiantian.org/index.html
 http://www.etiantian.org/3.html
 http://post.etiantian.org/2.html

处理结果形式:
      1 mp3.etiantian.org
      2 post.etiantian.org
      3 www.etiantian.org
前面的数字分别表示,后面的域名在文件中出现的次数。
实际上本题就是统计日志中访问不同域名的次数,并按次数排
说明:本题的思路非常有用,如生产环境中,可以通过netstat查看已建立连接的频繁访问服务的ip排序,
也可以查看web日志,看看一天或一个小时甚至几分钟内,列出IP访问量的排序等等。

解答:
[root@oldboy-A tmp]# cut -d "/" -f3 /oldboy.log |sort|uniq -c
      1 mp3.etiantian.org
      2 post.etiantian.org
      3 www.etiantian.org
[root@oldboy-A tmp]# awk -F "/" '{print $3}' /oldboy.log|sort|uniq -c
      1 mp3.etiantian.org
      2 post.etiantian.org
      3 www.etiantian.org

更多参考答案请看 http://oldboy.blog.51cto.com/2561410/485223

问题10. 在Shell环境下,如何查看远程Linux系统运行了多少时间?( sohu面试题)
[root@oldboy-A tmp]# uptime
 00:27:01 up  4:54,  1 user,  load average: 0.00, 0.01, 0.00

 欢迎大家一起交流、讨论学习,共同进步。
北飘的生活很不易,我们必须加油! 为了自己,为了家人,我们没有退路,必须勇往直前。
在这里也顺便解答一些问我问题的朋友:其实找到一份linux运维工作很容易,只要你真的肯努力。责任心,塌实,勤奋,刻苦,听话---这是我在招聘基础运维工程师时的几个关键词,我对技术本身并不是很看中。只要符合上面条件,技术有基础,来公司找个成手带你一个月就上路了。

更多相关文章
  • linux运维初级课前随机考试:一.笔试部分:1.开机配置服务自启动的文件路径是?解答:/etc/rc.local2.网卡配置文件的路径解答:/etc/sysconfig/network-scripts/ifcfg-eth03.Client 端DNS文件的路径解答:/etc/resolv.conf ...
  • linux运维初级班课前综合考试及参考答案20110529
    linux运维初级班课前综合考试及参考答案20110529##########################################################<老男孩linux就业培训中心-初级班第七期课前考试及课上讲解#shell脚本编程实战模拟考试#date:2011-5- ...
  • linux运维初级班shell脚本编程考试及参考答案20110523
    linux运维初级班shell脚本编程考试及参考答案20110523#############################################<老男孩linux就业培训中心-初级班第七期课前考试#shell脚本编程实战模拟考试#date:2011-5-23#出题人:老男孩 #Q ...
  • 马哥linux运维初级+中级+高级视频教程教学视频全套下载(近50G)
    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文件系统管理详解之三10_05_脚本编程之八 脚本完成磁盘分区格式化20_01_DNS主从复制及区域传 ...
  • 跟老男孩学Linux运维:Web集群实战运维人员必备书籍
    跟老男孩学Linux运维:Web集群实战,业内最资深linux运维架构实战专家.IT教育界顶尖培训专家老男孩老师力作,小米,阿里巴巴,西山居运维总监及资深工程师力荐!(IT人员必备书籍)天猫.当当.京东各大平台有售,火爆抢购中!http://item.jd.com/11891124.html老男孩教 ...
  • Linux运维人员的前生后世!运维工作尤其是linux运维,其实最考验你的能力,因为需要学习的东西实在太多, 你既要懂网络:思科华为设备的配置:要懂性能调优:包括lamp或者lnmp的性能调优,也包括linux操作系统调优: 要懂数据库mysql或者nosql(例如mongodb):要懂编程语言:S ...
  • shell脚本编程实战模拟考试题(上机)一.考试前准备工作:1.执行yum install httpd -y 安装httpd.2.检查安装情况[root@oldboy-B tmp]# rpm -qa httpdhttpd-2.2.3-45.el5.centos.13.启动httpd,并检查[root ...
  • Linux运维自动化之Cobbler实战案例
    大纲 一.前言 二.Cobbler 工作原理详解 三.Cobbler 常用命令汇总 四.Cobbler 各种目录说明 五.自定义Kickstart文件详解 六.Cobbler 实战案例安装CentOS6.4注,操作系统 CentOS 6.4 x86_64,软件版本 Cobbler-2.4.0-1.( ...
一周排行
  • 为了更好的服务午饭,最近几天,总结和归纳一些常见的网络问题,先给出自己的部分意见,并扩展了一部分知识,和大家一起交流欢迎各位午饭仔测试并指出错误,以便于给出更正确,更实际,更可行的答案,在这里先谢谢大家了.目录1.p ...
  • 今在进行rman备份时出现了以下报错:RMAN> run 2> { 3> allocate channel c0  type disk; 4> backup database format ' ...
  • 要使用到jstl里某些功能,如获取list的长度等这些就可以使用jstl里的功能标签库,首先得先引用这两个jstl库 <%@ taglib uri="http://java.sun.com/jsp/j ...
  • 原文地址:Exchange2010安装笔记(主要步骤和问题汇总)作者:[Opser]小默Exchange2010安装笔记 安装环境:硬件:基于X64平台物理设备2台,       且每台内存至少1G (exchang ...
  • 本节内容: 控制MDP的算法: 状态行动奖励: 非线性动力学系统: 模型: LQR:线性二次型调节控制:(Riccati方程)
  • 在所有文件的第一行后添加一行注释,例如:#!/usr/bin/perl ..... ....在其后面添加添加一行## Copyright (c) 2011 by mcshell效果如下#!/usr/bin/perl ...
  • 下载,如图五所示,它能够清楚地显示出各个类的名称.属性.方法. 图五 总而言之,在多层应用环境中,如果要查找性能瓶颈的具体位置,性能监视数据无疑是极其宝贵的依据,只要充分运用Win 2K/XP提供的性能工具,我们可以 ...
  • 在网络上看到这篇文章感觉写得太好了,作者张佳伟对于linux的看法和主张极为透彻,如linux是开发者的系统,这个观点还是比较正确的,像刚开发出的GNOME3,更说明这一点,根本没有考虑到大众的桌面操作方式,起初,连 ...
  • 本文主要对MySQL体系结构做了详细的解读,包括不同语言与SQL的交互.系统管理和控制工具.连接池.SQL接口.解析器.查询优化器.查询缓存. 了解MySql必须牢牢记住其体系结构图,Mysql是由SQL接口,解析器 ...
  •     看了很多博主写的爱上Linux的N+1理由,写的都非常好.非常棒,非常的深刻,有意义!    我应该是从读大学的时候,接触Linux吧,那时候在学校里面,上Linux课程的时候.都是在玩游戏,根本没把这个当一 ...