【Linux私房菜】第八期——面试

Ⓜ️ 分析日志t.log(访问量),将各个ip地址截取,并统计出现次数,并按从大到小排序(腾讯)【以下为t.log中的内容】
在这里插入图片描述
答案:cat t.log | cut -d '/' -f 3 | sort | uniq -c | sort -nr

  • cat 是查看文件内容的指令
  • cut -d 根据指定内容来分割【类似于Java的split方法】,-f是指定第几段
  • sort 用来从小到大排序,添加**-nr**就是逆序排序
  • uniq -c 根据出现的次数排序

Ⓜ️ 统计连接到服务器的各个IP情况,并按连接数从大到小排序(腾讯)

答案:netstat -an | grep ESTABLISHED | awk -F " " '{print $5}' | cut -d ":" -f 1 | sort | uniq -c | sort -nr

  • nestat -an 指令是用来监控网络信息的,-an选项是按照一定顺序显示
  • ESTABLISHEN代表处于连接状态,通过grep过滤出来
  • awk -F " " 根据空格来分割【无论有多少个空格】
  • print 起到打印的作用,$5代表分割后的第五部分
  • cut -d “:” 是根据:来分割,-f 1 代表选择第一部分【目的是去掉端口号部分】

Ⓜ️ 如果忘记了mysql5.7数据库的ROOT用户的密码,如何找回?(滴滴)

(1)正常我们在 Linux 中登录到 mysql 时,是通过mysql -u root - p 密码来完成的
(2)当我们忘记密码后可以通过vim /etc/my.cnf指令修改登录条件,在末尾添加skip-grant-tables指令可以在登录 mysql 时跳过权限验证
在这里插入图片描述

(3)通过servuce mysqld restart指令重启生效
(4)登录到 mysql 中,使用 mysql 数据库的 user 表,修改其中的 authentication_string 字段。

use mysql;
update user set authentication_string=("新密码") where user="root";

(5)通过flush privileges指令刷新权限,修改/etc/my.cnf文件,删掉添加的语句,即可使用新密码登录mysqlroot 用户


Ⓜ️ 统计IP访问情况,要求分析nginx访问日志(access.log),找出访问页面数量在前2为的IP(美团)

答案:cat access.log | awk -F " " '{print($1)} | sort | uniq -c | sort -nr | head -2'

  • head -2 代表查看前两条数据

Ⓜ️ 使用tcpdump监听本机,将来自ip 192.168.200.1tcp端口号为22的数据,保存输出到tcpdump.log,用做将来的数据分析(美团)

答案:tcpdump -i ens33 host 192.168.200.1 and port 22 >> tcpdump.log

  • TCPDump 可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。【百度百科】
  • 参数-i指明要监听的网络界面,ens33为网卡的类型 【tcpdump 俗称抓包工具】
  • 通过host指明主机IP、port指明端口号
  • 最后通过重定向加抓包数据追加到指定文件中

Ⓜ️ 常用的Nginx模块,用来做什么?(头条)

  • rewrite 模块,实现重写功能
  • access 模块,对来源进行控制
  • ssl 模块,实现安全加密
  • ngx_http_gzip_module: 网络传输压缩模块
  • ngx_http_proxy_module: 模块实现代理
  • ngx_http_upstream_module模块 实现定义后端服务器列表
  • ngx_cache_purge 实现缓存清除功能

Ⓜ️ 如果你是系统管理员,在进程Linux系统权限划分时,应考虑哪些因素?(腾讯)

(1)针对权限的对象分析权限的含义
在这里插入图片描述
(2)扩展
在这里插入图片描述
(3)结合案例分析【只对no的情况作出解释】
在这里插入图片描述
第一种假设:要想修改文件,要对文件有写权限
第二种假设:要想对文件产生操作,首先要能进入到文件所在的目录,也就是需要又对目录的执行权限
第三种假设:要想删除文件,首先要有对它直接父目录的修改权限,不能修改因为对文件没有写权限
第四种假设:对文件没有写权限


