本文档概述了《秘密知识之书》中收录的系统管理工具、资源和实践。它侧重于管理和维护系统的实际方面,涵盖从Shell和命令行工具到监控解决方案和诊断工具等所有内容。有关安全相关的管理,请参阅安全资源,有关网络相关的管理,请参阅网络。
系统管理涵盖了用于管理、配置、监控和维护计算机系统的广泛工具和技术。此页面对这些工具进行了分类,以帮助管理员快速找到其特定任务所需的工具。
图示:系统管理工具类别
来源: README.md115-331
Shell环境是系统管理员与其系统交互的主要界面。Shell提供了一个基于文本的操作系统界面,允许管理员执行命令、自动化任务和管理系统资源。
该存储库列出了系统管理中常用的几种Shell
| Shell | 描述 |
|---|---|
| GNU Bash | 大多数Linux发行版的默认Shell,以其脚本兼容性和广泛使用而闻名 |
| Zsh | 功能强大的交互式Shell,具有用于Tab补全、Globbing和脚本的 고급 功能 |
| tclsh | 基于Tcl编程语言的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系统的性能监控工具 |
| atop | Linux的系统和进程监视器,可以记录和显示资源使用情况 |
跟踪工具有助于跟踪系统调用、诊断性能问题和理解系统行为
| 工具 | 描述 |
|---|---|
| strace | 跟踪系统调用和信号进行调试 |
| ltrace | 跟踪程序调用的库函数 |
| DTrace | 一个全面的性能分析和故障排除工具 |
| sysdig | 一个支持容器的系统探索和故障排除工具 |
| perf-tools | 基于Linux perf_events的性能分析工具 |
| Valgrind | 一套用于调试和分析程序的工具 |
日志分析工具可帮助从日志文件中提取有意义的信息
| 工具 | 描述 |
|---|---|
| angle-grinder | 一个用于在命令行中切片和整理日志文件的工具 |
| lnav | 一个日志文件导航器,具有自动刷新和搜索功能 |
| GoAccess | 一个实时Web日志分析器和交互式查看器 |
| ngxtop | NGINX的实时指标查看器 |
来源: README.md299-330
文件管理和文本编辑是系统管理工作的基础。该存储库包含用于高效处理文件和文本的各种工具。
文本编辑器是修改配置文件和编写脚本的重要工具
| 编辑器 | 描述 |
|---|---|
| vim | 高度可配置的文本编辑器,学习曲线陡峭但功能强大 |
| emacs | 一个可扩展、可自定义的文本编辑器,拥有丰富的插件生态系统 |
| micro | 一款现代、直观的基于终端的文本编辑器,易于学习 |
| neovim | vim的现代化版本,增加了更多功能和可扩展性 |
这些工具有助于查找、组织和管理文件
| 工具 | 描述 |
|---|---|
| fd | find命令的一个简单、快速且用户友好的替代方案 |
| ncdu | 一个带有ncurses界面的磁盘使用分析器 |
| Midnight Commander | 一个具有文本界面界面的可视化文件管理器 |
| ranger | 一个受VIM启发的终端文件管理器 |
来源: README.md149-164
虽然详细的网络管理在网络中有所涵盖,但许多系统管理员需要基础的网络工具来进行故障排除和诊断。
图示:网络管理工具
来源: README.md168-206
这些工具提供网络诊断、故障排除和监控的功能
| 工具 | 描述 |
|---|---|
| nmap | 用于网络发现和安全审计的安全扫描器 |
| tcpdump | 强大的命令行数据包分析器 |
| mtr | 结合了traceroute和ping的功能,用于网络诊断 |
| iperf3 | 用于测量IP网络上可达到的最大带宽的工具 |
| Wireshark | 全面的网络协议分析器(GUI版本) |
| tshark | Wireshark的命令行版本 |
来源: README.md168-206
数据库管理工具可帮助管理和与各种数据库系统进行交互
| 工具 | 描述 |
|---|---|
| usql | SQL数据库的通用命令行界面 |
| pgcli | 一个具有自动补全和语法高亮的PostgreSQL客户端 |
| mycli | 一个功能增强的MySQL客户端 |
| litecli | 一个具有自动补全和语法高亮的SQLite客户端 |
| OSQuery | 一个使用SQL查询操作系统数据的工具 |
来源: README.md333-344
虽然全面的安全内容在安全资源中有所介绍,但基础的系统加固是系统管理的重要方面
| 工具/框架 | 描述 |
|---|---|
| SELinux | 一个内置于Linux内核的强制访问控制系统 |
| AppArmor | 一个通过配置文件限制程序能力的安保模块 |
| grapheneX | 一个自动化的系统加固框架 |
| DevSec Hardening Framework | 一套用于自动化服务器加固的工具集 |
| auditd | Linux审计守护进程,用于跟踪安全相关信息 |
来源: README.md276-287
下图展示了常见系统管理工作流程以及每个阶段通常使用的工具
图示:系统管理工作流程
来源: README.md110-380
该存储库包含指向系统管理员的各种手册和参考资源的链接
| 资源 | 描述 |
|---|---|
| Unix Toolbox | 一套对IT工作有用的Unix/Linux/BSD命令和任务集合 |
| The Bash Hackers Wiki | 一个关于Bash脚本和用法的综合维基 |
| Shell & Utilities | POSIX Shell文档 |
| tldr | 简化版且由社区驱动的man页 |
| nixCraft | 面向系统管理员的Linux和Unix教程 |
| Linux Kernel Teaching | 一套关于Linux内核主题的讲座和实验室 |
来源: README.md842-883
虽然该存储库有专门的Shell单行命令和Shell函数部分,但以下示例对于系统管理任务特别有用
有用的Bash函数示例包括增强的目录导航、日志文件分析器和进程管理工具。
常见的系统管理单行命令包括用于系统监控、日志分析和快速故障排除的命令。
本页提供了《秘密知识之书》中系统管理工具和资源的概述。有关更具体的信息,请参阅相关页面