文章目录
- 26 Linux 面试题-(腾讯,百度,美团,滴滴)
-
- 26.1 分析日志t.log(访问量),将各个ip 地址截取,并统计出现次数,并按从大到小排序(腾讯)
- 26.2 统计连接到服务器的各个 ip 情况,并按连接数从大到小排序 (腾讯)
- 26.3 问题:如忘记了mysql5.7 数据库的 ROOT 用户的密码,如何找回? (滴滴)
- 26.4 写出指令:统计 ip 访问情况,要求分析nginx 访问日志(access.log),找出访问页面数量在前 2 位的 ip(美团)
- 26.5 使用 tcpdump 监听本机, 将来自ip 192.168.200.1,tcp 端口为 22 的数据,保存输出到
- 26.6 常用的Nginx 模块,用来做什么(头条)
- 26.7 如果你是系统管理员,在进行Linux 系统权限划分时,应考虑哪些因素?(腾讯)
- 26.8 权限操作思考题
- 26.9 说明 Centos7 启动流程,并说明和CentOS6 相同和不同的地方(腾讯)
- 26.10 问题:列举 Linux 高级命令,至少 6 个(百度)
- 26.11 问题:Linux 查看内存、io 读写、磁盘存储、端口占用、进程查看命令是什么?(瓜子)
- 26.12 使用 Linux 命令计算 t2.txt 第二列的和并输出 (美团)
- 26.13 Shell 脚本里如何检查一个文件是否存在?并给出提示(百度)
- 26.14 用shell 写一个脚本,对文本 t3.txt 中无序的一列数字排序, 并将总和输出(百度)
- 26.15 请用指令写出查找当前文件夹(/home)下所有的文本文件内容中包含有字符 “cat” 的文件名称(金山)
- 26.16 请写出统计/home 目录下所有文件个数和所有文件总行数的指令(在金山面试题扩展)
- 26.17 列出你了解的web 服务器负载架构(滴滴)
- 26.18 每天晚上 10 点 30 分,打包站点目录/var/spool/mail 备份到/home 目录下(每次备份按时间生成不同的备份包 比如按照 年月日时分秒)(滴滴)
- 26.19 如何优化Linux 系统, 说出你的方法 (瓜子)
26 Linux 面试题-(腾讯,百度,美团,滴滴)
26.1 分析日志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/index1.html
http://192.168.200.40/index1.html
http://192.168.200.30/order.html
http://192.168.200.10/order.html
答案: cat t.txt | cut -d ‘/’ -f 3 | sort | uniq -c | sort -nr
26.2 统计连接到服务器的各个 ip 情况,并按连接数从大到小排序 (腾讯)
netstat -an | grep ESTABLISHED | awk -F " " ‘{print $5}’ | cut -d “:” -f 1 | sort | uniq -c| sort -nr
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S46PcsaN-1659189039193)(../../../Pictures/Spring/wps370.png)]](http://img.e-com-net.com/image/info8/55593713716f47f9886b0792b303be1d.jpg)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qf2iZvbs-1659189039195)(../../../Pictures/Linux/wps372.png)]](http://img.e-com-net.com/image/info8/71e35980f4524dbead7972e99109c12a.jpg)
26.3 问题:如忘记了mysql5.7 数据库的 ROOT 用户的密码,如何找回? (滴滴)
26.4 写出指令:统计 ip 访问情况,要求分析nginx 访问日志(access.log),找出访问页面数量在前 2 位的 ip(美团)
cat access.log | awk -F " " ‘{print $1}’ | sort | uniq -c | sort -nr | head -2
26.5 使用 tcpdump 监听本机, 将来自ip 192.168.200.1,tcp 端口为 22 的数据,保存输出到
tcpdump.log , 用做将来数据分析(美团) >>
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g4ZJhICp-1659189039195)(../../../Pictures/Spring/wps373.png)]](http://img.e-com-net.com/image/info8/99e39d18382e416aaf4e3111cbea0949.jpg)
tcpdump -i ens33 host 192.168.200.1 and port 22 >> /home/tcpdump.log
26.6 常用的Nginx 模块,用来做什么(头条)
rewrite 模块,实现重写功能
access 模块:来源控制
ssl 模块:安全加密
ngx_http_gzip_module:网络传输压缩模块ngx_http_proxy_module 模块实现代理
ngx_http_upstream_module 模块实现定义后端服务器列表
ngx_cache_purge 实现缓存清除功能
26.7 如果你是系统管理员,在进行Linux 系统权限划分时,应考虑哪些因素?(腾讯)
- 首先阐述 Linux 权限的主要对象
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3CPuqgte-1659189039196)(../../../Pictures/Spring/wps375.png)]](http://img.e-com-net.com/image/info8/d3ec0e6d28544c2ba2d9ea11292ac959.jpg)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cmLWS9NO-1659189039197)(../../../Pictures/Linux/wps376.png)]](http://img.e-com-net.com/image/info8/e59db875274c456ca8f1ba55f459df60.jpg)
- 根据自己实际经验谈考虑因素
- 注意权限分离,比如: 工作中,Linux 系统权限和数据库权限不要在同一个部门
- 权限最小原则(即:在满足使用的情况下最少优先)
- 减少使用 root 用户,尽量用普通用户+sudo 提权进行日常操作。
- 重要的系统文件,比如/etc/passwd, /etc/shadow etc/fstab,/etc/sudoers 等,日常建议使用 chattr(change attribute)锁定,
需要操作时再打开。【演示 比如: 锁定 /etc/passwd 让任何用户都不能随意 useradd,除非解除锁定】
- 使用 SUID, SGID, Sticky 设置特殊权限。
- 可以利用工具,比如 chkrootkit/rootkit hunter 检测 rootkit 脚本(rootkit 是入侵者使用工具,在不察觉的建立了入侵系统途径) [演示使用 wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz ]
- 利用工具 Tripwire 检测文件系统完整性
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AxjKyUL2-1659189039197)(../../../Pictures/Spring/wps378.png)]](http://img.e-com-net.com/image/info8/93cde6b83fa04e0fbc1e3892dd0e188d.jpg)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lBBlSDjO-1659189039198)(../../../Pictures/Linux/wps379.png)]](http://img.e-com-net.com/image/info8/33f71219d2874340a26fc935ee6ac314.jpg)
26.8 权限操作思考题
-
用户 tom 对目录 /home/test 有执行 x 和读 r 写 w 权限,/home/test/hello.java 是只读文件,问 tom 对 hello.java 文件能读吗(ok)? 能修改吗(no)?能删除吗?(ok)
-
用户tom 对目录 /home/test 只有读写权限,/home/test/hello.java 是只读文件,问tom 对 hello.java 文件能读吗(no)? 能修改吗(no)?能删除吗(no)?
-
用户 tom 对目录 /home/test 只有执行权限 x,/home/test/hello.java 是只读文件,问 tom 对 hello.java 文件能读吗(ok)? 能修改吗(no)?能删除吗(no)?
-
用户 tom 对目录 /home/test 只有执行和写权限,/home/test/hello.java 是只读文件,问 tom 对 hello.java 文件能读吗(ok)? 能修改吗(no)?能删除吗(ok)?
26.9 说明 Centos7 启动流程,并说明和CentOS6 相同和不同的地方(腾讯)
26.10 问题:列举 Linux 高级命令,至少 6 个(百度)
netstat //网络状态监控 top //系统运行状态 lsblk //查看硬盘分区 find
ps -aux //查看运行进程 chkconfig //查看服务启动状态 systemctl //管理系统服务器
26.11 问题:Linux 查看内存、io 读写、磁盘存储、端口占用、进程查看命令是什么?(瓜子)
top, iotop, df -lh , netstat -tunlp , ps -aux | grep 关心的进程
26.12 使用 Linux 命令计算 t2.txt 第二列的和并输出 (美团)
张三 40
李四 50
王五 60
cat t2.txt | awk -F " " ‘{sum+=$2} END {print sum}’
26.13 Shell 脚本里如何检查一个文件是否存在?并给出提示(百度)
if [ -f 文件名 ] then echo “存在” else echo “不存在” fi
26.14 用shell 写一个脚本,对文本 t3.txt 中无序的一列数字排序, 并将总和输出(百度)
9 8 7 6 5 4 3 2 10
sort -nr t3.txt | awk '{sum+=$0; print $0} END {print "和="sum}
26.15 请用指令写出查找当前文件夹(/home)下所有的文本文件内容中包含有字符 “cat” 的文件名称(金山)
grep -r “cat” /home |cut -d “:” -f 1
26.16 请写出统计/home 目录下所有文件个数和所有文件总行数的指令(在金山面试题扩展)
find /home/test -name “.” | wc -l
find /home/test -name “.” | xargs wc -l
26.17 列出你了解的web 服务器负载架构(滴滴)
Nginx Haproxy Keepalived LVS
26.18 每天晚上 10 点 30 分,打包站点目录/var/spool/mail 备份到/home 目录下(每次备份按时间生成不同的备份包 比如按照 年月日时分秒)(滴滴)

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wMAvijWs-1659189039199)(../../../Pictures/Spring/wps383.png)]](http://img.e-com-net.com/image/info8/8a643b61aa6b4668a218a25d9e045516.jpg)
26.19 如何优化Linux 系统, 说出你的方法 (瓜子)
- 对 Linux 的架构的优化,和原则分析(示意图)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8S0VsEkG-1659189039200)(../../../Pictures/Spring/wps385.png)]](http://img.e-com-net.com/image/info8/5079e3a87d1840c6894f19fce9afc9f5.jpg)
- 对 linux 系统本身的优化-规则
- 不用 root ,使用 sudo 提示权限
- 定时的自动更新服务时间,使用 nptdate npt1.aliyun.com , 让 croud 定时更新
- 配置 yum 源,指向国内镜像(清华,163)
- 配置合理的防火墙策略,打开必要的端口,关闭不必要的端口
- 打开最大文件数(调整文件的描述的数量) vim /etc/profile ulimit -SHn 65535
- 配置合理的监控策略
- 配置合理的系统重要文件的备份策略
- 对安装的软件进行优化,比如 nginx ,apache
- 内核参数进行优化 /etc/sysctl.conf
- 锁定一些重要的系统文件 chattr /etc/passwd /ect/shadow /etc/inittab
- 禁用不必要的服务 setup , ntsysv