Linux运维高频面试题及详细答案(实战版)_第1页
Linux运维高频面试题及详细答案(实战版)_第2页
Linux运维高频面试题及详细答案(实战版)_第3页
Linux运维高频面试题及详细答案(实战版)_第4页
Linux运维高频面试题及详细答案(实战版)_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux运维高频面试题及详细答案(实战版)一、Linux基础命令类(高频基础)1、简述ls-l、ls-lh、ls-la的区别?三者都是查看目录文件详情,核心区别在于展示内容不同:1、ls-l:以长格式展示文件详细信息,包含权限、所有者、所属组、大小、修改时间、文件名,文件大小默认以字节为单位,可读性差;2、ls-lh:在-l参数基础上优化大小展示,自动转换为KB、MB、GB等人类可读的单位,日常使用最多;3、ls-la:展示所有文件(包含隐藏文件,即以.开头的文件),不会忽略隐藏文件,同时展示完整权限和属性。2、rm-rf命令的作用是什么?使用时有哪些注意事项?rm是删除命令,-r代表递归删除(可删除文件夹及文件夹内所有内容),-f代表强制删除,忽略不存在的文件、不弹出任何确认提示。整体用于强制递归删除文件或目录。生产环境核心注意事项:1、严禁直接执行rm-rf/或rm-rf/*,会清空系统根目录所有数据,直接导致系统崩溃;2、删除前务必pwd确认当前路径,避免误删上级目录、系统配置目录、业务数据目录;3、生产环境建议先mv移动备份,确认无影响后再删除,重要数据删除前必须备份;4、禁止在脚本中直接使用rm-rf模糊匹配删除,容易出现匹配异常误删文件。3、find和grep命令的区别,分别如何使用?核心区别:find是查找文件/目录本身,grep是查找文件内部的文本内容。find常用场景:根据文件名、大小、修改时间、权限等条件搜索文件示例:find/home-name"*.log"#查找/home下所有后缀为log的文件find/var-size+100M#查找/var下大于100M的文件find.-mtime-1#查找当前目录1天内修改过的文件grep常用场景:过滤文件内容、匹配字符串、日志排查示例:grep"error"app.log#匹配日志中包含error的行grep-v"info"app.log#过滤掉包含info的行(反向匹配)grep-rn"timeout"/etc/#递归搜索目录下包含指定字符串的文件4、如何查看文件内容,cat、more、less、tail、head适用场景?1、cat:一次性打印全部文件内容,适合小文件,大文件会刷屏,无法分页;2、more:分页查看文件,只能向下翻页,不能回退,功能简单;3、less:进阶分页工具,支持上下翻页、搜索、跳转,查看大文件首选;4、head:默认查看文件前10行,head-n20可指定查看前N行,用于快速查看文件开头配置、日志起始信息;5、tail:默认查看文件后10行,tail-f实时监控文件新增内容,是排查实时日志最常用命令,tail-n100查看最后100行。二、系统进程与性能监控类(核心运维)1、ps、top、htop的区别,常用参数有哪些?1、ps:静态查看当前瞬间的进程状态,一次性输出结果,不会刷新常用参数:ps-ef(查看所有进程完整信息)、psaux(展示进程CPU、内存占用、用户);2、top:动态实时监控系统进程,默认3秒刷新一次,可查看整机CPU、内存、负载、各进程资源占用,系统自带无需安装;3、htop:top的升级版,界面彩色、支持鼠标操作、滚动查看所有进程、操作更便捷,最小化安装系统需要手动yum/apt安装。2、如何排查服务器CPU占用过高的问题?完整流程是什么?生产环境标准排查流程:1、top查看整机CPU使用率,确认是用户态CPU高还是内核态CPU高,查看loadaverage系统负载;2、通过top排序(P键),找到占用CPU最高的进程PID和进程名称;3、ps-ef|grepPID查看进程归属、启动命令、所属业务;4、排查进程异常原因:是否是业务并发过高、程序死循环、日志疯狂打印、定时任务异常;5、结合业务日志、程序日志定位问题,临时解决方案:重启异常进程、限流、扩容,永久解决方案:优化程序代码、调整定时任务、优化服务配置。3、服务器内存占用高如何排查?free命令各字段含义?free-h查看内存使用情况,核心字段含义:total:总内存、used:已使用内存、free:空闲内存、shared:共享内存、buff/cache:缓冲区和缓存占用、available:真实可用内存(重点看这个)。排查步骤:1、free查看整体内存,确认是程序占用高还是缓存占用高;2、top/M键按内存排序,定位高内存占用进程;3、若为缓存过高,可手动释放缓存:echo3>/proc/sys/vm/drop_caches(生产低峰期执行);4、若为进程内存泄露,查看程序是否未释放资源,重启服务并优化程序。4、如何杀死异常进程?kill、kill-9、kill-15区别?1、kill默认等价于kill-15(优雅终止):系统会发送终止信号,通知进程保存数据、关闭连接、释放资源后退出,是常规推荐用法;2、kill-9:强制杀死进程,系统直接终止进程,不做任何数据保存和资源释放,容易导致数据丢失、文件损坏、端口残留;使用原则:优先killPID,等待进程退出,无响应再使用kill-9,禁止随意使用kill-9杀业务核心进程。三、磁盘与文件系统类1、df和du命令的区别?磁盘满如何排查?区别:df:查看磁盘分区整体使用率,统计分区总大小、已用、剩余空间,df-h直观查看磁盘占用;du:查看文件/文件夹本身占用的空间,用于定位大文件、大目录。磁盘爆满排查流程:1、df-h确认哪个分区使用率100%;2、du-sh/*逐层排查根目录下大目录,层层缩小范围;3、重点排查日志目录/var/log、业务日志目录、临时目录/tmp;4、特殊场景:文件已被删除但进程未释放,df显示满、du查不到大文件,可通过lsof|grepdeleted找到残留文件,重启对应进程释放空间。2、inode爆满的原因及解决办法?现象:磁盘空间充足,但无法创建文件、提示设备上没有空间,大概率是inode耗尽。原因:系统inode数量是固定的,大量小文件(空日志、缓存文件、临时文件)会占用全部inode,不占用磁盘空间。排查与解决:1、df-i查看各分区inode使用率;2、find目录-typef统计大量小文件位置;3、批量清理无用小文件、定时清理临时文件和过期日志;4、优化方案:日志切割、定期清理缓存,避免小文件堆积。3、简述软硬链接的区别?1、软链接(ln-s):相当于Windows快捷方式,存储的是源文件路径,跨分区、跨目录均可创建,源文件删除后,软链接失效、变红报错;2、硬链接(ln):和源文件共用同一个inode,本质是同一个文件的多个入口,不能跨分区、不能对目录创建,删除源文件,硬链接文件依然可用,数据不会丢失。四、网络与端口运维类1、如何查看服务器端口占用?常用命令?1、netstat-tulpn:查看所有监听端口、对应进程PID、进程名称,老牌通用命令;2、ss-tulpn:效率更高、速度更快,是netstat替代命令,主流系统优先使用;3、lsof-i:端口号:精准查看某个端口被哪个进程占用。2、服务器ping不通、端口不通如何排查?一、ping不通排查:1、本机检查:网卡是否启动、IP是否配置正确、网关是否正常;2、内网排查:是否在同一网段、防火墙是否禁ping、交换机/路由是否拦截;3、外网排查:公网IP是否通、DNS是否正常、服务器安全组是否禁用ICMP协议。二、端口不通排查:1、本机查看端口是否正常监听(ss/netstat),确认服务已启动;2、关闭本地防火墙/放行端口(firewalld/iptables);3、云服务器检查云端安全组是否放行对应端口;4、使用telnet、curl、nc测试端口连通性,定位拦截位置。3、DNS解析异常如何排查?1、ping域名,确认是否解析失败;2、查看/etc/resolv.conf检查DNS服务器配置是否正确;3、nslookup、dig命令手动解析域名,测试DNS服务器可用性;4、清理本地DNS缓存、更换公共DNS(114.114.114.114、8.8.8.8);5、检查/etc/hosts是否存在错误域名绑定。五、用户权限与系统安全类1、chmod和chown的区别?权限数字代表什么?chmod:修改文件/目录的读写执行权限;chown:修改文件/目录的所有者和所属组。权限数字含义:4:读(r)、2:写(w)、1:执行(x)权限三位分别对应:所有者、所属组、其他用户示例:chmod755文件=所有者读写执行,组和其他用户读+执行。2、sudo权限的作用,如何配置普通用户sudo免密?sudo允许普通用户临时使用root权限执行命令,无需登录root账号,保障系统安全。免密配置步骤:1、visudo编辑sudo配置文件(禁止直接vi修改,防止语法错误导致系统异常);2、添加配置:用户名ALL=(ALL)NOPASSWD:ALL;3、保存退出,普通用户执行命令无需输入密码。3、如何禁止root账号远程登录?1、编辑ssh配置文件:vi/etc/ssh/sshd_config;2、修改参数:PermitRootLoginno;3、重启ssh服务:systemctlrestartsshd;4、安全优化:使用普通用户远程登录,通过sudo提权操作,避免root直接暴露公网。六、服务与开机自启、日志管理类1、CentOS7/8systemctl常用命令?1、systemctlstart服务名#启动服务2、systemctlstop服务名#停止服务3、systemctlrestart服务名#重启服务4、systemctlstatus服务名#查看服务运行状态5、systemctlenable服务名#设置开机自启6、systemctldisable服务名#取消开机自启7、systemctllist-units--type=service#查看所有运行的服务2、系统常用日志文件路径及作用?1、/var/log/messages:系统全局日志,记录系统常规运行、报错信息,故障排查核心日志;2、/var/log/secure:安全日志,记录ssh登录、sudo操作、权限认证、登录失败记录,排查暴力破解核心日志;3、/var/log/cron:定时任务日志,记录所有crontab任务执行记录,排查定时任务失败问题;4、/var/log/dmesg:系统启动硬件日志,排查硬件故障、磁盘异常、内核报错。3、什么是日志切割?为什么需要切割?常用工具?日志切割是将超大的日志文件按时间、大小拆分,同时归档旧日志、删除过期日志。必要性:日志无限增长会占满磁盘、导致日志读取卡顿、故障排查困难,同时单文件过大可能导致服务写入异常。Linux默认自带logrotate工具,无需额外安装,支持按天、按大小切割、自动压缩、过期删除,是生产环境主流日志切割方案。七、Shell脚本基础运维面试题1、如何写一个简单脚本,实现每天凌晨2点清理3天前的日志?1、编写清理脚本clean_log.sh:#!/bin/bash#清理指定目录3天前.log结尾的日志find/data/logs-name"*.log"-mtime+3-rm-rf2、添加执行权限:chmod+xclean_log.sh;3、配置定时任务:crontab-e;4、添加定时规则:02***/bin/bash/data/clean_log.sh>/dev/null2>&1。2、crontab定时任务格式是什么?格式:分时日月周命令取值范围:分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、星期(0-7,0和7代表周日)示例:02***#每天凌晨2点执行*/10****#每10分钟执行一次00**0#每周日凌晨0点执行八、故障排查综合面试题(实操高频)1、服务器开机很慢、启动卡顿,如何排查?1、systemd-analyze查看系统总启动耗时;2、systemd-analyzeblame查看所有服务启动耗时,定位卡顿服务;3、禁用不必要的开机自启服务,排查磁盘挂载、网络网卡、ssh服务启动异常问题;4、查看开机日志/var/log/messages,排查启动报错。2、服务启动失败,排查通用流程?1、systemctlstatus服务名查看简要报错信息;2、journalctl-u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论