首页 » shell编程 » 51cto的一份脚本面试题,花了半天时间自己做了下,有点难度。。。

51cto的一份脚本面试题,花了半天时间自己做了下,有点难度。。。

时间:2012-05-27作者:felix.chan分类:shell编程评论:21

原题地址为:http://rainbird.blog.51cto.com/211214/165779

题目细节要求可能和原题略有不同,但是90%都是一样的!

1.文本分析
取出password中shell出现的次数
第一种方法结果:

1
2
3
4
5
4 /bin/bash
1 /bin/sync
1 /sbin/halt
31 /sbin/nologin
1 /sbin/shutdown

第二种方法结果:

1
2
3
4
5
/bin/sync 1
/bin/bash 1
/sbin/nologin 30
/sbin/halt 1
/sbin/shutdown 1

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

========================================================================

2.文件整理
employee文件中记录了工号和姓名

1
2
3
4
5
6
employee:
100 Jason Smith
200 John Doe
300 Sanjay Gupta
400 Ashok Sharma
500 Felix Chan

bonus文件中记录工号和工资

1
2
3
4
5
6
7
bonus:
100 $5,000
300 $3,000
200 $500
400 $1,250
200 $500
600 $800

要求把两个文件合并并输出如下
处理结果:

1
2
3
4
5
400 Ashok Sharma $1,250
500 Felix Chan
100 Jason Smith $5,000
200 John Doe $500
300 Sanjay Gupta $3,000

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

执行结果如下:

1
2
3
4
5
6
[root@OracleA test]# ./sort.sh
400 Ashok Sharma $1,250
500 Felix Chan
100 Jason Smith $5,000
200 John Doe $500
300 Sanjay Gupta $3,000

====================================================

3.打印本机的交换分区大小
处理结果:

1
Swap:1024M

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

=======================================================

4.用户清理
清除本机除了当前登陆用户以外的所有用户
处理结果:

1
2
3
23:00:17 up 1:08, 1 user, load average: 0.02, 0.05, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.1.100 22:15 0.00s 10.75s 0.00s w

本机只剩下你自己就对了:)

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

========================================================

5.root用户今天登陆了多长时间
处理结果:

1
root logon today: 0.06 hour

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

========================================================

6.打印当前sshd的端口和进程id
处理结果:

1
sshd Port&&pid: 22 5412

答案:

抱歉,只有对本文发表过评论才能阅读隐藏内容。

==========================================================

7.输出本机创建20000个目录所用的时间
处理结果:

1
2
3
real 0m3.367s
user 0m0.066s
sys 0m1.925s

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

===========================================================
8.打印root可以使用可执行文件数 处理结果:

1
root's bins: 2306

分析:
该题目有点争议,出题的人挖了个坑,很容易搞死人的,呵呵,如果是root用户,不管该文件的拥有者和属主是谁,只要文件是具有x权限的,root都可以执行的 例如:
-rw-rw-rwx 1 ftp ftp 218 May 6 19:25 test.sh
这个文件root也是可以执行的,所以只需要找出具ugo中任意一个有-x的权限的就可以了: 但如果是普通用户,则需要考虑用户的拥有者和属主问题。

答案:
抱歉,只有对本文发表过评论才能阅读隐藏内容。

==============================================================================

另外附加一些常用的文本处理技巧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@OracleA test]# cat bounds
100 $5,000
300 $3,000
200 $500
400 $1,250
200 $500
 
给文件添加上行号:
[root@OracleA test]# cat -n bounds
1 100 $5,000
2 300 $3,000
3 200 $500
4 400 $1,250
5 200 $500
 
[root@OracleA test]# awk '{print NR,$0}' bounds
1 100 $5,000
2 300 $3,000
3 200 $500
4 400 $1,250
5 200 $500
 
[root@OracleA test]# sed = bounds |sed 'N;s/\n/ /'
1 100 $5,000
2 300 $3,000
3 200 $500
4 400 $1,250
5 200 $500

这种方式只在屏幕上显示添加的行号,如果要在文件中添加上行号:

直接将屏幕输出的结果重定向到另一个文件在改名吧,这个我也没想到好的处理办法。

显示文件bounds中重复的行

1
2
[root@OracleA test]# sort -n bounds |uniq -d
200 $500

显示文件中不重复的行
抱歉,只有对本文发表过评论才能阅读隐藏内容。

显示文件中重复的行,并打印出重复了多少次
抱歉,只有对本文发表过评论才能阅读隐藏内容。

显示文件中重复的行,并打印出全部重复行的行号

抱歉,只有对本文发表过评论才能阅读隐藏内容。

原创文章,转载请注明: 转载自红防联盟www.rednat.com

本文链接地址: 51cto的一份脚本面试题,花了半天时间自己做了下,有点难度。。。

|2|right
Tags: , , , , ,
21 条评论
  1. avatar
    Read China Internet Explorer Windows 2012-05-30 17:06 回复

    练习

  2. avatar
    woods China Google Chrome Windows 2012-06-19 17:37 回复

    学习

  3. avatar
    lee China SouGou Browser Windows 2012-06-26 05:17 回复

    感谢分享

  4. avatar
    嘻嘻 China Google Chrome Windows 2012-07-09 09:58 回复

  5. avatar
    blackcat China Internet Explorer Windows 2012-08-03 10:38 回复

    看看。

  6. avatar
    Kk China Google Chrome Windows 2012-08-03 20:34 回复

    ss

  7. avatar
    John China SouGou Browser Windows 2012-09-13 16:34 回复

    学习一下

  8. avatar
    Eraz China Mozilla Firefox Windows 2012-10-20 00:27 回复

    学习下。。。

  9. avatar
    feitongxiaoke China SouGou Browser Windows 2012-12-13 21:39 回复

    学习下。。。

  10. avatar
    wenyitud United States Google Chrome Windows 2013-01-22 08:12 回复

    多谢分享心得

  11. avatar
    ch China Google Chrome Windows 2013-02-28 17:22 回复

    对对答案。。。。

  12. avatar
    y China Google Chrome Windows 2013-03-22 18:30 回复

    学习…

  13. avatar
    lala008 United States Mozilla Firefox Windows 2013-03-25 08:21 回复

    对对答案。。。。

  14. avatar
    wjx China Mozilla Firefox Windows 2013-05-11 22:33 回复

    看看答案

  15. avatar
    小磊 China Internet Explorer Windows 2013-07-03 17:11 回复

    学习下

  16. avatar
    liqius China Google Chrome Windows 2013-07-16 15:03 回复

    学习下

  17. avatar
    soul China Google Chrome Windows 2013-09-04 17:10 回复

  18. avatar
    蒋校长 China Safari  Android 4.1.1 M040 Build/JRO03H 2013-10-17 16:16 回复

    谢谢帮助

  19. avatar
    eric China Mozilla Firefox Windows 2013-11-06 18:46 回复

    ss

  20. avatar
    tt China Google Chrome Windows 2014-03-05 16:02 回复

    学习

  21. avatar
    ll China Google Chrome Windows 2014-05-22 20:42 回复

    学习

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>