运维常见选择题汇总一百多道
### 运维常见选择题汇总知识点解析 #### Shell部分知识点详解 **1. 变量赋值方式** - **直接赋值**: 在Shell脚本中,最常用的变量赋值方式是直接赋值,例如 `name=12`,这种方式简单明了。 - **使用read命令**: 通常用于从标准输入读取一行,并将其赋值给变量,如 `read name`。 - **使用命令行参数**: 在Shell脚本启动时,可以通过命令行参数来传递值给变量,例如 `$1` 表示第一个命令行参数。 - **使用命令的输出**: 使用反引号或者$(...)来获取命令的输出结果作为变量的值,例如 `name=$(command)`。 **2. cut命令** - **用途**: `cut` 命令用于从文件的每一行中截取指定内容的数据。 - **基本语法**: `cut [选项] 文件` - **常用选项**: - `-d`: 指定字段分隔符。 - `-f`: 指定要提取的字段号。 **3. read命令** - **用途**: `read` 命令用于从标准输入读取一行,并将其赋值给Shell变量。 - **基本语法**: `read [选项] [变量名]` - **常用选项**: - `-p prompt_string`: 显示提示字符串。 - `-t timeout`: 指定等待输入的时间限制。 **4. 退出交互模式** - **exit命令**: `exit` 是退出当前Shell会话的命令,可以用于结束Shell脚本的执行或退出终端会话。 **5. 有效的Shell变量名** - **命名规则**: - 变量名由字母、数字和下划线组成。 - 必须以字母或下划线开头。 - 不区分大小写。 - 有效示例: `trust_no_1`。 **6. shell的功能和特点** - **管道**: 允许将一个命令的输出作为另一个命令的输入。 - **输入输出重定向**: 改变命令的标准输入或输出位置。 - **执行后台进程**: 通过在命令末尾加上`&`来使命令在后台运行。 - **处理程序命令**: shell支持处理信号,允许在接收到特定信号时执行某些动作。 **7. 显示变量的值** - **正确方式**: `echo $FRUIT` 用于显示变量`FRUIT`的值。 - **错误方式**: `-f` 用于文件测试,不是用于检查变量是否有值。 #### 网络部分知识点详解 **1. 面向连接的协议** - **传输控制协议(TCP)**: 面向连接的可靠传输协议。 - **用户数据报协议(UDP)**: 无连接的不可靠传输协议。 - **网际协议(IP)**: 提供寻址机制,不提供可靠性保障。 - **网际控制报文协议(ICMP)**: 用于网络诊断和故障排查。 **2. 实现局域网通信** - **配置路由**: - 定义本机指向所在网络网关的路由 (`route add -net 目标网络地址 gw 网关地址`)。 - 示例: `route add -net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1`。 #### 服务器管理知识点详解 **1. /etc/fstab文件中的文件系统加载参数** - **noauto**: 只在命令下挂载,适用于CD-ROM等移动设备。 - **defaults**: 默认选项,包括读写权限等。 - **rw**: 读写权限。 - **ro**: 只读权限。 **2. Linux文件权限** - **文件权限长度**: 总共10位,分为4段。 - **第三段**: 表示文件所有者所在组的权限。 **3. 终止前台进程** - **Ctrl+C**: 通常用于发送中断信号,终止正在运行的前台进程。 - **kill命令**: 用于发送信号来请求进程停止,但通常不直接用于前台进程。 **4. 创建目录** - **mkdir -p**: 当父目录不存在时自动创建。 **5. i节点描述** - **i节点与文件**: 并非一一对应,一个文件可以有多个硬链接,共享同一个i节点。 - **描述文件信息**: - 占用的块数。 - 文件大小。 - 指向数据块的指针。 **6. awk命令** - **功能**: 类似于C语言,用于文本处理和报告生成。 - **特点**: - 强大的模式匹配能力。 - 内置变量和函数支持。 - 自动循环文件中的每行。 **7. 动态路由配置** - **/etc/gateways文件**: 存储动态路由信息。 - **配置文件**: - `/etc/hosts`: 主机名与IP地址的映射。 - `/etc/HOSTNAME`: 主机名。 - `/etc/resolv.conf`: DNS服务器配置。 - `/etc/gateways`: 动态路由配置。 **8. 路由设置** - **示例**: `route add -net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1`。 **9. ifconfig命令** - **功能**: - 配置本地回环地址(`lo`接口)。 - 配置网卡的IP地址。 - 激活网络适配器。 - **不支持**: 加载网卡到内核中。 **10. 链接类型** - **硬链接**: 多个文件名指向同一个i节点。 - **符号链接**: 包含源文件路径的新文件。 - **错误概念**: 硬链接不产生新的i节点。 **11. 网络故障排查** - **问题原因**: 无法连接公网通常是由于缺少正确的网关设置。 - **解决方法**: 检查并设置正确的网关。 **12. 主机名到IP地址的映射** - **文件**: `/etc/hosts`。 - **内容**: 包含本地主机名称和IP地址的映射表。 **13. 内核编译** - **无需重新编译**: - 删除系统不用的设备驱动程序。 - 升级内核版本。 - 添加新硬件。 - **无需编译情况**: - 将网卡激活。 **14. 进程类型** - **交互进程**: 用户直接控制的进程。 - **批处理进程**: 由系统自动调度执行的后台进程。 - **守护进程**: 用于提供持续服务的后台进程。 - **错误概念**: “就绪进程”不是一种进程类型,而是进程的一种状态。 **15. Apache配置** - **Apache配置文件**: `/etc/httpd/conf/httpd.conf`。 - **基本配置项**: - `Listen`: 指定监听端口。 - `DocumentRoot`: 设置网站根目录。 - `ServerName`: 设置服务器名。 - **虚拟主机配置**: 在Apache中可以通过配置虚拟主机来托管多个不同的网站。