菜单

系统管理

相关源文件

本文档概述了《秘密知识之书》中收录的系统管理工具、资源和实践。它侧重于管理和维护系统的实际方面,涵盖从Shell和命令行工具到监控解决方案和诊断工具等所有内容。有关安全相关的管理,请参阅安全资源,有关网络相关的管理,请参阅网络

系统管理工具概述

系统管理涵盖了用于管理、配置、监控和维护计算机系统的广泛工具和技术。此页面对这些工具进行了分类,以帮助管理员快速找到其特定任务所需的工具。

图示:系统管理工具类别

来源: README.md115-331

Shell环境

Shell环境是系统管理员与其系统交互的主要界面。Shell提供了一个基于文本的操作系统界面,允许管理员执行命令、自动化任务和管理系统资源。

Shells

该存储库列出了系统管理中常用的几种Shell

Shell描述
GNU Bash大多数Linux发行版的默认Shell,以其脚本兼容性和广泛使用而闻名
Zsh功能强大的交互式Shell,具有用于Tab补全、Globbing和脚本的 고급 功能
tclsh基于Tcl编程语言的Shell,适用于编写复杂的脚本任务

Shell框架和插件

为了增强Shell的功能,提供了几个框架和插件

框架/插件目的
bash-it一个用于管理Bash配置、别名和自定义命令的框架
Oh My ZSH一个用于管理Zsh配置的框架,包括主题和插件
Starship一个用Rust编写的跨Shell提示符定制器
z一个基于使用频率快速导航目录的工具
fzf命令行通用的模糊查找器

终端复用器

终端复用器允许系统管理员在单个窗口中维护多个终端会话

工具描述
tmux一个终端复用器,可在单个窗口中实现多个终端会话
screen一个全屏窗口管理器,可以复用物理终端

来源: README.md116-145

系统监控和诊断

监控和诊断工具对于理解系统性能、排查问题和识别瓶颈至关重要。

图示:系统监控和诊断工具

来源: README.md298-330

进程和资源监控

进程监控工具帮助管理员跟踪正在运行的进程、资源利用率和系统负载

工具描述
htop一个具有用户友好界面的交互式进程查看器
bashtop一个用纯Bash编写的资源监视器
glances一个跨平台的监控工具,同时支持CLI和Web界面
nmon一个用于AIX和Linux系统的性能监控工具
atopLinux的系统和进程监视器,可以记录和显示资源使用情况

系统跟踪和调试

跟踪工具有助于跟踪系统调用、诊断性能问题和理解系统行为

工具描述
strace跟踪系统调用和信号进行调试
ltrace跟踪程序调用的库函数
DTrace一个全面的性能分析和故障排除工具
sysdig一个支持容器的系统探索和故障排除工具
perf-tools基于Linux perf_events的性能分析工具
Valgrind一套用于调试和分析程序的工具

日志分析

日志分析工具可帮助从日志文件中提取有意义的信息

工具描述
angle-grinder一个用于在命令行中切片和整理日志文件的工具
lnav一个日志文件导航器,具有自动刷新和搜索功能
GoAccess一个实时Web日志分析器和交互式查看器
ngxtopNGINX的实时指标查看器

来源: README.md299-330

文件和文本管理

文件管理和文本编辑是系统管理工作的基础。该存储库包含用于高效处理文件和文本的各种工具。

文本编辑器

文本编辑器是修改配置文件和编写脚本的重要工具

编辑器描述
vim高度可配置的文本编辑器,学习曲线陡峭但功能强大
emacs一个可扩展、可自定义的文本编辑器,拥有丰富的插件生态系统
micro一款现代、直观的基于终端的文本编辑器,易于学习
neovimvim的现代化版本,增加了更多功能和可扩展性

文件管理工具

这些工具有助于查找、组织和管理文件

工具描述
fdfind命令的一个简单、快速且用户友好的替代方案
ncdu一个带有ncurses界面的磁盘使用分析器
Midnight Commander一个具有文本界面界面的可视化文件管理器
ranger一个受VIM启发的终端文件管理器

来源: README.md149-164

网络管理工具

虽然详细的网络管理在网络中有所涵盖,但许多系统管理员需要基础的网络工具来进行故障排除和诊断。

图示:网络管理工具

来源: README.md168-206

常用网络工具

这些工具提供网络诊断、故障排除和监控的功能

工具描述
nmap用于网络发现和安全审计的安全扫描器
tcpdump强大的命令行数据包分析器
mtr结合了traceroute和ping的功能,用于网络诊断
iperf3用于测量IP网络上可达到的最大带宽的工具
Wireshark全面的网络协议分析器(GUI版本)
tsharkWireshark的命令行版本

来源: README.md168-206

数据库管理

数据库管理工具可帮助管理和与各种数据库系统进行交互

工具描述
usqlSQL数据库的通用命令行界面
pgcli一个具有自动补全和语法高亮的PostgreSQL客户端
mycli一个功能增强的MySQL客户端
litecli一个具有自动补全和语法高亮的SQLite客户端
OSQuery一个使用SQL查询操作系统数据的工具

来源: README.md333-344

系统加固和安全

虽然全面的安全内容在安全资源中有所介绍,但基础的系统加固是系统管理的重要方面

工具/框架描述
SELinux一个内置于Linux内核的强制访问控制系统
AppArmor一个通过配置文件限制程序能力的安保模块
grapheneX一个自动化的系统加固框架
DevSec Hardening Framework一套用于自动化服务器加固的工具集
auditdLinux审计守护进程,用于跟踪安全相关信息

来源: README.md276-287

下图展示了常见系统管理工作流程以及每个阶段通常使用的工具

图示:系统管理工作流程

来源: README.md110-380

手册和参考资源

该存储库包含指向系统管理员的各种手册和参考资源的链接

资源描述
Unix Toolbox一套对IT工作有用的Unix/Linux/BSD命令和任务集合
The Bash Hackers Wiki一个关于Bash脚本和用法的综合维基
Shell & UtilitiesPOSIX Shell文档
tldr简化版且由社区驱动的man页
nixCraft面向系统管理员的Linux和Unix教程
Linux Kernel Teaching一套关于Linux内核主题的讲座和实验室

来源: README.md842-883

Shell单行命令和函数

虽然该存储库有专门的Shell单行命令Shell函数部分,但以下示例对于系统管理任务特别有用

有用的Bash函数

有用的Bash函数示例包括增强的目录导航、日志文件分析器和进程管理工具。

常用的单行命令

常见的系统管理单行命令包括用于系统监控、日志分析和快速故障排除的命令。

结论

本页提供了《秘密知识之书》中系统管理工具和资源的概述。有关更具体的信息,请参阅相关页面