8.shell

8.shell

目录 点击展开目录 目录 文件操作 文件查找与过滤 文件处理 文件压缩 文件权限管理 HDFS操作 文件查看 文件大小统计 文件上传 文本处理 文件读取 文本过滤 高级文本处理 sed 流编辑器 awk 文本处理工具 grep 文本搜索工具 cut 列提取工具 sort 排序工具 uniq 去重工具 综合应用示例 管道操作详解 控制结构 条件判断 分支语句 循环语句 函数定义 信号与异常处理 字符串处理 字符串基本操作 字符串截取与替换 字符串转换 字符串比较与判断 字符串切割生成数组 正则表达式处理 数组操作 数组定义与初始化 索引数组 数组初始化技巧 数组访问与修改 基本访问操作 数组切片操作 数组修改操作 数组遍历 基本遍历方法 高级遍历技巧 数组操作方法 数组搜索与查找 数组排序 数组去重与合并 数组 Map 操作 字符串分割与数组生成 数组排错与兼容性 关联数组 关联数组基础 关联数组操作 关联数组高级应用 数组实用示例 命令行参数处理 日志处理系统 数据处理管道 数学运算 基本算术运算 整数运算 使用let命令 使用expr命令 高级数学运算 浮点数运算 使用awk进行数学运算 数值比较与判断 数值比较操作 数值范围判断 进制转换 不同进制之间的转换 随机数生成 生成各种随机数 数学运算实用示例 统计计算器 数学函数库 单位转换器 进程管理 进程监控与控制 组合查杀实战(精准定位与终止) 后台任务管理 时间处理 日期格式化 时间计算 网络请求 基本网络命令 高级网络操作 curl 高级用法与变量传递 Shell 中向 curl 传递变量的核心原则 基本原则:变量展开 引号使用口诀 不同场景下的变量传递方法 GET 请求(URL 参数) POST 请求(表单数据) POST 请求(JSON 数据) Header 中传递变量 变量包含特殊字符 Shell 数组与 JSON 处理 Shell 数组与字符串的区分 使用 jq 安全生成 JSON 数组与 JSON 的转换 Shell 数组的进阶操作 计算数组交集 判断数组是否"有效" 数组的清洗与过滤 脚本执行环境与常见错误 Bash 与 sh 的关键区别 常见错误:进程替换语法错误 生产脚本的最佳实践 实战案例:geohash 校验脚本链路 完整流程与黄金模板 关键陷阱与防御性编程 jq 常用操作 1. 基础用法 2. 字段提取与访问 3. 数组操作 4. 过滤与转换 (Map & Select) 5. 排序与去重 6. 构造与修改 JSON 7. 高级统计与计算 8. 格式转换 9. 处理 JSON 行文件 (NDJSON) 10. 常用实战场景 终端代理配置 Windows PowerShell代理 Windows CMD代理 Git Bash代理 Mac终端代理 Linux终端代理 代理测试与故障排除 代理管理脚本 Windows 网络诊断 常用命令行工具 网卡信息解读实战 多网卡路由优先级 开发环境 Node.js 管理 系统监控 资源使用监控 日志分析 性能分析 性能测试工具 性能优化技巧 安全操作 权限管理 加密与解密 数据库操作 MySQL操作 PostgreSQL操作 自动化脚本示例 定时备份 批量处理 Windows 常用操作 PowerShell 基础 文件与目录操作 网络操作 进程与系统管理 常用快捷键与技巧 终端复用(tmux) Cloudflare Wrangler 安装与配置 项目管理 开发调试 部署发布 Pages(静态站点/博客部署) 常用资源操作 配置文件 (wrangler.toml) Hugo 安装与版本 本地开发 内容编写 构建发布 配合 Cloudflare Pages(Direct Upload) 主题与模块(常见维护) 主题本地/远程不一致(排查与修复) OpenSkills 安装与配置 技能管理 常用安装源 文件操作 文件查找与过滤 # 查找目录下以8位数字结尾的文件(YYYYMMDD格式) find /path/to/dir -type f -regextype posix-extended -regex '.*[0-9]{8}$' # 检查文件是否存在 if [ ! -f "$file" ]; then echo "File not found: $file" exit 1 fi # 查找最近7天修改过的文件 find /path/to/dir -type f -mtime -7 # 查找大于100MB的文件 find /path/to/dir -type f -size +100M # 查找并删除空文件 find /path/to/dir -type f -empty -delete # 查找特定权限的文件 find /path/to/dir -type f -perm 644 文件处理 # 分割大文件 split -b 10M large_file.txt output_ # 合并文件 cat output_* > combined_file.txt # 按行分割文件 split -l 1000 large_file.txt output_ # 批量重命名文件 rename 's/\.txt$/.md/' *.txt # 将所有.txt文件重命名为.md # 查找重复文件 fdupes -r /path/to/directory # 创建文件链接 ln -s /path/to/original /path/to/link # 软链接 ln /path/to/original /path/to/link # 硬链接 # 查看二进制文件 hexdump -C binary_file | head # 查看文件类型 file filename # 批量替换文件内容 find . -type f -name "*.txt" -exec sed -i 's/old_text/new_text/g' {} \; # 递归创建目录 mkdir -p path/to/nested/directory 文件压缩 # 压缩文件 gzip a.txt # 压缩并删除原文件 gzip -c a.txt # 压缩并保留原文件 # 解压文件 gunzip your_file.txt.gz # tar压缩 tar -czvf archive.tar.gz directory/ # 创建gzip压缩的tar归档 tar -cjvf archive.tar.bz2 directory/ # 创建bzip2压缩的tar归档 # tar解压 tar -xzvf archive.tar.gz # 解压gzip压缩的tar归档 tar -xjvf archive.tar.bz2 # 解压bzip2压缩的tar归档 # zip压缩 zip -r archive.zip directory/ # zip解压 unzip archive.zip 文件权限管理 # 修改文件权限 chmod 755 file.sh # 设置可执行权限 chmod -R 644 dir/ # 递归修改目录下所有文件权限 # 修改文件所有者 chown user:group file.txt chown -R user:group directory/ # 递归修改 # 设置SUID/SGID/Sticky位 chmod u+s file # 设置SUID chmod g+s directory # 设置SGID chmod +t directory # 设置Sticky位 # 复制权限 getfacl source_file | setfacl --set-file=- target_file # 添加ACL权限 setfacl -m u:user:rwx file.txt # 为特定用户添加权限 setfacl -m g:group:rx file.txt # 为特定组添加权限 HDFS操作 文件查看 # 列出HDFS目录下以8位数字结尾的文件 hadoop fs -ls /path/to/dir | awk '$NF ~ /[0-9]{8}$/ {print $NF}' # 使用grep过滤HDFS目录 hadoop fs -ls /data/dept/bi/dim/data | grep -E "[0-9]{8}$" 文件大小统计 # 获取目录文件大小并选择最后一行 hadoop fs -du -h $line | tail -n 1 >> file_size_result.txt 文件上传 ### 多行文件上传 cat <<EOF | hdfs dfs -put - /path/in/hdfs/multiline.txt This is line 1 This is line 2 This is line 3 EOF 文本处理 文件读取 # 遍历文件每一行 file="example.txt" while IFS= read -r line; do echo "$line" done < "$file" # 另一种读取方式 cat "$file" | while read line; do echo "$line" done 文本过滤 # 查看grep过滤结果的前100个字符 grep "关键词" file.txt | cut -c 1-100 # 显示匹配行及其后5行 curl -s "http://localhost:8080/hotsearch" | grep -A 5 "wallpaper-menu" 高级文本处理 sed 流编辑器 基本语法 ...

