1.Linux系统启动的过程
- BIOS/UEFI启动:主要任务是进行硬件初始化,检测硬件设备是否正常工作。
- MBR和引导程序:MBR包含启动加载器和分区表信息。MBR中的引导程序(如GRUB)负责加载操作系统内核。
- 内核加载:将linux内核和初始化镜像加载到内存中。
- 用户空间初始化:内核启动完成后,会启动第一个用户空间进程(init),之后systemd负责启动和管理各种系统服务。
- 启动服务和用户登录
2.在 Linux 系统中,清理磁盘空间后发现可用空间没有增加,是什么原因?
- 已删除文件仍被系统占用:在linux系统中,即使文件被删除,只要还有进程正在使用该文件,磁盘空间就不会被释放。可用lsof命令查看已删除文件,若有输出,表示文件仍被某些进程占用。
- 磁盘空间被隐藏文件占用。
- 文件系统错误:导致磁盘空间未正确释放。
- 权限不足导致没有清理。
3.linux的三剑客是什么?
- grep: 用于在文件中搜索特定模式的文本行。
- sed:是一个流编辑器,主要用于执行基本的文本转换,过滤和替换。
- awk:一个报告生成器,专门用于处理和分析文本文件。
4.脚本执行的方式有什么?
- 直接运行脚本文件(需要执行权限)。
- 通过解释器运行脚本(bash或sh)。
- 通过source命令可以在当前shell环境中加载并执行脚本。
- 通过管道传递脚本内容。
- 通过crontab或at定时执行脚本
5.Ansible都有哪些模块?
系统模块:
Command:在目标机器执行命令
Yum和apt:用于软件包的管理
Service和systemd:管理系统服务
文件模块:
Copy:将文件从控制节点复制到受管节点
File:设置文件属性
Template:使用jinja2模板引擎生成文件并将其放置在远程主机上
其他模块:
Git:从git仓库中检出代码。
Uri:与HTTP API进行交互。
Debug:打印语句以帮助调试playbook