Ⓜ️ CentOS7 的启动流程,与 CentOS6 的差别?(腾讯)

在这里插入图片描述
到了Init 程序时,CentOS7由6的顺序启动改为并行启动。

CentoS7中我们的初始化进程变为了systemd。执行默认target配置文件/etc/systemd/system/default.target (这是一个软链接,与默认运行级别有关)。然后执行sysinit…target来初始化系统和basic.target来准备操作系统: 接着启动multi–user.target下的本机与服务器服务,并检查/etc/rc..d/rc.local文件是否有用户自定义脚本需要启动。 最后执行multi-user下的getty.target及登录服务,检查default.target是否有其他的服务需要启动。


Ⓜ️ 列举 Linux 高级命令,至少6个(百度)

指令作用
nestat网络状态监控
top系统运行状态监控
lsblk查看磁盘分区情况
ps -aux查看当前运行进程
chkconfig查看服务启动状态
systemctl管理系统服务器

Ⓜ️ Linux 查看内存、io读写、磁盘存储、端口占用、进程查看命令时什么?(瓜子)

作用指令
查看内存top
io读写iotop
磁盘存储df -lh
端口占用netstat -tunlp
查看进程ps -aux

Ⓜ️ 使用 Linux 命令计算 t2.txt 第二列的和并输出(美团)

在这里插入图片描述
答案:cat te.txt | awk -F " " '{sum+=$2} END '{print sum}'


Ⓜ️ 利用Shell 脚本检查一个文件是否存在?并给出提示(百度)

if [ - f 文件名 ]
then 
	echo "存在"
else
	echo "不存在"
fi

Ⓜ️ 用Shell写一个脚本,对文本t3.txt 中无序的一列数字排序,并将总和输出(百度)

sort -nr t3.txt | awk '{sum+=$0; print($0)} END 'print sum''

Ⓜ️ 请用指令写出查找当前文件夹(/home)下所有的文件文件内容包含有字符 "cat"的文件名称(金山)

答案:grep -r "cat" /home | cut -d ":" -f 1

Ⓜ️ 请写出统计 /home 目录下所有文件个数和所有文件总行数的指令(金山面试题扩展)

find /home -name "*.*" | wc -l
find  /home-name "*.*" | xargs wc -l

Ⓜ️ 列出你了解的web服务器负载架构(滴滴)

答案: Nginx、Haproxy、Keepalived、LVS


Ⓜ️ 每天晚上 10 点 30 分,打包站点目录 /var/spool/mail被分到/home 目录下(每次备份按照时间生成不同的备份包)(滴滴)

(1)编写Shell脚本

#!/bin/bash
cd /var/spool/ && /bin/tar zcf /home/mail -`date + %Y-%m-%d_%H-%M-%S`.tar.gz mail/

(2)通过crond -e指令创建定时任务

30 22 * * * /root/mail.sh

Ⓜ️ 如何优化Linux系统,说说你的看法?(百度)

1.对Linux架构优化

在这里插入图片描述

2.对linux系统本身的优化-规则

(1) 不用root,使用sudo提示权限

(2) 定时的自动更新服务时间,使用nptdate npt1.aliyun.com,让croud定时更新

(3) 配置yum源,指向国内镜像(清华,163)

(4) 配置合理的防火墙策略,打开必要的端口,关闭不必要的端口

(5) 打开最大文件数(调整文件的描述的数量)vim/etc/profile ulimit-sHn65535

(6) 配置合理的监控策略

(7) 配置合理的系统重要文件的备份策略

(8) 对安装的软件进行优化,比如nginx,apache

(9) 内核参数进行优化/etc/sysctl…conf

(10) 锁定一些重要的系统文件chattr/etc/passwd/ect/shadow/etc/inittab

(11) 禁用不必要的服务setup,ntsysv

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bow.贾斯汀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值