December 25, 2025 · Ralph Wren · 浏览量: --
9.k8s

9.k8s

9. Kubernetes 容器编排技术指南 目录 点击展开目录 Kubernetes 概述 - 什么是 Kubernetes - 核心特性 - 架构设计 - 与其他编排工具对比 集群架构 - Master 节点 - Worker 节点 - 网络组件 - 存储组件 核心对象 - Pod 详解 - Service 服务 - Deployment 部署 - ConfigMap 和 Secret 工作负载 - ReplicaSet 副本集 - DaemonSet 守护进程 - StatefulSet 有状态应用 - Job 和 CronJob 服务发现与负载均衡 - Service 类型 - Ingress 控制器 - DNS 解析 - 负载均衡策略 存储管理 - Volume 卷 - PersistentVolume - StorageClass - CSI 驱动 配置管理 - ConfigMap 配置 - Secret 密钥 - 环境变量 - 配置热更新 网络管理 - 网络模型 - CNI 插件 - NetworkPolicy - Service Mesh 安全管理 - RBAC 权限控制 - Pod 安全策略 - 网络安全 - 镜像安全 ...

December 25, 2025 · Ralph Wren · 浏览量: --
30.helm

30.helm

40. Helm Kubernetes 包管理器指南 目录 点击展开目录 Helm 概述 - 什么是 Helm - 核心概念 - 架构设计 - 与其他工具对比 安装与配置 - Helm 安装 - 仓库管理 - 配置文件 - 权限设置 Chart 开发 - Chart 结构 - 模板语法 - Values 文件 - 依赖管理 模板引擎 - Go 模板语法 - 内置函数 - 流程控制 - 变量和作用域 Chart 管理 - Chart 创建 - Chart 打包 - Chart 发布 - 版本管理 应用部署 - Release 管理 - 升级和回滚 - 配置覆盖 - 钩子机制 高级特性 - 子 Chart - Library Chart - Chart 测试 - 插件系统 最佳实践 - Chart 设计原则 - 安全实践 - 性能优化 - CI/CD 集成 故障排查 - 常见问题 - 调试技巧 - 日志分析 - 性能诊断 生产实践 - 多环境管理 - GitOps 集成 - 监控告警 - 运维自动化 ...

