Linux08——面试题篇

Linux08——面试题篇

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 ipText.txt | cut -d '/' -f 3 | sort | uniq -c | sort -nr

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-905Fnf00-1669130117982)(https://gitee.com/jerrygrj/img/raw/master/img/image-20210819143617290.png)]

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

netstat -an / grep ESTABLISHED | awk -F " " '{print $5}' | cut -d ":"-f l | sort | uniq-cl sort -nr

3. 如果忘记了mysql5.7数据库得ROOT用户密码,如何找回

  1. vim /etc/my.cnf
    
  2. #增加一段,表示,跳过权限表认证
    skip-grant-tables
    
  3. #重启服务
    service mysqld restart 
    
  4. #此时登录没有密码也能登录进去
    mysql -u root -p 
    
  5. 1. show databases;//显示所有数据库
    2. use mysql;//使用mysql数据库
    3. show tables;//展示所有表名
    4. desc user; //显示user表中得字段
    5. authentication_string,这个字段名需要复制;MySQL得原生密码字段
    6. update user set authentication_string=password("root") where user='root'; //修改root用户得密码
    7. flush privileges; //刷新一下
    8./etc/my.cnf中添加得代码去掉即可登录
    

4. 写出指令:统计ip访问情况,要求分析nginx访问日志(access.log),找出访问页面数量在前2位的ip(美团)

  • 文件

    192.168.130.21 aaa.html
    192.168.130.20 aaa.html
    192.168.130.20 aaa.html
    192.168.130.20 aaa.html
    192.168.130.23 aaa.html
    192.168.130.20 aaa.html
    192.168.130.25 aaa.html
    192.168.130.20 aaa.html
    192.168.130.20 aaa.html
    192.168.130.25 aaa.html
    192.168.130.20 aaa.html
    
  • cat access.log | awk -F " " '{print $1}' | sort | uniq -c | sort -nr | head -2
    

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

tcpdump -i ens33 host 192.168.200.1 and port 22 >> /home/tcpdump.log

6. 常用得Nginx模块,用来做什么

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

7. 如果你是系统管理员,在进行Linux系统权限划分时,应考虑哪些因素

  • 解释权限得主要对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FYdNKZli-1669130117988)(https://gitee.com/jerrygrj/img/raw/master/img/image-20210819200341222.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDkSwMzz-1669130117989)(https://gitee.com/jerrygrj/img/raw/master/img/image-20210819200359554.png)]

8. 权限操作思考题

  1. 用户 tom对目录/home/test有执行x和读r写w权限,homeltesthello.java是只读文件,问tom对 hello.java文件能读吗(ok)?能修改吗(no)?能删除吗?(ok)
  2. 用户tom对目录/home/test 只有读写权限, home/testhello. java是只读文件,问tom对 hellojava文件能读吗(no)?能修改吗(no)?能删除吗(no)?
  3. 用户 tom对目录/home/test 只有执行权限x, home/testhello. java是只读文件,问tom对 hello.java文件能读吗(ok)?能修改吗(no)?能删除吗(no)?
  4. 用户tom对目录/home/test 只有执行和写权限,home/testhello.java 是只读文件,问tom对hello.java文件能读吗(ok)?能修改吗(no)?能删除吗(ok)?

9. 说明CentOS7启动流程,并说明和CentOS6相同和不同得地方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7PXA19wJ-1669130117993)(https://gitee.com/jerrygrj/img/raw/master/img/image-20210819201856536.png)]

  • 第一步、硬件启动阶段

    1. 这一步和CentOS6差不多
  • 第二步、GRUB2引导阶段

    	CentOS7的主引导程序使用的是grub2。
    	这一步的流程:显示加载两个镜像,再加载MOD模块文件,把grub2程序加载执行,接着解析配置文件/boot/grub2/grub.cfg,根据配置文件加载内核镜像到内存,之后构建虚拟根文件系统,最后转到内核。
    	在这里grub.cfg配置文件已经比较复杂了,但并不用担心,到了CentOS7中一般是使用命令进行配置,而不直接去修改配置文件了。不过我们可以看到grub.cfg配置文件开头注释部分说明了由/etc/grub.d/目录下文件和/etc/default/grub文件组成。
    	一般修改好配置后都需要使用命令grub2-mkconfig -o /boot/grub2/grub.cfg,将配置文件重新生成。
    
  • 第三步、内核引导阶段

    	这一步与CentOS6也差不多,加载驱动,切换到真正的根文件系统,唯一不同的是执行的初始化程序变成了/usr/lib/systemd/systemd
    
  • 第四步、systemed初始化阶段(又叫系统初始化阶段)

    	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是否有其他的服务需要启动。
    

10. 列举Linux高级命令

nestat 	#网络状态监控
top		#监控系统运行状态,内存
lsblk	#查看硬盘分区
ps -aux	#查看运行进程
chkconfig  #查看服务启动状态
systemctl	#管理系统服务器
iotop	#IO读写(需安装iotop命令)
netstat -tunlp #端口占用情况

11. 计算第二列值得和并输出

张三 40
李四 50
王五 60
  • 命令
cat calcSum.txt | awk -F " " '{sum+=$2} END {print sum}'

12. 写一个Shell脚本,对文件t3.txt中得无序数字排序,并将总和输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SkWiQOno-1669130117994)(https://gitee.com/jerrygrj/img/raw/master/img/image-20210820162341275.png)]

sort -n t3.txt | awk '{sum+=$1;print $1} END {print "和="sum}'

13 Shell脚本里如何检查一个文件是否存在?

if [-f 文件名]
then echo "存在"
else echo "不存在"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值