首页 > 其他 > 详细

linux shell 面试

时间:2014-02-20 12:45:49      阅读:340      评论:0      收藏:0      [点我收藏+]

1.有一个文件,里面有二列,第一列ip地址,第二列是时间,同一个ip可能出现多次,但时间不同.

  文件类似下面的样子:
             192.168.1.2              13:10
             192.127.12.1            13.11
             192.168.1.2              14:22

  现要求写一脚本,显示出现最多的ip top 10


awk ‘{print $1}‘ file|sort|uniq -c|sort -nr|head -10

分析:

只是提取最多的IP,并没有要求包含时间,所以先提取该IP列进行下一步的处理;

然后利用sort排序,再用uniqu -c 统计次数并显示;

再用sort -nr 按由高到低的顺序排列,最后利用head 截取前10 排;

[root@localhost ~]# awk ‘{print $1}‘ bb.txt | sort -nr |uniq -c |head -10
     10 192.168.1.2
      5 192.127.12.1

2.假设Apache产生的日志文件为access.log,在Apache正在运行的时候,执行命令mv access.log access.bak

 ,执行完毕后,请问新的apache日志会打印到那里?为什么?

答: 新的日志会打印在access.bak中. 因为apache启动时,会找到access.log文件,随时准备向文件中追
      加日志,虽然此时文件被改名,但是由于服务正在运行,因为它的inode节点的位置没有变,程序打开的
      fd仍然会指向原来的那个inode.
不会因为文件名的改变而改变,但若重启服务器之后,系统就会检查

      access.log文件是否存在,不存在,则创建.

3.在shell环境中,如何查看远程Linux系统运行了多少时间?

[root@localhost ~]# uptime
 10:37:40 up 12:50,  2 users,  load average: 0.02, 0.03, 0.00
[root@localhost ~]# ssh root@192.168.10.100 uptime | awk ‘{print $1,$2,$3}‘
root@192.168.10.100‘s password:
10:37:45 up 12:50,

4.处理一下文件内容,将域名取出并进行计数排数,如处理:
       http://www.baidu.com/index.html
       http://www.baidu.com/1.html
       http://www.baidu.com/2.html
       http://post.baidu.com/index.html
       http://mp3.baidu.com/index.html
       http://www.baidu.com/3.html
       http://post.baidu.com/2.html
  得到如下结果:域名的出现次数,域名
               4     www.baidu.com
               2     post.baidu.com
               1     mp3.baidu.com
  shell程序如下

[root@localhost ~]# cat aa.txt
http://www.baidu.com/index.html
http://www.baidu.com/1.html
http://www.baidu.com/2.html
http://post.baidu.com/index.html
http://mp3.baidu.com/index.html
http://www.baidu.com/3.html
http://post.baidu.com/2.html
[root@localhost ~]# cat aa.txt |sed ‘s#http://##g;s#/.*##g‘|sort -nr |uniq -c
      4 www.baidu.com
      2 post.baidu.com
      1 mp3.baidu.com
[root@localhost ~]# awk -F "/" ‘{print $3}‘ aa.txt |sort -nr |uniq -c
      4 www.baidu.com
      2 post.baidu.com
      1 mp3.baidu.com
[root@localhost ~]# cat aa.txt |sed -e ‘s/http:\/\///g ‘ -e ‘s/\/.*//g‘|sort -nr |uniq -c
      4 www.baidu.com
      2 post.baidu.com
      1 mp3.baidu.com


linux shell 面试

原文:http://feilong0663.blog.51cto.com/3265903/1360766

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!