sed:流编辑器,过滤和替换文本。
写一个shell命令,统计apache日志文件(access_log)中某一天每个URL的访问次数,并按照次数由小到大的顺序排序输出:
答案:cat /application/nginx/logs/20200101_access_xxx.log | awk ‘{print $7}’ | sort | uniq -c | sort -n
解析:awk ‘{print $7}’ 匹配到 url 记录,即日志文件格式的($http_referer)字段
sort 是排序,并且标准输出到屏幕
uniq -c 统计重复的行的总数
sort -n 是从小到大排序(如果是从大到小排序加入-r (倒序))
用netstat命令配合其他shell命令,按照来源IP统计所有到80端口的ESTABLISHED状态链接的个数,输出结果类似(第一列为连接数,第二列为IP):
12 202.165.123.2
35 202.165.123.2
69 202.165.123.2
答案:netstat | grep -E ‘80&ESTABLISHED’ | awk ‘{print $5}’ | cut -d ‘:’ -f1 | sort |uniq -c |sort -n
解析:grep -E 是扩展的正则匹配,可以同时匹配80和ESTABLISHED
awk ‘{print $5}’ 匹配出IP地址和进程号(格式ip:pid) 这里需要继续拆分
cut -d ‘:’ -f1 以:为分隔符,取出第一部分就是 ip
写一个sed命令,修改/tmp/input.txt文件的内容,
要求:(1) 删除所有空行;(2) 一行中,如果包含"11111",则在"11111"前面插入"AAA",在"11111"后面插入"BBB",
比如:将内容为0000111112222的一行改为:0000AAA11111BBB2222
答案:1)sed ‘/^$/d’ /tmp/input.txt 删除空行
2)sed ‘s#(11111)#AAA1BBB#g’ /tmp/input.txt
每周一下午三点将/tmp/logs目录下面的后缀为*.log的所有文件rsync同步到备份服务器192.168.1.100中同样的目录下面,crontab配置项该如何写:
答案:crontab–e(编辑定时任务)
* 15 * * 1 rsync -avzP /tmp/logs/*.log root@192.168.1.100:/t,p/logs
找到/tmp/目录下面的所有名称以”_s1.jpg”结尾的普通文件,如果其修改日期在一天内,则将其打包到/tmp/back.tar.gz文件中
答案:find /tmp/ -type f -name ‘.*_s1.jpg’ -mtime
1 | xarges tar -zxvf /tmp/back.tar.gz
配置mysql服务器的时候,配置了auto_increment_increment=3,请问这里的3意味着什么?
答案:auto_increment是用于主键自动增长的,从3开始增长,3表示自增的起始值
用一条命令显示本机eth0网卡的IP地址,不显示其它字符
答案:ifconfig eth0 | grep “inet addr” | awk -F ‘[ :]+’ ‘{print $4}’
LINUX系统软件安装和卸载的常见方法
答案:①rpm包卸载:rpm
-e xxx.rpm -nodeps(忽略依赖,加上–nodeps)
②yum remove xxx.rpm(卸载过程会将软件依赖的包也一起卸载,不建议使用)
③源码包卸载:进入编译后的软件目录,即安装时的目录,执行make uninstall;或者直接删除安装目录
Windows和LINUX常用的远程连接工具有哪些
答案:命令远程连接工具:xshell、Secure CRT、Putty、SSH Secure Shell Client
图形远程连接工具:xmanager(需要安装配置服务并打开177端口),VNC-Viewer(Linux需要安装vncserver),Windows自带的远程桌面
- 如何修改LINUX的IP地址、网关和主机名
答案:修改ip地址、网关:
修改/etc/sysconfig/network-scripts/ifcfg-eth0,修改IPADDR和GATWAY,如没有则添加这两行。
添加时确保:BOOTPROTO=static
IPADDR=xxx.xxx.xxx.xxx
GATWAY=xxx.xxx.xxx.xxx
修改主机名:
修改/etc/sysconfig/network,修改HOSTNAME
HOSTNAME=xxxxx
- 新安装MYSQL后怎样提升MYSQL的安全级别?
答案:(1)修改mysql默认端口
(2)linux下可以通过iptables来限制访问mysql端口的IP地址
(3)对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的可访问IP地址)
(4)root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录)
(5)开启二进制查询日志和慢查询日志
(6)mysql安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限
(7)删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个test库,可将其删除)