December 25, 2025 · Ralph Wren · 浏览量: --
31.nginx

31.nginx

41. Nginx Web 服务器技术指南 目录 点击展开目录 Nginx 概述 - 什么是 Nginx - 核心特性 - 架构设计 - 与其他 Web 服务器对比 安装与配置 - 安装方式 - 目录结构 - 基础配置 - 服务管理 核心模块 - HTTP 核心模块 - Events 模块 - Mail 模块 - Stream 模块 配置语法 - 配置文件结构 - 指令语法 - 变量系统 - 正则表达式 虚拟主机 - 基于域名的虚拟主机 - 基于 IP 的虚拟主机 - 基于端口的虚拟主机 - SSL 虚拟主机 反向代理 - 代理配置 - 负载均衡 - 健康检查 - 缓存机制 静态文件服务 - 文件服务配置 - 目录浏览 - 文件压缩 - 缓存控制 SSL/TLS 配置 - SSL 证书配置 - 安全参数优化 - HTTP/2 支持 - HSTS 配置 性能优化 - 连接优化 - 缓存优化 - 压缩优化 - 系统调优 安全配置 - 访问控制 - 防护措施 - 日志安全 - 漏洞防护 ...

December 25, 2025 · Ralph Wren · 浏览量: --
34.consul

34.consul

Consul 服务网格与服务发现 目录 点击展开目录 Consul 服务网格与服务发现 目录 概述 主要特性 核心优势 核心概念 服务发现 健康检查 键值存储 多数据中心 架构设计 集群架构 一致性算法 网络拓扑 安全机制 核心功能 服务注册与发现 配置管理 负载均衡 故障转移 服务网格 Connect架构 代理模式 流量管理 安全策略 客户端操作 HTTP API DNS接口 命令行工具 Spring Boot集成 依赖配置 服务注册 服务发现 配置管理 健康检查配置 部署运维 集群部署 配置管理 监控告警 故障排查 实际应用 微服务架构 容器编排 云原生集成 面试要点 1. Consul 是什么?有什么核心功能? 2. Consul 的架构是怎样的? 3. Consul 如何实现服务发现? 4. Consul 的健康检查机制有哪些? 5. Consul 与 ZooKeeper、etcd 的区别? 6. Consul Connect 是什么?如何工作? 7. 如何在生产环境部署 Consul 集群? 8. Consul 的性能特点和优化建议? 9. Consul 在微服务架构中的作用? 10. 如何解决 Consul 的常见问题? 概述 HashiCorp Consul 是一个服务网格解决方案,提供服务发现、配置管理、健康检查等功能的全功能控制平面。它解决了在动态、分布式基础设施中运行服务的网络和安全挑战。 ...

