CentOS题库

CentOS 题库



一. IT 信息知识

  1. 跳板机的功能?
登陆功能、账号管理、身份认证、资源授权、访问控制
  1. 在企业中 PXE 的主要作用?
可同时部署大量服务器
  1. 假设你是一家互联网公司的云计算工程师,你接到领导通知,我们公司需要将新项目上线,但是目前公司服务器数量有限,但又需要大量的服务器,为了节约公司成本,你的解决方案是?
购买公有云服务器,可在阿里云、华为云等公司购买。


二. 命令以及快捷键

!$						   输出上一次键入的参数

Alt+.					   输出上一次键入的参数

Ctrl+l					   清屏

clear					   清屏

Ctrl+c		             	终止命令

shift+ctrl+t				打开终端

Alt+F2					    打开终端

cd -					    回到上一次的路径

cd ~					    回到当前用户的家目录

cd ..					    回到上级目录

./						    当前目录

./*							当前目前的所有

^a							以 a 开头
vim 中的作用

0 和 $						0 是行首,$ 是行末

h j k l						 h 是向左移动光标	j 是向下移动光标	

							k 是向上移动光标   l 是向右移动光标

ygg						     复制到首行

yG						     复制到末行

1,10s/ll/oo/				  从 110 行的 “ll” 替换 “oo”

,11s/ll/oo/g				  从当前行到 11 行的全部 “ll” 替换 “oo”

/nihao						  查找文件中有关 “nihao” 的所有字符

dd						      删除本行

dG						      删除到行末

Ctrl + v					  切入可视块

o							 在下一行输入

O							 在上一行输入

i							 在光标前插入内容   

I							 在行首输入内容

a							 在光标后插入内容

A						 	 在行首输入内容



三. 高级命令

  1. 查看 /etc/passwd 这个文件过,滤出这个文件中含有 nologin 的所有行?
grep nologin /etc/passwd
  1. 在企业中使用什么命令可对日志文件进行实时监控?
tailf [file]
  1. 找出硬盘中所有大于 2G 且以 .img 结尾的文件
find / -size +2G -name "*.img" -type f
  1. 找出 /etc 目录中所有的以 conf 结尾的文件,并拷贝到 /tmp/conf 目录中(请提前做好快照)
find /etc/ -type f -name "*.conf" -exec cp -r {} /tmp/conf/ \;
  1. 打印出所有用户的用户名, UID, GID, 登录 shell
awk -F: '{print $1,$3,$4,$7}' /etc/passwd
  1. 打印出 / 分区的使用百分比,纯数字.如: 80%, 打印效果为: 80 ( //df -Th 查看磁盘使用情况 )
df -Th | grep root | awk -F" " '{print $6}' | tr -d %
  1. 打印出 ens33 网卡的 IP, 只显示 IP
ip a | grep ens33 | grep inet | awk -F" " '{print $2}' | tr -d /24
  1. 带行号打印出 /etc/passwd 文件的第 5 行到第 10 行, 并按照 UID 从大到小排序
cat -n /etc/passwd | head | tail -6 | sort -t":" -k3 -rn
  1. 打印出 /etc/passwd 文件中所有包含 bash 的行
grep bash /etc/passwd
  1. 打印出 /etc/passwd 文件中所有不含 nologin 的行
grep -v nologin /etc/passwd
  1. 统计出 /etc/passwd 文件第二行的字符数 ( 含换行符 )
head -n 2 /etc/passwd | tail -1 | wc -c
  1. 统计出除 root 之外的所有可登录用户的个数
grep ^root -v /etc/passwd | wc -l
  1. 使用两种方法不打印 /etc/rc.local 文件的空行
grep ^$ /etc/rc.local -v

cat /etc/rc.local | tr -s "\n"
  1. 统计 /etc 目录下所有的软链接的个数 ( 不包含子目录下的软链接 )
ll /etc/ | grep ^l | wc -l
  1. 统计 /etc 目录下所有的软链接的个数
find /etc/ -type l | wc -l
  1. 打印出 /etc 目录下所有的非软连接文件
find /etc/ ! -type l
  1. 统计出所有用户每种 shell 的个数,只打印出前三名
cat /etc/passwd | awk -F: '{print $7}' | sort | uniq -c | sort -t" " -k1 | head -3
  1. 将 /var/log 目录下所有文件压缩备份到 /tmp/backup 目录,要注意后面的备份不能覆盖前面的备份,每天都备份
mkdir /tmp/backup

tar czf /tmp/backup/$(date +%F_%H-%M).tar.gz /var/log/*
  1. 删除系统中所有的 a.txt 文件,不区分大小写
find / -iname a.txt -exec rm -rf {} \;
  1. 打印出系统中所有的空白文件,不要打印目录文件
find / -empty -type f
  1. 如果计划任务中的命令有输出,会输出到终端?
不会输出到终端
  1. 每周日的凌晨3点,将/var/log下的所有内容压缩保存到/backup/log目录中,不要覆盖之前的备份
crontab -e
    00 3 * * 0 /usr/bin/tar -caf /backup/log/`date +\%F`.tar.gz /var/log/*


四. 磁盘管理

  1. 添加三块磁盘

    (1) 将第一块磁盘使用 fdisk 分为一个主分区,一个扩展分区,一个逻辑分区,将逻辑分区挂载使用

先分区,再格式化分区,最后挂载

​ (2) 将第二块磁盘使用 parted 分区,同上面的分区

parted /dev/sdc mklabel msdos
parted /dev/sdc -s mkpart p 0 1G
parted /dev/sdc -s mkpart e 1.1G 3G
parted /dev/sdc -s mkpart l 1.1G 2G

​ (3) 将第三块磁盘使用 parted 分区,磁盘标签类型为 gpt, 再分 5 个分区,并挂载到系统上

parted /dev/sdd mklabel gpt
parted /dev/sdd mkpart 1 0 2G
parted /dev/sdd mkpart 2 2G 4G
parted /dev/sdd mkpart 3 4G 6G
parted /dev/sdd mkpart 4 6G 8G
parted /dev/sdd mkpart 5 8G 10G
parted -l

mkfs.xfs /dev/sdd1
mkfs.xfs /dev/sdd2
mkfs.xfs /dev/sdd3
mkfs.xfs /dev/sdd4
mkfs.xfs /dev/sdd5
mount /dev/sdd1 /mnt/sdd1
mount /dev/sdd2 /mnt/sdd2
mount /dev/sdd3 /mnt/sdd3
mount /dev/sdd4 /mnt/sdd4
mount /dev/sdd5 /mnt/sdd5

​ (4) 将 /dev/sdb1 以只读方式挂载到 /mnt/sdb1 目录

mkdir /mnt/sdb1
mkfs.xfs /dev/sdb1
mount -o ro /dev/sdb1 /mnt/sdb1

​ (5) 在不卸载的情况下,将上题挂载选项修改为读写

mount -o remount,rw /mnt/sdb1
  1. 在 /mnt 目录下创建 /etc/passwd 的硬链接文件 pass.hard
ln /etc/passwd /mnt/pass.hard

ll -i /mnt/pass.hard /etc/passwd
17558147 -rw-r--r-- 2 root root 920 Oct 28 09:40 /mnt/pass.hard
17558147 -rw-r--r-- 2 root root 920 Oct 28 09:40 /etc/passwd

  1. 在 /mnt 目录下创建 /etc/passwd 的软链接文件 pass.soft
ln -s /etc/passwd /mnt/pass.soft

ll -i /etc/passwd /mnt/pass.soft
17558147 -rw-r--r-- 2 root root 920 Oct 28 09:40 /etc/passwd
17461857 lrwxrwxrwx 1 root root  11 Oct 31 21:31 /mnt/pass.soft -> /etc/passwd

  1. 硬链接不能对目录创建,所以目录没有硬链接.这句话对吗
对,Linux 文件系统的目录中有两个特殊的目录,一个是父目录,一个的当前目录。如果对目录做了硬链接,那么操作系统需要把这个目录下所有的文件都要做一次硬连接(复制一份过去),这样操作系统在访问这个链接的时候要不断去遍历,大大增加复杂度,而且很容易进入死循环。

  1. 文件 /mnt/pass.soft 内容和 /etc/passwd 文件一样, 所以他们是同一文件, 这句话对吗, 为什么?
不对,两者的 inode 号不同。
  1. 文件 /mnt/pass.soft 只是 /etc/passwd 文件的快捷方式, 故其没有自己的数据, 对吗, 为什么?
不对,软链接就是一个普通文件,知识数据块内容有点特殊,软链接有这自己的inode号以及用户数据块
  1. 文件 /mnt/pass.sof t权限为 777, 所以普通用户 tom 可以使用 vim 修改其内容,对吗,为什么?
不对,其链接源文件的权限为 644,tom 是只读权限。
  1. 对一个文件创建软链接会增加其链接数,对吗,为什么?
因为创建的是软链接,软链接是不被inode计数的。
  1. 剪切操作一定比复制操作快,对吗,为什么?
不一定。 

   在同一分区的情况下,剪切比复制快。剪切的时候 inode 无改变,只是路径改了一下。复制的时候是产生新的数据,新的 inode 信息。

   在不同分区的情况下,复制比剪切快。两者都是把数据真正复制过去,而剪切还需要一步删除的动作。
  1. 使用两种方式配置 /dev/sr0 开机自动挂载到 /cdrom 目录
mkdir /mnt/cdrom
(1) vim /etc/fstab
	UUID="2017-09-05-14-14-50-00" /cdroom  iso9660 defaults 0 0
(2) vim /etc/rc.d/rc.local
	mount /dev/sr0 /cdroom/

  1. 如果 root 用户无法删除一个文件,可能有哪些原因?
隐藏属性可能被设置了,lsattr 查看,用 chattr 配置权限。

有可能负载过高。
  1. 某分区显示可用空间 200G,但无法创建新文件,提示空间不足,是什么原因?

inode 号不够用了

inode 号不够用了
  1. 新的机器现有 4 块磁盘,分别是 sdb sdc sdd sde,每个磁盘个 10G 大小按企业要求完成下列操作

    (1) 创建一个至少有两个 PV 组成的大小为 20G 的名为 testvg 的卷组 VG;要求 PE 大小为 16MB, 而后在卷组中创建大小为 5G 的逻辑卷 testlv;挂载至 /test 目录。

pvcreate /dev/sdb
pvcreate /dev/sdc

vgcreate -s 16MB testvg /dev/sdb
vgextend testvg /dev/sdc

lvcreate -n testlv -L 5G testvg

mkfs.xfs /dev/testvg/testlv
mount /dev/testvg/testlv /test/
mount -a

​ (2) 新建用户 apache,要求其家目录为 /test/apache,而后 su 切换至 apache 用户,创建一个 200M 大小的 test.txt 的文件

useradd apache -d /test/apache
su - apache
truncate -s 200M test.txt

​ (3) 复制 /etc/pam.d 目录至 apache 的家目录,并且统计 apache 家目录内有多少普通文件

mkdir /etc/pam.d/* /test/apache
find /test/apache/ -type f | wc -l

​ (4) 扩展 /test 目录能使用的容量为 7G,要求 apache 用户的文件不能丢失(最后记得查验文件是否丢失)

lvextend -L 7G /dev/testvg/testlv

​ (5) 执行 df -Th 命令发现根分区容量不足,现要将根分区使用容量扩容到 40G,该如何操作

# df -Th
Filesystem                             Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root      xfs        20G   16G   4G  80%   /

1.如果有新磁盘
(1)fdisk /dev/sdb创建一个20G的分区
(2)pvcreate /dev/sdb1 
(3)vgextend /dev/mapper/ /dev/sdb1
(4)lvextend -l +100FREE /dev/mapper 
(5)xfs_growfs /dev/mapper/centos-root
(6)df -Th
2.如果没有新磁盘
(1)拿另外空闲的逻辑卷来使用
(2)目录文件做备份
(3)取消挂载
(4)删除逻辑卷
(5)给root扩容
(6)重新把那个空闲的逻辑卷创建起来


五. 软件包管理

  1. 在网上查找 net-tools 的 rpm 包,并且将其上传到虚拟机,并进行安装(可能会有依赖)
在 rpmfind.net 下载,再使用第三方软件上传
rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
  1. 使用两种方法查询验证是否安装了 net-tools 软件包
(1) rpm -q net-tools
(2) rpm -qa | grep "^net-tools"
  1. 查询安装 net-tools 软件包,在系统安装了哪些命令
rpm -ql net-tools | grep -E "/bin|/sbin"
  1. 执行命令 yum install vsftpd -y ,两种方法查询安装 vsftpd 安装了哪些配置文件
(1) yum list | grep vsftp
(2) rpm -qc vsftpd
  1. 查询 /var/ftp 目录是由哪个软件包安装出来的
(1) yum provides /var/ftp
(2) rpm -qf /var/ftp
  1. 卸载 vsftpd 软件包,但不卸载其他依赖软件包
rpm -e --nodeps vsftpd
  1. 如果不小心执行了rm -rf /usr/bin/sl , 应该怎么去进行恢复?
(1) 先卸载,在安装
rpm -e sl-5.02-1.el7.x86_64.rpm
rpm -ivh sl-5.02-1.el7.x86_64.rpm

(2) --froce 强制安装(相当于重装)
rpm -ivh --force sl-5.02-1.el7.x86_64.rpm
  1. 查看 cat 命令是由哪个软件安装的
rpm -qf $(which cat)
  1. 查看安装 cat 命令的软件还安装了哪些命令
rpm - qf $(which cat) | xargs rpm -ql | grep -E '/bin|/sbin'
  1. 列出所有已安装软件包中包含有关键词 “bash” 的软件名
rpm -qa | grep bash
  1. 统计所有已安装软件的数量
rpm -qa | wc -l
  1. 查看安装了 vsftpd 命令的软件还安装了哪些配置文件
rpm -qf $(which vsftpd) | xargs -I {} rpm -qc {}
  1. 卸载命令 netstat 的所属软件包
rpm -qf /usr/bin/netstat | xargs -I {} rpm -e {}
  1. 安装 mariadb-server 到服务器上
yum -y install mariadb-server
  1. 卸载 mariadb 软件,不要卸载依赖这个软件的其他软件
rpm -e --nodeps mariadb
  1. 下载 nginx 的 rpm 安装包到 /download 目录,不安装
yum install nginx --downloadonly --downloaddir=/download
  1. 查询 nginx 软件包的详细信息
rpm -qpi nginx-1.20.1-2.el7.x86_64.rpm
  1. 打印出 zabbix3.4yum 源仓库有多少可用的 rpm 包? 使用两种方法,最后打印数字
(1) yum repolist | grep repolist | cut -d':' -f2

(2)yum repolist | grep repolist | awk -F':' '{print $2}'
  1. 在本机只下载不安装 zabbix-agent,并且将包放到 /data 目录
mkdir /data
yum install --downloadonly --downloaddir=/data zabbix-agent 
  1. 如果不小心删除了 /etc/my.cnf 配置文件,怎么恢复?写出步骤?
(1)找出其安装包
yum provides /etc/my.cnf 或者 rpm -qf /etc/my.cnf
(2)再从网上找rpm包来安装
mariadb-libs-5.5.56-2.el7.x86_64


尾巴

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值