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

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

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

答: 新的日志会打印在access.bak中. 因为apache启动时,会找到access.log文件,随时准备向文件中追

加日志,虽然此时文件被改名,但是由于服务正在运行,因为它的inode节点的位置没有变,程序打开的

fd仍然会指向原来的那个inode.不会因为文件名的改变而改变,但若重启服务器之后,系统就会检查

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

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

ssh user@被监控的主机ip "uptime"|awk '{print $3,$4}'

#uptime

#who -r

#who -p

#last reboot

#top

#less /prc/uptime

#w

4.处理一下文件内容,将域名取出并进行计数排数,如处理:

http://www.baidu.com/index.html

http://ww.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程序如下:

方法一: #cat file|sed -e 's/http:////' -e 's//.*//'|sort|uniq -c|sort -nr|head -10

方法二: #awk -F/  '{print $3}' file|sort -r|uniq -c|awk '{print $1 "t",$2}'

5.如果得到随机的字串,长度和字串中出现的字符表可定义并将字串倒序显示,如把0123456789作为基准的

字串字符表,产生一个6位的字串642031,打印出的字符串为130246,可使用bash/perl/php/c任一种。

bash程序如下:

#awk -v count=6 'BEGIN{strold="";strnew="";sawk -v count=6 'BEGIN{strold="";strnew="";srand();str="0123456789";
len=length(str);
for(i=count;i>=1;i--){
test[i]=substr(str,(rand()*len),1);}
for(i=count;i>0;i--)
strold=strold""test[i];
print strold;for(i=1;i<=count;i++)
strnew=strnew""test[i];
print strnew;}'

输出结果:861710
               017168

6.如何查看当前Linux状态。如cpu使用,内存使用,负载情况等

答:linux 中,"/proc"是个伪文件目录,不占用系统空间,及时反应出内存现在使用的进程情况

其中许多文件都保存系统运行状态和相关信息。

对于/proc可以浏览其文件内容:

cpuinfo                   主机cpu信息

filesystems               文件系统信息

meninfo                   主机内存信息

version                   Linux版本信息

diskstatus                磁盘负载情况

另外top命令可以动态的显示出当前系统进程用户的使用情况,free命令可以查看内存信息

ps 查看进程情况。

7.比如,ext2文件系统,如果异常死机,开机如何修复文件系统?

答: 如果异常死机,如断电,通知机房的人开机之后,我们需要远程修复,检查文件系统。除了

/ 分区之外,其他分区:umount /home

fsck -y /home

/ 分区需要开机之后由机房人员检查。随后我们登录并扫描/home分区

一般执行 fsck 时,必须将要修复的设备进行 umount umount后,再执行fsck命令。
一般 fsck -y -t ext3 /dev/sdax 即可

8.如何检查一个进程所使用的文件句柄?

答:看这里面/proc/进程号/fd/ 的文件个数就行了

    1. # lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
    2. 131 24204 
    3. 57 24244  
    4. 57 24231

........

  其中第一列是打开的句柄数,第二列是进程ID。

9.查看Apache的进程数。

# ps -ef|grep httpd|wc -l

10.如何统计apache的每秒访问数?

tail access_log|awk '{print $1,$4}'

其中文件在:/etc/httpd/access_log

11.说明一下/proc/sys子目录的作用

答:该子目录的作用是报告各种不同的内核参数,并让你能交互的更改其中某些。与/proc中所有

其他文件不同,该目录中的某些文件可以写入,不过针对root。一下是该子目录的两个最常见

的用途:

(1)允许路由:即便是Mandrakelinux 默认的内核也是允许路由的。你必须显式允许它这么做

为此:#echo 1 >/proc/sys/net/ipv4/ip_forward.

如果您要禁用,则让上述1改为0

(2)阻止ip欺骗:ip欺骗会让人认为某个来自于外部的某个数据包来自于它到达的那个接口,

这一技术常被crack利用。你可以阻止这种入侵:

#echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter.

这次改变仅由系统运行时有效,系统重启后,会改变为默认值。你可以将以上命令添加到

/etc/rc.d/rc.local中,启动就会运行。另一方法:修改/etc/sysctl.conf

12:一个文件中的所有行两两合并

#awk '{printf("%s ",$0);getline;print}' f2.txt

#sed 'N;s/\n/ /' f2.txt