December 25, 2025 · Ralph Wren · 浏览量: --
39.docker

39.docker

39. Docker 容器化技术指南 目录 点击展开目录 Docker 概述 - 什么是 Docker - 核心概念 - Docker 架构 - 与虚拟机对比 Docker 安装与配置 - 系统要求 - 安装方式 - macOS:Colima(Docker CLI / Compose) - 配置优化 - 镜像加速 Docker 镜像管理 - 镜像基础 - 镜像操作 - Dockerfile 编写 - 镜像优化 Docker 容器管理 - 容器生命周期 - 容器操作 - 数据卷管理 - 网络配置 Docker Compose - Compose 概述 - 编排文件 - 服务管理 - 实战案例 Docker 网络 - 网络模式 - 自定义网络 - 跨主机网络 - 网络故障排查 Docker 存储 - 存储驱动 - 数据持久化 - 存储优化 - 备份恢复 Docker 安全 - 安全基础 - 镜像安全 - 容器安全 - 最佳实践 Docker 监控与日志 - 监控方案 - 日志管理 - 性能调优 - 故障排查 生产环境实践 - 部署策略 - CI/CD 集成 - 集群管理 - 运维经验 ...

December 25, 2025 · Ralph Wren · 浏览量: --
66.服务器性能与容器服务部署优化指南

66.服务器性能与容器服务部署优化指南

66. 服务器性能与容器服务部署优化指南 目录 点击展开目录 66. 服务器性能与容器服务部署优化指南 目录 一、为什么部署了服务却还是慢 二、影响服务性能的整体链路 2.1 请求从哪里开始变慢 2.2 容器慢不等于只有 Docker 慢 三、CPU:最容易被忽略的第一资源 3.1 CPU 不够时会出现什么现象 3.2 容器场景下 CPU 的常见坑 3.3 CPU 排查重点 四、内存:很多服务不是慢,而是被挤压 4.1 内存不足的典型表现 4.2 容器内存相关问题 4.3 内存排查重点 五、磁盘与 I/O:日志、数据库、镜像层都会拖慢服务 5.1 磁盘慢会让哪些服务先出问题 5.2 容器场景下 I/O 的特殊问题 5.3 磁盘排查重点 六、网络与带宽:不只是“网慢”这么简单 6.1 网络性能包含哪些维度 6.2 容器网络的常见影响因素 6.3 网络排查重点 七、连接数、文件描述符与端口资源 7.1 为什么连接数会成为瓶颈 7.2 容器部署时常见限制项 7.3 连接类问题排查重点 八、Docker 部署对性能的实际影响 8.1 Docker 不是性能问题的唯一来源 8.2 Docker 真正会影响性能的地方 8.3 容器性能调优的核心思路 九、应用层因素:线程池、连接池、缓存、队列长度 9.1 为什么资源够用服务还是慢 9.2 应用层常见性能瓶颈 十、性能排查的推荐顺序 10.1 先看现象,再定层级 10.2 一套适合线上故障的排查流程 十一、常见部署场景的性能重点 11.1 Nginx / 网关类服务 11.2 Java / Spring Boot 服务 11.3 Python / Node.js Web 服务 11.4 MySQL / PostgreSQL / Redis 十二、监控指标应该怎么建 12.1 主机层指标 12.2 容器层指标 12.3 应用层指标 十三、业务与工作中的经验总结 十四、常见误区 十五、面试题与标准回答 15.1 基础理解类 15.2 排查实战类 15.3 容器部署类 十六、总结 一、为什么部署了服务却还是慢 很多人一看到服务性能差,第一反应就是: ...

May 20, 2026 · Ralph Wren · 浏览量: --