- 博客(345)
- 资源 (52)
- 收藏
- 关注
原创 Shell 命令查找顺序与调用方式详解
摘要:Shell命令执行遵循固定查找顺序:别名→关键字→函数→内置命令→哈希表→PATH路径。关键技巧包括:使用反斜杠\跳过别名,command命令跳过别名和函数,builtin强制使用内置命令,绝对路径完全绕过拦截。type命令可检测命令类型,编写脚本时应使用command或绝对路径确保安全性。最佳实践包括在脚本开头清理环境、使用严格模式、检测命令类型等。记忆口诀:"别名函数内置命令,哈希路径依次寻;反斜跳过别名快,command绕过函数稳"。
2026-02-24 10:11:35
629
原创 Linux 密码有效期策略配置与安全检测
本文档介绍 Linux 系统密码有效期策略的配置方法、相关参数说明,以及如何检测和防范时间操纵攻击绕过密码过期策略。密码有效期策略是 Linux 系统安全的重要组成部分。除了正确配置策略参数外,还需要:防止系统时间被恶意修改定期检测密码策略的完整性监控和审计时间修改操作使用 NTP/Chrony 保持时间同步定期审查用户密码状态通过综合运用这些措施,可以有效防范密码策略被绕过的风险。
2026-02-10 09:35:18
543
原创 VMware安装Ubuntu20.04崩溃解决
文章摘要:在VMware ESXi 6.7上安装Ubuntu 20.04 Server时遇到安装崩溃问题。经排查发现是由于VMware自动判断引导类型错误所致,将虚拟机引导方式从BIOS改为EFI后成功解决。作者分析该问题可能与Ubuntu Server 20.04处于BIOS向EFI过渡期有关,而Desktop版用户量大导致Server版此类兼容性问题较少被发现。建议遇到类似问题时手动调整引导类型尝试解决。(149字)
2026-01-21 10:51:05
263
原创 Ubuntu网络配置常见问题解析
摘要:Ubuntu网络配置方式随版本演变,20.04+版本默认使用netplan工具管理。文章记录了配置netplan YAML文件后IP未生效的问题,通过debug发现网卡未激活(NO-CARRIER状态),解决方法是勾选虚拟机"打开电源时连接"选项。同时指出不同Ubuntu版本网关配置差异:20.10使用gateway4参数,24.04改用routes配置方式,强调执行netplan apply前需用netplan try校验配置。(149字)
2026-01-15 19:50:56
401
原创 深入理解Shell中的[]和test:看似相同,实则大不同
本文深入探讨Shell脚本中条件测试命令[和test的异同。两者功能相似但本质不同:[是命令需要]作为参数,test是独立命令。分析显示它们都有内置和外部版本,sudo环境下test兼容性更好。文章对比了语法差异、性能表现及常见错误,推荐现代脚本使用更安全的[[ ]]结构。同时提供历史背景和最佳实践建议,强调理解这些细节对编写健壮Shell脚本的重要性。
2026-01-13 16:27:51
952
原创 Linux下进行整数和浮点数运算
Shell算术运算方法对比:$((...))是Bash/Ksh/Zsh中最高效的整数运算方式,相比expr更快速安全且语法简洁。对于小数运算,建议使用bc或awk,其中bc适合简单计算,awk适合批量处理。最佳实践推荐:整数运算用$((...)),小数运算用bc/awk,大量计算可考虑Python/Perl等语言。Zsh用户可直接使用其内置的浮点运算功能。
2026-01-12 17:30:11
256
原创 通识性AI知识点:AI工具选型指南
本文介绍了AI工具的两大发展路径和四类主流产品,并提供了选择建议。平台化产品路线(如微软Copilot、谷歌Gemini)强调AI与现有生态的深度整合,而模型能力路线(如OpenAI、DeepSeek)则专注于提升基础能力。针对不同用户群体:学生/研究者推荐谷歌AI工具和国产模型;办公人员适合微软Copilot;内容创作者可选择GPT-4o或Midjourney;开发者则倾向谷歌CodeAssist和开源模型。未来趋势将聚焦AI智能体和垂直领域应用的发展。
2025-12-24 17:37:40
1115
原创 通识性AI知识点:AI学习框架(从ML到LLM的核心概念)
摘要:本文系统梳理了AI领域的核心概念,构建了从基础认知到前沿挑战的完整知识框架。首先解析了机器学习、深度学习和LLM的基本原理及生活类比;其次阐述了模型训练、参数优化等工作原理;然后介绍了神经网络结构和评估指标;最后探讨了微调、提示工程等应用技术及幻觉、对齐等现实挑战。文章通过"总结《三体》思想"的实例,生动展示了多个AI概念如何协同工作,帮助读者建立对AI技术的整体认知框架。
2025-12-24 17:35:51
642
原创 通识性AI知识点:Token和Context
摘要:Token(令牌)是AI模型处理文本的基本单位,相当于单个字词;Context(上下文)则是模型单次能处理的Token集合范围,类似短期记忆容量。Token决定计算量和成本,Context限制模型处理信息的复杂度。两者的关系体现在:Context作为容器限定Token处理上限(如8K Context可处理8000个Token)。当输入超过Context长度时,模型需分段处理可能导致信息丢失。简言之,Token衡量信息量,Context决定处理能力。例如总结长文时,Token总量决定输入规模,Conte
2025-12-24 17:32:55
399
原创 AWK四大实现:oawk、nawk、mawk、gawk全解析
摘要:本文介绍了AWK语言的几种主要实现,包括oawk(原始版本)、nawk(增强版)、gawk(GNU功能扩展版)和mawk(高性能精简版)。文章梳理了AWK从1977年诞生到功能分化的演进历程,指出gawk因功能全面已成为Linux主流实现,而mawk则在处理大数据时更具性能优势。作者建议编写通用脚本时优先考虑gawk以确保兼容性,在性能敏感场景可选用mawk。文章还提醒开发者注意不同实现的特性差异,避免在跨平台脚本中使用特定实现的扩展功能。(149字)
2025-12-24 11:50:55
902
原创 Shell脚本中local赋值的陷阱
本文探讨了Shell脚本中获取系统版本信息的常见误区。通过示例展示了使用rpm -q命令时可能遇到的问题:1) 错误信息可能出现在标准输出而非标准错误;2) 中文字符编码差异导致过滤失败。文章指出最佳实践应通过状态码而非输出来判断软件包是否安装。重点揭示了local变量声明的陷阱:local var=$(command)实际包含声明和赋值两个操作,且$?仅反映local命令本身的状态而非赋值命令的状态。通过测试案例验证了这一点,强调理解Shell命令执行顺序的重要性。
2025-12-19 16:38:05
489
原创 揭秘管道命令的隐藏陷阱
本文分析了Linux命令管道中退出状态的传递机制。默认情况下,只有最后一个命令的退出状态会被保留,中间命令的失败会被隐藏。文章介绍了三种状态获取方式:默认行为仅返回最后一个命令状态;bash特有的PIPESTATUS数组记录所有命令状态;通过set -o pipefail设置可使任一命令失败导致整个管道失败。这些机制适用于不同场景,用户可根据需求选择合适的方式获取管道执行状态。
2025-12-17 12:09:10
339
原创 揭秘管道符:Linux命令并行执行的秘密
本文揭秘了管道命令(|)的并行执行机制,通过实验打破了"顺序执行"的固有认知。实验显示,在"cmd1|cmd2"管道中,消费者(cmd2)会先于生产者(cmd1)启动,并实时处理数据而非等待全部数据生成。关键发现:1) 管道命令是并行而非顺序执行;2) 数据流经4KB内核缓冲区;3) 子进程同时启动形成管道链;4) 每个命令独立运行,不知身处管道中。时间戳实验证明,消费者处理速度与生产者输出保持同步,而非等待全部数据完成。
2025-12-17 12:05:32
599
原创 SSH会话超时设置:服务器端与客户端对比
本文对比分析了SSH连接中服务器端和客户端的会话保持机制。服务器端通过sshd_config中的ClientAliveInterval和ClientAliveCountMax参数控制检查客户端存活状态,适用于防止僵尸会话;客户端则通过ssh_config或用户配置文件中的ServerAliveInterval和ServerAliveCountMax参数检测服务器存活状态,适用于避免因网络设备超时断开连接。实验验证了两套参数独立运作的特性:客户端配置1分钟超时成功断开,服务器端配置5分钟超时也如期生效。这为S
2025-11-27 09:26:07
487
原创 检查SSH安全配置-确保sshd的ClientAliveInterval和ClientAliveCountMax配置正确
摘要:SSH协议的ClientAliveInterval和ClientAliveCountMax参数用于管理空闲连接超时,但8.2p1版本前存在漏洞可被滥用断开用户连接。ClientAliveInterval设置超时间隔(默认0不发送请求),ClientAliveCountMax设置最大存活消息数(默认3)。合理配置可防止资源耗尽,建议设置ClientAliveInterval=15秒和ClientAliveCountMax=3(45秒超时)。需注意Match语句优先级,并通过sshd-T命令验证配置。这些
2025-11-26 14:26:58
505
原创 Linux目录结构解析与演变
本文概述了Linux系统中主要目录的用途及其现代变化。传统目录结构如/bin、/sbin等现在多作为/usr对应目录的符号链接;/boot保持独立且常单独分区;/dev使用devtmpfs管理;/etc配置更模块化;/home和/root为用户目录;/lib、/lib64也转为符号链接;/media由udev自动管理;/proc和/sys提供虚拟文件系统;/run替代了/var/run;/tmp常用tmpfs。现代Linux更趋向整合,如FHS 3.0将传统目录整合到/usr,同时保持动态数据目录/var的
2025-11-19 20:58:47
475
原创 软链接VS硬链接:本质区别与适用场景
软链接和硬链接对比分析:软链接是特殊文件存储目标路径,独立inode,支持跨文件系统;硬链接是共享inode的目录项,增加链接计数,限于同一文件系统。路径解析通过软链接间接访问目标文件,共享目标inode。关键区别在于删除行为:删除目标后软链接失效但硬链接保留数据。软链接适合快捷方式和跨系统访问,硬链接适合文件备份和节省空间。使用目录软链接时需特别注意删除操作的影响。
2025-11-19 09:43:33
588
原创 空白字符:ASCII与Unicode全解析
本文总结了常见的空白字符编码,包括标准ASCII空白符(如空格、制表符、换行符)、特殊Unicode空白符(如非断空格、全角空格等)和零宽度字符。详细列出了它们的Unicode编码、UTF-8字节序列和HTML实体表示。同时介绍了UTF-8的可变长度编码机制,说明不同Unicode范围对应的字节数。最后提到UTF-8 BOM的作用及使用注意事项,建议在Web开发中避免使用BOM。全文系统梳理了各类空白字符的技术参数,为文本处理提供编码参考。
2025-11-14 17:15:20
1528
原创 系统配置重复项处理:经验未必可靠
系统级和应用级配置文件对重复项的处理机制不同:/etc/profile中的重复变量会覆盖,而sshd_config则因参数而异。例如OpenSSH 8.0中,Port支持多值(22和1220同时生效),但MaxStartups仅最后一个配置(10:30:100)生效。建议避免重复配置,防止因版本差异导致非预期结果。调试时可使用sshd-T验证配置,或通过ss命令查看实际监听端口。配置文件的处理逻辑存在不确定性,经验性结论可能失效,需谨慎验证。
2025-11-12 14:57:31
396
原创 论find -group和-gid的区别
摘要:在Linux账号权限检查时,发现find命令误报问题。经排查发现,问题出在-grouproot参数上,该参数依赖/etc/group文件解析组名。实际环境中root组的GID被错误配置为100而非0,导致命令失效。最终改用-gid0参数直接匹配GID,完美解决问题。这表明在特殊环境下,直接使用GID比依赖组名解析更可靠。
2025-11-11 18:20:26
628
原创 Shell高手必备:30字搞定XML注释过滤
摘要:文章介绍了两种处理XML/配置文件注释内容的方法。第一种使用awk的RS记录分隔符特性,将文本按注释标记分割,通过NR取模过滤注释块。第二种采用状态机方式,用变量标记注释状态,逐行判断处理。两种方法都能有效去除注释内容,适用于tomcat-users.xml等配置文件解析。文章最后留下思考题,让读者尝试用类似方法处理logrotate配置文件中的全局/局部配置区分问题。
2025-11-06 21:40:58
987
原创 head和tail命令使用
文章摘要:本文探讨如何用head和tail命令删除文件首行。常规用法只能查看开头/结尾内容,而高级技巧如tail -n+N(如tail -n+2)可直接从第N行输出至末尾,实现首行删除。对比sed和awk方案,tail -n+2在大文件处理中性能最优,因其直接定位行号无需流式处理。其他方案包括组合head|tail或使用sed -n 'N,Mp'截取指定行范围。 (字数:149)
2025-11-05 19:54:41
313
原创 xargs 命令在shell编程中的应用
摘要: 文章探讨了使用xargs命令处理Linux版本号时遇到的正则匹配问题,发现版本号为单数字时出错,并通过xargs去除空格解决。文中详细解析了xargs的功能与用法:它作为标准输入与命令行参数间的桥梁,支持参数转换、并行处理(-P)、安全删除(-0与find -print0搭配)等场景,并强调使用-p或-t测试破坏性操作。核心总结:xargs通过灵活选项(如-n、-I)高效处理参数,是Shell脚本中参数传递与批量操作的关键工具。 (字数:150)
2025-11-05 11:23:08
947
1
原创 为什么总在秋天受伤
深秋运动伤病高发原因分析:1)低温导致肌肉温度降低,收缩速度和代谢废物清除率下降;2)延续夏季不充分热身的习惯,神经肌肉传导速度减慢;3)凉爽天气易盲目提高强度,造成心肺与肌腱不匹配;4)日照减少导致维生素D合成不足,影响肌腱胶原合成。这些因素共同导致10月底运动损伤风险显著增加,建议加强热身、控制强度并补充维生素D。
2025-10-29 16:24:04
225
原创 关于Linux“\”多行拼接知多少
文章摘要:作者原本只知道shell脚本中行尾的""用于换行显示,后发现其实际作用是转义换行符,使多行代码被解析为一行。在解决公司Probe工具因发送两次回车导致""换行失效的问题时,选择了取消脚本中""换行的方案。文章解释了""作为转义字符的原理,并邀请读者分享Linux/shell使用中的经验技巧。全文从实际问题出发,深入浅出地讲解了转义字符的机制。
2025-10-27 21:28:02
410
原创 bash的“进程替换 + 重定向”和“传统管道”
进程替换(如 >(command))和传统管道的主要区别在于:1. 执行方式不同 - 进程替换异步执行,管道同步执行;2. 退出状态码不同 - 进程替换只反映前命令状态,管道反映整个管道状态;3. 变量作用域相同 - 都在子shell中运行不影响父shell。进程替换的优势在于无需临时文件、更简洁安全且性能更好,但它是Bash扩展功能而非POSIX标准。>>在>>(command)中第一个>是重定向,第二个是进程替换语法部分,表示将输出追加到进程替换创建的临时文件中。
2025-10-24 21:21:45
472
原创 关于华为EulerOS v2.0操作系统Ctrl-Alt-Del说明
文章摘要:Linux系统中Ctrl-Alt-Del组合键会直接重启,存在数据丢失风险,建议在安全手册中屏蔽该功能。通过检查ctrl-alt-del.target状态、修改systemd配置文件或删除相关软链接均可实现屏蔽。华为EulerOS v2.0因XEN驱动需求保留了相关文件,但通过内核级加固已屏蔽该功能响应。可使用showkey -s命令验证信号是否传递到内核。
2025-10-14 13:23:25
640
原创 普通用户执行ps兼容sudo和非sudo场景
文章摘要:针对Linux检查脚本中ps命令是否需要sudo权限的问题,作者提出了一种智能判断方案。通过一行命令(ps -ef | grep -qE '^[[:space:]]*root' && ps -ef || sudo ps -ef)自动检测系统权限情况:若能查看root进程则直接执行ps,否则自动添加sudo。该方案既兼容了需要sudo权限的加固系统,又满足普通系统的使用需求,避免了为不同环境维护多套脚本的困扰,成功解决了现场执行权限的两难问题。
2025-10-13 20:08:55
347
原创 关于Tomcat的页面后台管理默认设置
如何启用Tomcat管理控制台访问权限?1)在conf/tomcat-users.xml中添加用户角色:manager-gui用于ServerStatus和ManagerApp,admin-gui用于HostManager;2)修改webapps下manager和host-manager的context.xml文件,注释掉IP限制以允许远程访问。默认仅限本地访问,否则会报403错误。
2025-10-11 18:51:31
644
原创 安装mariadb后的mysql_secure_installation设置
本文介绍了在AnolisOS上安装MariaDB 10的简单方法,并重点分析了mysql_secure_installation命令的安全设置过程。安装只需执行dnf命令,启动服务后运行安全配置向导。文章指出,在新版本中交互选项的实际效果可能不同于预期:无论选择Y/n,都不会创建匿名用户、禁止root远程登录或生成测试数据库。通过SQL查询验证了这些安全特性已默认实现,展示了最终的安全配置状态和数据库版本信息。
2025-10-11 18:28:51
743
原创 安装Oracle Database 23ai Free
本文介绍了在Oracle Linux 8系统上使用RPM方式安装Oracle Database 23ai Free版的详细步骤。首先下载并安装oracle-database-preinstall-23ai预安装包,设置ORACLE_BASE目录权限,然后安装主程序包。安装完成后通过配置脚本创建数据库实例,设置管理员密码,并完成数据库初始化。文中还提供了客户端连接测试方法,包括本地sqlplus连接和验证数据库版本。文章强调该方法适用于试用环境,生产环境需参考官方文档,并指出了安装过程中可能遇到的ORACLE
2025-10-09 17:56:49
1296
原创 关于反向路径过滤参数(rp_filter)在Oracle RAC环境的加固情况说明
摘要:rp_filter参数用于Linux内核的反向路径过滤,设置为1可防止伪造数据包攻击,但在非对称路由下会失效。Oracle GI在多私有网络环境中需配置all.rp_filter=0,私有网卡.rp_filter=2,其他网卡.rp_filter=1。单实例环境仍需保持all.rp_filter=1。该设置影响数据包的路由验证,错误配置可能导致GI集群通信故障。
2025-10-09 11:36:18
1366
原创 关于shell中for循环读取字符串数组
文章摘要:本文讨论了Shell中遍历数组的几种方法及其注意事项。重点分析了IFS环境变量对字符串分割的影响(默认包含空格、制表符、换行符),比较了$get_ports、${get_ports[@]}和${get_ports[*]}三种遍历方式的区别。特别指出当变量定义为数组时,推荐使用for p in "${get_ports[@]}"方式以保证元素完整性。文章同时区分了字符串变量和数组变量的不同处理方式,最后通过端口号示例展示了正确用法。全文虽然涉及较多技术细节,但始终围绕数组遍历的核
2025-10-01 11:02:49
410
原创 关于RHEL(Redhat)、CentOS、RockyLinux、AlmaLinux这些Linux发行版的差异
本文分析了RHEL及其衍生版本的演变关系。CentOS(2004-2020)和Rocky/AlmaLinux均基于RHEL源码重新编译,与RHEL功能完全一致,区别仅在于商业支持。而OpenEuler/AnolisOS则存在核心差异。通过实际案例发现,CentOS不仅复制RHEL功能,连openssh-server的特定版本bug也完全复制,证实了RHEL=CentOS(仅支持方式不同)的本质。文章对比了各版本在商业模式、支持周期等方面的具体差异,指出RockyLinux将成为社区首选替代方案。
2025-09-28 19:08:56
1204
原创 复盘2025哈尔滨马拉松赛
摘要:此次马拉松以安全完赛为目标,虽未达预期成绩(355完赛),但整体顺利。赛前因熬夜导致准备不足,未赶上接驳车且心率偏高。比赛时天气适宜,补给充分,前半程配速合理,后半程为控制心率主动降速。赛后恢复较快,仅轻微酸疼两天。全文着重心态调整与安全策略,体现理性参赛态度。
2025-09-22 17:13:48
328
原创 2025最新大众马拉松选手等级标准
大众马拉松选手等级标准34岁以下35-39岁40-44岁45-49岁50-54岁55-59岁60-64岁65岁以上
2025-09-12 16:25:51
307
原创 Linux下提权root权限
摘要:本文总结了Linux系统中获取root权限的多种方法,包括使用su、sudo、ssh等常规方式,以及利用find、awk、python、less等命令的特殊提权技巧。每种方法都标注了前提条件、作用说明和补充说明,如需要root密码、sudo权限或SUID权限等。这些方法涵盖登录式和非登录式root shell访问,涉及环境变量继承问题。文章仅聚焦提权技术,未涉及防护措施,后续将补充相关防御内容。(149字)
2025-07-25 20:08:42
399
Eclipse 搭建C/C++开发环境 cdt-master-7.0.2
2012-03-15
jdbc4sqldeveloper.zip
2020-08-25
Linux常用命令全集 CHM
2012-11-28
探索式测试实践之路
2013-09-22
安装Citrix XenApp 5.0 For Windows Server 2003
2012-11-27
CIS_Kubernetes_V1.20_Benchmark_v1.0.0_PDF.pdf
2021-08-04
ESXi670-201912001.zip
2024-01-08
Nmap Network Scanning( The Official Nmap Project Guide )
2018-04-13
ModSecurity Handbook(使用手册)
2019-03-01
Spire.Pdf-FE_2.6.3.zip
2019-11-13
SecureCRT 9.0.0.2430
2021-03-08
VMware-ovftool-4.3.0-7948156-win.x86_64.zip
2019-11-13
HUAWEI Secoway USG9000 统一安全网关 V200R001C01 命令参考
2015-03-03
CIS_Red_Hat_Enterprise_Linux_8_Benchmark_v1.0.1.pdf
2021-08-04
ESXi670-201912001.zip
2020-09-28
SQLyog-13.0.1-0.x64Community
2018-05-24
宝德服务器X9系列IPMI用户指南
2018-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