分析日志t.log(访问量),截取ip地址,统计次数,大到小排序(腾讯)
http://192.168.200.10/index1.html
http://192.168.200.10/index2.html
http://192.168.200.20/index1.html
http://192.168.200.30/index2.html
http://192.168.200.40/index1.html
http://192.168.200.30/index1.html
http://192.168.200.20/index2.html
http://192.168.200.20/index1.html
cat tengxun.txt | cut -d ‘/’ -f 3 | sort | uniq -c | sort -nr
-d 以’/'分割 | -f 选择第3段 | sort 排序 | uniq -c 统计 | 大到小排序
192.168.200.10
192.168.200.10
192.168.200.10
192.168.200.20
192.168.200.30
192.168.200.30
192.168.200.40
[ldt@CentOS07 end]$ cat tengxun.txt | cut -d ‘/’ -f 3 | sort | uniq -c | sort -nr
3 192.168.200.10
2 192.168.200.30
1 192.168.200.40
1 192.168.200.20
2.统计连接到服务器各个ip情况,并按连接数从大到小排序(腾讯)
人话:看看当前有多少个ip连接到服务器(1个ip可能有多个ip)
netstat -an | grep ESTABLISHED | awk -F " " ‘{print $5}’ | awk -F “:” ‘{print $1}’ | sort | uniq -c |sort -nr
查看网络情况 | 过滤有连接的状态 | 按空格分割 ‘打印出第五段’ | 按分号分割 ‘打印第一个’
3.如果忘记了MySQL5.7的root密码,如何找回?
vim /etc/my.cnf
加上一句:跳过权限表
skip-grant-tables
退出,重启MySQL
service mysqld restart
进入MySQL直接输入空密码
mysql -u root -p
show databases; 查数据库
use mysql 使用mysql数据库
show tables; 查看表,在里面有一个user表
desc user; 查看user表,里面有一个authentication_string字段
update user set authentication_string=password(“mima”) where user=‘root’; 搞定
flush privileges; 需要刷新一下权限
exit 退出MySQL
最后将service-mysqld-restart这一段去掉,保存后再重启MySQL
4.写出指令:统计ip访问情况,要求分析nginx访问日志(access.log),找出访问页面数量再前2位的ip(美团)
192.168.130.22 aaa.html
192.168.130.23 aaa.html
192.168.130.24 aaa.html
192.168.130.21 aaa.html
192.168.130.21 aaa.html
192.168.130.26 aaa.html
192.168.130.21 aaa.html
[ldt@CentOS07 end]$ cat accesss.log | awk -F " " ‘{print $1}’ | sort | uniq -c | sort -nr | head -2
最后的head -2 是选取前两条
5.使用tcpdump监听,将来自ip 192.168.200.1,tcp端口为22的数据,保存输出到tcpdump.log,用来做数据分析(美团)
tcpdump命令就是用来监听tcp通讯的。
端口22就是ssh端口
需要Root权限
[root@CentOS07 end]# tcpdump -i ens33 host 192.168.200.1 and port 22 >> tcpdump.log
6.常用的Nginx模块,用来做什么(头条)
rewrite模块:实现重写功能
access模块:来源控制
ssl模块:安全加密
ngx_http_gzip_module:网络传输压缩模块
ngx_http_proxy_module:实现代理
ngx_http_upstream_module:实现定义后端服务器列表
ngx_cache_purge:实现缓存清除功能
7.如果你是系统管理员,在进行Linux系统权限划分时,应考虑哪些因素?(腾讯)
简答题随便谈…???
1.首先时Linux权限的主要对象
ls -l : 所有者|所在组|其他组
文件:
r:查看权限(cat more less)
w:编辑(vim echo)
x:执行
目录:
r:能否查看列表(ls)
w:目录文件增删、CVX(touch、rm cp mv)
x:能否进入目录(cd)
权限修改:
chmod 777 filename
chmod -R filename 递归子目录
2.根据实在实际经验考虑
权限分离,Linux系统权限和数据库权限不要放在同一个不能
权限最小原则(满足使用下的最小权限)
减少root的使用,尽量普通用户+sudo操作
重要的系统文件使用chattr命令进行锁定
使用SUID,SGID,Sticky设置特殊权限
使用工具:chkrootkit检测文件、Tripwire检测系统文件
8.权限操作题
1.用户tom 对目录/home/test 文件夹有 rwx 权限,但对/home/test/hello.txt 文件只有 r 权限,问tom对hello.txt能读吗(ok)?能修改吗(no)?能删除吗(ok)?
对与删除的权限,主要是看用户对文件所在的文件夹是否有 w 权限。
2.用户tom 对目录/home/test 文件夹有 rw 权限,但对/home/test/hello.txt 文件只有 r 权限,问tom对hello.txt能读吗(no)?能修改吗(no)?能删除吗(no)?
x 权限是“大门”,连大门都进不去,最里面的文件啥都干不了
3.用户tom 对目录/home/test 文件夹只有 x 权限,对/home/test/hello.txt 文件只有 r 权限,问tom对hello.txt能读吗(ok)?能修改吗(no)?能删除吗(no)?
4.用户tom 对目录/home/test 文件夹只有 wx 权限,对/home/test/hello.txt 文件只有 r 权限,问tom对hello.txt能读吗(ok)?能修改吗(no)?能删除吗(ok)?
对与删除的权限,主要是看用户对文件所在的文件夹是否有 w 权限。
9.说明CentOS7启动流程,并说明和CentOS6相同和不同地方(腾讯)
…
10.列举Linux高级命令,至少6个(百度)
netstat //网络状态监控
top //系统运行状态
lsblk //查看硬盘分区
find //查找
ps -aux //查看进程状态
chkconfig //查看服务启动状态
systemctl //管理系统服务器
11.Linux查看内存、io读写、磁盘存储、端口占用、进程查看命令是什么?(瓜子)
内存 top
io读写 iotop 默认没有安装,需要yum install iotop
磁盘存储 df -lh
端口占用 netstat -tunlp
进程查看 ps -aux | grep ???
12.使用Linux命令计算n.txt文件的第二列和并输出(美团)
张三 10
李四 20
王五 90
cat n.txt | awk -F " " ‘{sum+=$2} END {print sum}’
13.Shell脚本中如何检查一个文件是否存在?并给出提示(百度)
if [ -f 文件名 ]
then
echo “存在”
else
echo “不存在”
fi
检测的文件名要在当前目录下
14.用Shell写一个脚本,对文本 t3.txt3 中无序的一列数字排序,并将总和输出(百度)
sort -n t3.txt | awk ‘{sum+=$0;print $0} END {print "和="sum}’
将这串命令丢到Shell脚本里面就行了
1
1
2
2
2
5
6
6
7
10
和=42
15.请用指令写出查找当前文件夹下(/home)所有的文本文件内容包含有字符“cat”的文件名称(金山)
grep -r “cat” /home | cut -d “:” -f 1
16.请写出统计/home/tesst目录下所有文件个数和所有文件总行数的指令(金山拓展)
find /home/test -name “.” | wc -l
find /home/test -name “.” | xargs wc -l
17.列出你了解的web服务器负载架构(滴滴)
Nginx、Haproxy
18.每天晚上10点30分,打包站点目录 /var/spool/mail 备份到 /home 目录下(每次备份按时间生成不同的备份包,按年月日时分秒)(滴滴)
思路:写一个脚本,放在crond调用
19.如何优化Linux系统,说出你的方法(瓜子)
简答题。优化的本质:(高访问、高速度)高性能、高可用、高并发
优化有两个:Linux本身的优化、架构的优化
架构:1.网络的优化 2.磁盘io 3.数据库 4.文件连接数 5.安全性 6.防火墙与端口 7.内存与不必要的服务
Linux:1.不用root,使用sudo 2.定时更新服务时间 3.配置yum源 4.配置合理防火墙 5.配置合理的监控策略 6.备份策略 7.软件优化 8.锁定重要系统文件 8.禁用不必要的服务