1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。
答:hwclock -s
2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。
答:screen -S work 进去后开始做工作,暂时离开时可使用 ctrl+a,d 剥离当前会话。
3 Linux系统中命令共分为内建命令和外部命令,请分别阐述定义并举例。内建命令、外部命令,别名的优先级是什么?如何定义命令别名以及在执行命令的时候不使用别名?
答:内建命令是shell自带的命令,不用加载磁盘里的文件即可使用,外部命令需要加载磁盘里的脚本才能使用。
优先级:别名>内建命令>外部命令
alias cls=clear —定义别名
\command —不使用别名
4 hash的作用是什么?请列举出常见的使用方式。
答:利用hash缓存表可大大提高命令的调用速率。
系统初始hash 表为空 ,当外部命令执行时,默认会从PATH 路径下寻找该命令,找到后会将这条命令的路径记录到hash 表中,当再次使用该命令时,shell 解释器首先会查看hash
表 ,存在将执行之,如果不存在,将会去 去PATH 路径下寻找 。
Hash 常见用法:
hash 显示hash 缓存
hash –l 显示hash 缓存,可做为输入使用
hash –p path name 将命令全路径path起 起 别名为name
hash –t name 打印缓存中name 的路径
hash –d name 清除name 缓存
hash –r 清除缓存
5 创建一个文件,文件名格式为 liangchen-当前时间(年-月-日).log
touch liangchen-`date +%F`.log
6 history的作用,总结使用各种调用历史命令的快捷方式。
Linux下history命令主要用于显示历史命令记录内容, 下达历史纪录中的命令。
使用方法:
history [-c] [-d offset] [n]
? history -anrw [filename]
? history -ps arg [arg…]
-c: 清空命令历史
-d: 删除历史中指定 的命令
#: 显示最近的# 条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-n: 读历史文件中未读过的行到历史列表
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-p: 展开 历史 参数成多行 ,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
思考
生产服务器web服务日志中会记录访问IP,请统计出每个IP的访问次数,并且按照访问次数从高到低排列。日志格式如下:
80.95.39.126 – 17/Oct/2016:05:41:57 -0400 POST /wp-login.php HTTP/1.1 0.028 0.028 200 3279 http://magedu.com/wp-login.php Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – www.magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
1.162.234.78 – 17/Oct/2016:05:41:59 -0400 CONNECT mx-tw.mail.gm0.yahoodns.net:25 HTTP/1.0 0.161 – 400 166 www.magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
212.164.214.245 – 17/Oct/2016:05:43:53 -0400 GET /wp-login.php HTTP/1.1 0.023 0.023 200 2991 – Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
212.164.214.245 – 17/Oct/2016:05:43:53 -0400 POST /wp-login.php HTTP/1.1 0.024 0.024 200 3279 http://magedu.com/wp-login.php Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – www.magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
178.210.12.71 – 17/Oct/2016:05:45:57 -0400 GET /wp-login.php HTTP/1.1 0.028 0.028 200 2991 – Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
178.210.12.71 – 17/Oct/2016:05:45:57 -0400 POST /wp-login.php HTTP/1.1 0.025 0.025 200 3279 http://magedu.com/wp-login.php Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – www.magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
84.42.28.170 – 17/Oct/2016:05:46:47 -0400 GET /wp-login.php HTTP/1.1 0.027 0.027 200 2991 – Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
84.42.28.170 – 17/Oct/2016:05:46:47 -0400 POST /wp-login.php HTTP/1.1 0.042 0.042 200 3279 http://magedu.com/wp-login.php Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – www.magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
217.12.33.106 – 17/Oct/2016:05:48:34 -0400 GET /wp-login.php HTTP/1.1 0.027 0.027 200 2991 – Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
217.12.33.106 – 17/Oct/2016:05:48:34 -0400 POST /wp-login.php HTTP/1.1 0.027 0.027 200 3279 http://magedu.com/wp-login.php Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 – www.magedu.com CustomName1 – – CustomName4 CustomName5 CustomName6 CustomName7 CustomName8 –
答:将日志文本先保存到ip.txt中,然后执行以下命令
awk '{print$1}' ip.txt | uniq -c | sort -rn
原创文章,作者:hyw,如若转载,请注明出处:http://www.178linux.com/52794