Linux程序管理练习题
Linux程序管理100题
一、Linux程序与进程(1-15)
-
程序、进程、线程的本质区别是什么?
答案:程序是静态指令集,进程是运行中的程序实例,线程是进程内的执行单元 -
进程的并发性和交往性体现在哪些方面?
答案:进程可以并发执行并互相通信,程序是封闭的 -
如何查看系统中所有已安装的rpm包?
答案:rpm -qa
-
当执行
rpm -q httpd
返回"package httpd is not installed"说明什么?
答案:httpd软件包未安装 -
查看已安装软件的配置文件应该使用什么rpm选项?
答案:rpm -qc 软件名
-
如何查询/bin/ls命令是由哪个软件包安装的?
答案:rpm -qf /bin/ls
-
解释rpm包名"nginx-1.18.0-2.el7.x86_64.rpm"各部分的含义
答案:软件名nginx,版本号1.18.0,发行号2,el7系统平台,x86_64架构 -
使用rpm安装时出现依赖错误应如何处理?
答案:使用--nodeps
忽略依赖或通过yum自动解决 -
yum源的元数据存储在什么目录?
答案:repodata目录 -
配置本地yum源时,baseurl的正确格式是什么?
答案:file:///绝对路径
-
编写yum源配置文件时,enabled=0表示什么?
答案:禁用该yum源 -
执行
yum install --downloadonly
的作用是什么?
答案:仅下载软件包不安装 -
编译安装时./configure的作用是什么?
答案:检测系统环境并生成Makefile -
如何将编译安装的nginx命令添加到系统PATH?
答案:创建符号链接ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
-
二进制安装包通常以什么为后缀?
答案:.bin
二、进程管理(16-30)
-
查看进程树结构的命令是什么?
答案:pstree
-
如何实时监控进程资源占用?
答案:top
或htop
-
结束进程号为1234的进程的正确命令
答案:kill 1234
-
使进程在后台继续运行的快捷键是什么?
答案:Ctrl+Z后输入bg
-
哪个命令可以查看进程打开的文件?
答案:lsof -p PID
-
如何查看特定用户(如mysql)运行的进程?
答案:ps -u mysql
-
解释进程状态中的D状态
答案:不可中断的休眠状态(通常在进行I/O操作) -
僵尸进程的特征是什么?
答案:进程已终止但父进程未回收资源,状态显示为Z -
如何强制终止顽固进程?
答案:kill -9 PID
-
nice值的范围是多少?默认值是多少?
答案:-20到19,默认0 -
使用什么命令修改运行中进程的优先级?
答案:renice
-
哪个文件系统存储进程信息?
答案:/proc -
如何查看进程的内存映射?
答案:pmap PID
-
哪个命令可以显示进程的环境变量?
答案:cat /proc/PID/environ
-
前台进程与后台进程的主要区别是什么?
答案:前台进程占用终端,后台进程释放终端
三、软件包管理(31-50)
-
卸载httpd软件包的完整yum命令
答案:yum remove httpd
-
重建yum缓存的命令组合
答案:yum clean all && yum makecache
-
如何查看yum仓库中可用软件包列表?
答案:yum list available
-
rpm验证软件包完整性的选项是什么?
答案:rpm -V 软件名
-
如何导入GPG密钥验证软件包?
答案:rpm --import 密钥文件
-
查询未安装rpm包信息的正确语法
答案:rpm -qpi 包全名.rpm
-
源码安装时make install的作用是什么?
答案:执行编译后的安装过程 -
如何查看系统安装的编译器版本?
答案:gcc --version
-
安装开发工具组的yum命令
答案:yum groupinstall "Development Tools"
-
解释configure脚本的–prefix参数作用
答案:指定软件安装路径 -
如何查看已启用的yum仓库?
答案:yum repolist enabled
-
哪个文件记录yum事务历史?
答案:/var/log/yum.log -
回滚最近一次yum操作的命令
答案:yum history undo 事务ID
-
创建本地yum仓库需要的命令
答案:createrepo 目录
-
如何排除特定软件包的更新?
答案:在yum.conf添加exclude=包名
-
查询文件属于哪个rpm包的完整命令
答案:rpm -qf /path/to/file
-
如何提取rpm包中的特定文件?
答案:rpm2cpio 包名.rpm | cpio -idmv 文件路径
-
查看软件包变更历史的rpm选项
答案:rpm -q --changelog 包名
-
源码安装后如何彻底卸载?
答案:删除安装目录和配置文件 -
二进制安装jdk后需要配置什么环境变量?
答案:JAVA_HOME和PATH
四、启动流程(51-70)
-
UEFI系统启动文件通常存放在哪个分区?
答案:EFI系统分区(ESP) -
查看当前启动项的efibootmgr命令
答案:efibootmgr -v
-
GRUB配置文件的位置
答案:/boot/grub2/grub.cfg -
如何临时进入单用户模式?
答案:在GRUB界面按e,在linux行尾添加systemd.unit=rescue.target
-
内核panic的常见原因有哪些?
答案:硬件故障、驱动错误、文件系统损坏 -
如何重新生成initramfs?
答案:dracut -f
-
systemd的第一个进程PID是?
答案:1 -
查看系统启动时间的命令
答案:systemd-analyze
-
如何查看失败的systemd服务?
答案:systemctl --failed
-
启动流程中basic.target的作用
答案:启动基础系统服务 -
救援模式下的根文件系统挂载状态
答案:只读模式 -
如何强制文件系统检查?
答案:在grub的linux行添加fsck.mode=force
-
系统启动卡在A start job的解决方法
答案:增加systemd.default_timeout_start_sec=60s
参数 -
如何查看详细的启动日志?
答案:journalctl -b
-
哪个命令可以分析启动耗时?
答案:systemd-analyze blame
-
如何创建启动快照?
答案:systemd snapshot
-
系统进入emergency mode说明什么?
答案:关键系统组件初始化失败 -
修复MBR的正确命令
答案:grub2-install /dev/sda
-
如何设置默认启动内核?
答案:grub2-set-default 内核索引号
-
哪个文件定义内核参数?
答案:/etc/default/grub
五、systemd管理(71-100)
-
查看所有已加载单元的指令
答案:systemctl list-units
-
重启网络服务的正确命令
答案:systemctl restart network
-
如何设置服务开机自启?
答案:systemctl enable 服务名
-
查看服务依赖关系的选项
答案:systemctl list-dependencies 服务名
-
哪个target对应图形界面?
答案:graphical.target -
如何查看当前默认运行级别?
答案:systemctl get-default
-
切换运行级别到多用户模式的命令
答案:systemctl isolate multi-user.target
-
如何创建自定义systemd服务?
答案:在/etc/systemd/system/创建.service文件 -
服务状态中的"active (exited)"表示什么?
答案:服务已成功执行并退出 -
如何限制服务CPU使用率?
答案:在service文件中配置CPUQuota -
查看服务环境变量的命令
答案:systemctl show 服务名 | grep Environment
-
哪个命令重载修改过的服务配置?
答案:systemctl daemon-reload
-
如何查看服务的打开文件限制?
答案:systemctl show 服务名 | grep LimitNOFILE
-
临时运行服务而不影响开机设置的选项
答案:systemctl --runtime
-
如何查看服务的资源使用情况?
答案:systemctl status 服务名
-
哪个日志组件替代了传统的syslog?
答案:journald -
查看内核日志的正确命令
答案:journalctl -k
-
如何保留持久化日志?
答案:创建/var/log/journal目录 -
系统休眠功能对应的target
答案:hibernate.target -
如何设置定时任务(替代cron)?
答案:创建.timer单元文件 -
查看系统安装的所有target
答案:systemctl list-unit-files --type=target
-
如何同时启动多个服务?
答案:systemctl start 服务1 服务2
-
服务配置中的WantedBy作用
答案:定义该服务被哪些target需要 -
如何查看服务进程的Cgroup信息?
答案:systemctl status 服务名
中的CGroup部分 -
哪个命令检查服务文件语法?
答案:systemd-analyze verify 文件.service
-
如何设置服务超时时间?
答案:在service文件中配置TimeoutStartSec -
哪个选项显示服务树形结构?
答案:systemctl --no-pager --full
-
如何查看服务的退出状态?
答案:systemctl show 服务名 -p ExecMainStatus
-
系统维护模式对应的target
答案:rescue.target -
如何查看服务的最新日志?
答案:journalctl -u 服务名 -n 50