前言
本篇主要分享linux运维面试过程中常见的面试题材,当时自己面试的时候就遇到3道原题,最终也是顺利通过面试,下面给大家分享一下:
面试题库
1、描述Linux系统的启动过程
电源
BIOS自检
读取MBR,运行 grub 加载内核
内核启动 /sbin/init 程序,进行系统初始化
根据系统运行级别执行相应服务启动脚本
最后执行完 /etc/rc.d/rc.local 文件,进入登录界面
2、描述Linux下软硬链接的区别
硬链接(Hard Link)
软连接(Symbolic Link)
1)、硬链接文件与源文件的 inode 节点号相同,而软链接文件的 inode 节点号与源文件不同。
2)、不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常使用到。
3)、删除文件的硬链接文件,对源文件无任何影响;同时删除源文件及其硬链接文件,整个文件才会被真正的删除
4)、软链接文件,如果删除源文件,会导致其软链接失效(红底白字闪烁状)。
5)、软链接可以跨文件系统,硬链接不可以跨文件系统。
3、如何查看和修改Linux进程优先级
查看进程优先级
#top
或者
#ps -exo pid,pri,nice,command
修改进程优先级
通过修改正在运行进程的nice值来修改优先级
# renice 优先级 进程ID
或者
# top-----> 按‘r’来修改
程序运行时来指定优先级:
#nice -n 优先级 程序
说明:启动进程时,通常会继承父进程的nice级别,默认为0。
优先级的范围:-20----19,数字越低,优先级越高,系统
会按照更多的cpu时间给该进程。
4、如何将Centos.ISO文件挂载到/mnt/cdrom
临时
# mount -o ro /xxx/Centos.ISO /mnt.cdrom
开机自动挂载
#echo "mount -o ro /xxx/Centos.ISO /mnt.cdrom" >> /etc/rc.local
5、查找/opt/tomcat/目录下含有“JDBC”的jsp类型的文件
find /opt/tomcat -type f -name "*JDBC*.jpg"
6、如何查看Linux服务器运行级别
runlevel
或者
systemctl get-default (RHELE7+或Centos7+)
或者
who -r
7、如何查看Linux服务器系统和内核版本
cat /etc/os-release
cat /etc/issue
系统 hostnamectl
内核 uname -a / uname -r
8、某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:
分析:考察计划任务及linux文件日常操作
编写三个计划任务,使用crontab -e 进入编辑模式
(1) 每天下午4:50删除/abc目录下的全部子目录和全部文件;
50 16 * * * rm -rf /abc/*
(2) 从早8:00~下午6:00每隔1小时时读取/xyz目录下x1文件中每行第一个 域(以空格分隔)的全部数据追加到/backup目录下的bak01.txt文件内;
* 08-18/1 * * * awk '{print $1}' /xyz/x1 >> /backup/bak01.txt
(3) 每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz;
50 17 * * 1 tar -zcf backup.tar.gz /data
9、如何查看一个文件夹inode节点数有多少?
find /etc/passwd/ -printf "%i\n" | sort | uniq | wc -l
10、查找最后创建时间是3天前,后缀是
find /var/log -type f -name "*.log" -mtime +2 -exec rm -f {} ;
find 路径 -ctime +3 -name "*.log" -delete
find 路径 -ctime +3 -name "*.log" -exec rm-rf {} \;
find 路径 -ctime +3 -name "*.log" | xargs rm -f
11、如果某文件夹下文件太多无法ls该如何解决?
ls -f 不排序 或 ls -aU 或 ls -1 一行一个
12、如何用tcpdump嗅探80端口的访问看看谁最高?
tcpdump -i eth0 -tnn dst port 80 -c 10|awk -F. '{print $1"."$2"."$3"."$4}'|sort |uniq -c|sort -nr
13、如何查看/var/log目录下的文件数?
[root@03 ~]# ls /var/log/ -1R | grep - | wc -l
50
14、如何查看Linux系统每个ip的连接数?
[root@03 ~]# ls /var/log/ -1R | grep - | wc -l
50
15、shell下生成32位随机密码
openssl rand -base64 32 | tr -d '/+' | head -c 32
tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 32
pwgen -s 32 1
date +%s | sha256sum | base64 | head -c 32
16、统计出apache的access.log中访问量最多的5个ip
cat access.log | awk '{print $1}' | sort | uniq ‐c | sort - nr | head ‐5
17、如果一台办公室内电脑无法上网(打不开网站),请给出你的排查步骤?
1)首先检查物理网线是否OK
2)确认本机的DNS是否OK,可以使用电脑管家相关软件检测
3)确认本机的ip,子网掩码,默认网关设置是否合理
4)ping一下网关,如果不通则检查上层网络设备,如交换机,路由器等
5)确定上层链路没问题,同一局域网内其他主机没问题后,可以尝试换跟网线或插口试试
18、如何选择Linux操作系统版本?
一般来讲,桌面用户首选Ubuntu;
服务器首选RHEL或CentOS,两者首选CentOS
根据具体要求:::
1. 安全性要求较高,则选择Debian或者FreeBSD。
2. 需要使用数据库高级服务和电子邮件网络应用的用户可以选择SUSE。
3. 想要新技术新功能功能可以选择Feddora,Feddora是RHEL和CentOS的一个测试版和预发布版本。
4. 根据现有状况,绝大多数互联网公司选择CentOS。现在比较常用的是6和7系列,现在市场占有大概一半左右。另外的原因是CentOS更侧重服务器领域,并且无版权约束。
19、分析为什么一块磁盘空间足够却不能在上面创建文件?
1)首先,确保当前用户有权限在此设备上创建文件,比如是否设置了磁盘配额,或者该文件系统只读等。
2)其次,使用df -ih /dev/sdb (设备名) 查看设备inode的使用率,100%说明没有空的inode号了,可以清理磁盘上的空白小文件解决
3)最后,看看该设备是本地还是网络连接,如果是网络设备还要检查是否是网络原因造成的
20、简述Linux系统软件包安装方式及特点
二进制包装
源码包和二进制包区别
21、常见命令参数
1.如何査CPU的负载,使用率,核心数
uptime/top top/mpstat nproc/lscpu
2.如何查内存的使用状态
free -h/top/htop
3.如何查看交换分区状态
free -h swapon -s
4.如何查看磁盘状态 大小 分区 使用情况
df -h lsblk fdisk -l
5.如何关闭防火墙以及永久关闭
systemctl restart firewalld
systemctl disable firewalld
6.如何更改selinux的状态
getenforce vim /etc/selinux/config
7.如何查看网络状态以及端口开放情况
ip a ifconfig netstat -tuln / ss -tuln
8.如何查看已安装软件包以及通过文件查询对应的软件
rpm -qa rpm -qf /path/to/file