Linux系统总结07

Linux系统总结07

一、Linux面试题

  1. 分析日志 t.txt (访问量),将各个ip地址截取,并统计出现次数,并按照从大到小排序。(腾讯)

    日志t.txt的内容为:
    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

    【查看有一个ip访问某个页面的次数,按照从大到小排序。】

    cat t.txt | cut -d ‘/’ -f 3
    在这里插入图片描述
    题解:
    cat t.txt | cut -d ‘/’ -f 3 | sort | uniq -c | sort -nr
    在这里插入图片描述

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

    题解:
    netstat -an | grep ESTABLISHED | awk -F " " ‘{print $5}’ | cut -d “:” -f 1 | sort | uniq -c | sort -nr

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 如果忘记了mysql5.7数据库的root密码,如何找回?(滴滴)

    题解:
    ① 输入:vim /etc/my.cnf (mysql的配置文件),添加:skip-grant-tables。
    ② 重启mysql服务:service mysqld restart。
    ③ 输入:mysql -u root -p 登录。
    ④ 在mysql中输入:show databases;use mysql;desc user。
    ⑤ 修改密码:update user set authentication_string=password(“new_password”) where user=‘root’。
    ⑥ 刷新:flush privileges。
    ⑦ 将配置文件 my.cnf 中的:skip-grant-tables 删除。
    ⑧ 重启mysql服务。

    在这里插入图片描述

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

    access.log 内容:
    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. 使用tcpdump监听本机,将来自ip 192.168.200.1,端口为22的数据,保存输出到tcpdump.log,用做将来的数据分析。(美团)

    题解:tcpdump -i ens33 host 192.168.200.1 and port 22 >> /opt/interview/tcpdump.log

  6. 常用的nginx模块有?用来做什么?(头条)

    题解:
    ① rewrite模块:实现重写功能。
    ② access模块:来源控制。
    ③ ssl模块:安全加密。
    ④ ngx_http_gzip_module:网络传输压缩模块。
    ⑤ ngx_http_proxy_module:模块实现代理。
    ⑥ ngx_http_upstream_module:模块实现定义后端服务器列表。
    ⑦ ngx_cache_purge:实现缓存清除功能。

  7. 如果你是系统管理员,在运行Linux系统权限划分时,应该考虑哪些因素?(腾讯)

    题解:
    ① 首先阐述Linux权限的主要对象。(阐述主要的权限划分、rwx含义)
    ② 根据自己的实际经验谈考虑因素:
    a. 注意权限分析,比如:工作中,Linux系统权限和数据库权限不要在同一个部门;
    b. 权限最小原则(即:在满足使用的情况下最少优先);
    c. 减少使用root用户,尽量用普通用户+sudo提权进行日常操作;
    d. 重要的系统文件,比如:/etc/passwd,/etc/shadow,/etc/fstab,/etc/sudoers等,日常建议使用chattr锁定,需要操作时在打开;(chattr +i /etc/passwd 表示锁定该目录,-i 表示解锁
    e. 使用SUID,SGID,Sticky设置特殊权限;
    f. 可以利用工具,比如:chkrootkit/rootkit hunter 检测rookit脚本(入侵者使用工具,在不察觉的情况下建立了入侵系统途径);
    g. 利用工具Tripwire检测文件系统的完整性。

  8. 权限操作思考题:
    ① 用户 tom 对目录 /home/test 有执行和读写权限,/home/test/hello.java 是只读文件,问 tom 对hello.java 文件能读吗?能修改?删除?

     题解:可以读,不能修改,但可以删除。(能不能删除主要看对目录有没有写权限,即w权限)
    

    ② 用户 tom 对目录 /home/test 只有读写权限,/home/test/hello.java 是只读文件,问 tom 对hello.java 文件能读吗?能修改?删除?

     题解:不能读、修改以及删除。(因为对目录没有可执行权限就无法进入该目录)
    

    ③ 用户 tom 对目录 /home/test 只有执行权限,/home/test/hello.java 是只读文件,问 tom 对hello.java 文件能读吗?能修改?删除?

     题解:可以读,不能修改,也不可以删除。(对目录有写权限才能够删除目录的文件)
    

    ④ 用户 tom 对目录 /home/test 有执行和写权限,/home/test/hello.java 是只读文件,问 tom 对hello.java 文件能读吗?能修改?删除?

     题解:可以读,不可以修改,但可以删除。(虽然目录可以进入,但文件是只读,所以不能修改)
    

    在这里插入图片描述

  9. 列举Linux的高级命令,至少列举6个。(百度)

    题解:netstat //网络状态监控;top //系统运行状态;lsblk //查看硬盘分区;find //查找文件;ps -aux //查看运行进程;chkconfig //查看服务启动状态;systemctl //管理系统服务器。

  10. Linux查看内存、io读写、磁盘存储、端口占用、查看进程的命令分别是什么?(瓜子)

    题解:依次为:top、iotop、df -lh、netstat -tunlp、ps -aux。

  11. 使用Linux命令计算t2.txt第二列的和并且输出结果。(美团)

    t2.txt文件内容:
    张三 40
    李四 50
    王五 60

    题解:cat t2.txt | awk -F " " ‘{sum+=$2} END {print sum}’。

  12. Shell脚本中如何检查一个文件是否存在?并给出提示。(百度)

    if [ -f 文件名 ] 
    then echo "存在" 
    else echo "不存在"
    fi
    
  13. 用Shell写一个脚本,对文本t3.txt中无序的一列数字排序,并将总和输出。(百度)

    文本内容:
    9
    8
    7
    6
    5
    4
    3
    2
    10

    题解:sort -nr t3.txt | awk ‘{sum+=$0;print $0} END {print sum}’。

  14. 请用指令写出查找当前文件夹(/home)下所有的文本文件内容中包含字符“cat”的文件名称。(金山)

    题解:grep -r “cat” /home | cut -d “:” -f 1。

  15. 请写出统计 /home 目录下所有文件个数和所有文件总行数的指令。

    题解:find /home -name “*.*” | wc -l;find /home -name “*.*” | xargs wc -l。

  16. 列出你了解的Web服务器负载架构。(滴滴)

    题解:Nginx、Haproxy、Keepalive、LVS。

  17. 每天晚上10.30分打包站点目录 /var/spool/mail ,备份到 /home 目录下(每次备份按时间生成不同的备份包,比如按照年月日时分秒)。(滴滴)

    题解:
    ① 编写Shell脚本; 在这里插入图片描述
    ② 添加定时任务:crontab -e;
    在这里插入图片描述

  18. 如何优化Linux系统,说出你的方法?(瓜子)

    题解:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值