shell--题目
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://post.baidu.com/index.html
http://mp3.baidu.com/index.html
得到如下结果:域名的出现次数,域名
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/ 的文件个数就行了
- # lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
- 131 24204
- 57 24244
- 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--题目的更多相关文章
- Codeforces 777A Shell Game
A. Shell Game time limit per test:0.5 seconds memory limit per test:256 megabytes input:standard inp ...
- 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 ...
- 常用shell脚本
[脚本1]打印形状打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n ...
- 刷题记录:[De1ctf] shell shell shell
目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...
- 《MIT 6.828 Homework 2: Shell》解题报告
Homework 2的网站链接:MIT 6.828 Homework 2: shell 题目 下载sh.c文件,在文件中添加相应代码,以支持以下关于shell的功能: 实现简单shell命令,比如ca ...
- 【转】干货分享-100个shell脚本
本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please i ...
- BJDCTF-WP
BJDCTF 2nd WP 引言 由于在备考,所以没多少时间做,并且也实属是菜,所以就做了几个题目,这里就分享一下啦 Hi~ o( ̄▽ ̄)ブ [BJDCTF 2nd]fake google 知识点:S ...
- 二分算法题目训练(一)——Shell Pyramid详解
HDU2446——Shell Pyramid 详解 Shell Pyramid 题目描述(Google 翻译的) 在17世纪,由于雷鸣般的喧嚣,浓烟和炽热的火焰,海上的战斗与现代战争一样.但那时,大炮 ...
- shell练习--PAT题目1003:我要通过!(成功案例)
“答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: ...
- shell练习--PAT题目1001:卡拉兹(Callatz)猜想(失败案例)
卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在 1950 年的世界 ...
随机推荐
- POJ 1151 / HDU 1542 Atlantis 线段树求矩形面积并
题意:给出矩形两对角点坐标,求矩形面积并. 解法:线段树+离散化. 每加入一个矩形,将两个y值加入yy数组以待离散化,将左边界cover值置为1,右边界置为2,离散后建立的线段树其实是以y值建的树,线 ...
- POJ 1061 青蛙的约会【扩展欧几里德】
设跳的次数为t 根据题意可得以下公式:(x+mt)%L=(y+nt)%L 变形得 (x+mt)-(y+nt)=kL (n-m)t+kL=x-y 令a=(n-m),b=L,c=x-y 得 at+bk=c ...
- java 20 - 8 字节流的文件复制以及汉字在计算机中的存储方式
复制文本文件:把当前目录下的FileIntputStream.java文件里面的内容复制到当前目录的b.txt文件中 分析: 数据源: FileIntputStream.java -- 读取数据 -- ...
- Pro Git(中文版)
Pro Git(中文版) 返回 Git @ OSC 目录 1.起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 Git 前的配置 1.6 ...
- 敏捷软件开发 原则 模式 与实践 - OCP原则
最近在读BOB大叔的敏捷软件开发,特别是TDD那一章节,启示真的不少,从测试驱动开发,讲到驱动表明程序设计的意图,从设计意图讲到对象依赖的解耦,从解耦建立Mock对象. 其实是对每个模块都编写单元测试 ...
- Ubuntu优化-修改启动级别
一 修改Ubuntu启动级别 sudo apt-get install sysv-rc-conf 执行: sysv-rc-conf 打x的表示开机启动. 二 启动级别 Ubuntu默认启动级别为2 r ...
- 本地环境,Ecshop安装教程
最近有个项目需要用ECshop来做,之前没接触过ECshop,今天去网上找了下安装教程,现在发出来分享一下. 1. ecshop网店系统最新版本是ECSHOP V2.7.3,去官网下载utf8和gbk ...
- angularjs中只显示选中的radio的值
angularjs中,只显示选中的radio的值.主要是相同的radio,name属性值要相同还有ng-model的值要相同,同时要指定value值.这样选中的时候就会在下面的div中显示选中的值了. ...
- 地图投影——高斯-克吕格投影、墨卡托投影和UTM投影
地图投影(Map Projection) http://baike.baidu.com/view/94066.htm 概念: 地图投影是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方 ...
- 几种Java NIO框架的比较(zz)
问题:生活中工作中,会有人问我javaNIO框架里面 Netty Mina xSocket Grizzly 等等哪个比较好? 在这里写一下自己的感受,也算是总结一下吧 在我的印象中.不管是什么NIO ...