shell--题目的更多相关文章

  1. Codeforces 777A Shell Game

    A. Shell Game time limit per test:0.5 seconds memory limit per test:256 megabytes input:standard inp ...

  2. Codeforces777A Shell Game 2017-05-04 17:11 59人阅读 评论(0) 收藏

    A. Shell Game time limit per test 0.5 seconds memory limit per test 256 megabytes input standard inp ...

  3. 常用shell脚本

    [脚本1]打印形状打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n ...

  4. 刷题记录:[De1ctf] shell shell shell

    目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...

  5. 《MIT 6.828 Homework 2: Shell》解题报告

    Homework 2的网站链接:MIT 6.828 Homework 2: shell 题目 下载sh.c文件,在文件中添加相应代码,以支持以下关于shell的功能: 实现简单shell命令,比如ca ...

  6. 【转】干货分享-100个shell脚本

    本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please i ...

  7. BJDCTF-WP

    BJDCTF 2nd WP 引言 由于在备考,所以没多少时间做,并且也实属是菜,所以就做了几个题目,这里就分享一下啦 Hi~ o( ̄▽ ̄)ブ [BJDCTF 2nd]fake google 知识点:S ...

  8. 二分算法题目训练(一)——Shell Pyramid详解

    HDU2446——Shell Pyramid 详解 Shell Pyramid 题目描述(Google 翻译的) 在17世纪,由于雷鸣般的喧嚣,浓烟和炽热的火焰,海上的战斗与现代战争一样.但那时,大炮 ...

  9. shell练习--PAT题目1003:我要通过!(成功案例)

    “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: ...

  10. shell练习--PAT题目1001:卡拉兹(Callatz)猜想(失败案例)

    卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在 1950 年的世界 ...

随机推荐

  1. UVALive 6450 Social Advertising DFS解法

    题意:一些人有朋友关系,在某个人的社交网站上投放广告可以被所有该人的直接朋友看到,问最小投放多少个广告使给出的人都看到广告.(n<=20) 解法:看到n的范围可以想到用二进制数表示每个人被覆盖与 ...

  2. BZOJ 1500 维修数列【Splay】

    注意:1,内存限制,所以需要回收删除的点 2,当前节点的左连续区间和最大值=max(左子树的左连续区间和最大值,左子树的总和+当节点的值+max(右子树的左连续区间和最大值,0)):右连续区间和最大值 ...

  3. java中的单引号和双引号

    1.单引号引的数据 是char类型的,双引号引的数据 是String类型的:单引号只能引一个字符,而双引号可以引0个及其以上.char只是一个基本类型,而String 可以是一个类,可以直接引用.比如 ...

  4. swift为UIView添加extension扩展frame

    添加swift file:UIView+Extension import UIKit extension UIView { // x var x : CGFloat { get { return fr ...

  5. 05JavaIO详解_仿照IO源码自己去实现一个IO流(为了加深印象,本身没有价值)

    版本会越来越难: 版本1:只写一个read方法 package com.guigu.shen.InputStream; import java.io.IOException; import java. ...

  6. VS2010引用App_Code下的类文件问题解决方法

    原文连接:http://blog.csdn.net/zjlovety/article/details/7658528 VS2020中“添加ASP.NET文件夹”里没有App_Code,添加普通文件夹然 ...

  7. 文件“D:\file.txt”正由另一进程使用,因此该进程无法访问该文件。

    关于如题的解决方案! 都是有一定编程基础的人,我就不讲其它的了. 1.在实例化一个FileStream后,用完它一定要关闭.先试试这一条: 2.第一条不起作用的话,用本条.在实例化FileStream ...

  8. chrome设置--disable-web-security解决跨域

    我们可以通过使用chrome命令行启动参数来改变chrome浏览器的设置,具体的启动参数说明参考这篇介绍.https://code.google.com/p/xiaody/wiki/ChromiumC ...

  9. C#进阶系列——WebApi接口传参不再困惑:传参详解(转载)

    原文地址: http://www.cnblogs.com/landeanfen/p/5337072.html 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用 ...

  10. Mysqli基础知识

    相信原来在开始学习php的时候,很多人使用的数据库首选MySQL,连接数据库的扩展首选mysql扩展,但随着php版本的提高,mysql扩展正逐渐被mysqli和PDO所取代.正如使用mysql函数时 ...