- 博客(303)
- 资源 (3)
- 收藏
- 关注
原创 tr命令用法详解与技巧总结
(translate)是Linux/Unix中用于字符级转换、删除和压缩的流处理工具。它设计简洁高效,特别适合在管道中与其他命令配合使用。下面是它的核心功能与语法概览: 的强大之处在于灵活的字符集定义:范围表示:(小写字母), , 。组合与枚举:(小写字母和数字), (特定字符)。预定义字符类(更可读、可移植):特殊字符转义:用 (换行)、(水平制表符)、(回车)等表示控制字符。这是最基本的功能,将字符集1中的字符一对一替换为字符集2中的对应字符。基本替换: 输出 (e->i, l->p)。大小写转换:
2026-01-01 18:23:50
341
原创 split命令用法详解
split 命令是一个用于的实用工具,主要作用是将一个大文件拆分成多个较小的文件。它可以根据文件大小、行数或特定模式进行分割。
2026-01-01 17:38:13
305
原创 cut命令详解
cut命令是一个高效简单的文本处理工具,特别适合:处理结构化文本数据从日志文件中提取特定字段快速查看文件的特定列与其他命令组合进行数据处理对于更复杂的文本处理需求(如正则表达式、条件判断、计算等),建议使用awk或sed。
2026-01-01 16:50:19
217
原创 join命令使用指南与技巧
join命令用于基于,将两个已排序文本文件中的对应行合并,其功能和SQL中的JOIN操作非常相似。如果连接过程出现问题,最常见的原因就是。
2026-01-01 16:20:39
258
原创 uniq 命令完整用法详解
uniq用于从已排序的输入中检测和删除重复行。注意:它只能处理相邻的重复行,因此通常先使用sort。uniq高效处理文本数据进行复杂的数据分析清理和整理数据发现数据中的模式总是先排序(除非你知道数据已排序)理解字段和字符跳过的区别根据需求选择合适的显示模式对于超大文件,考虑使用替代方案通过组合不同的选项,uniq可以解决从简单去重到复杂数据分析的多种问题。
2026-01-01 16:07:58
570
原创 sort命令完全指南
混合排序:第1字段数值,第2字段字典序# 反向特定字段# 指定排序选项在键定义中sort -k2,2rn -k3,3 data.txt # 第2字段数值降序# 使用多个字符作为分隔符# 按自定义顺序排序(如优先级:High > Medium > Low)awk '{灵活性:支持多字段、多规则排序性能:优化算法,支持大文件处理功能丰富:去重、合并、检查等一体化最佳实践建议处理数字时总是使用-n选项处理人类可读大小(如1K、2M)使用-h指定字段时使用完整的格式。
2026-01-01 15:25:54
629
原创 awk函数详解与使用技巧
这些非字符串函数让awk成为一个强大的数据处理工具,特别适合数值计算、时间处理、统计分析等任务。掌握这些函数可以大大提高awk脚本的处理能力。这是一个内置变量,用于数组下标分隔符,默认值是"\034"。在将数组转换为字符串时使用。
2025-12-31 16:35:06
250
原创 定时器函数g_timeout_add_seconds使用详解
是 GLib 库中的一个函数,用于在指定秒数后执行回调函数。它是 GTK+/GLib 应用程序中常用的定时器函数。
2025-12-29 09:52:58
232
原创 std::ifstream::gcount 详解
是 C++ 标准库中 类的成员函数,用于返回上一次非格式化读取操作(如 、)成功读取的字节数。以下是其核心特性和使用场景:验证读取完整性 当读取文件时,若需确保读取到预期字节数(如 ELF 文件头验证),可结合 检查实际读取量: 处理文件末尾 当读取到文件末尾时, 返回实际读取的字节数(可能小于请求量):二进制文件解析在解析二进制文件(如 ELF 头)时, 确保读取到完整头部:注意事项 状态检查: 仅返回字节数,不反映流状态(如 、)。需结合 或 进
2025-12-11 11:35:57
235
原创 CPU亲和性系统调用sched_setaffinity详解
是一个用于设置进程或线程的的系统调用,它允许将特定的进程或线程绑定到一个或多个 CPU 核心上运行。
2025-11-24 16:22:57
201
原创 Shell脚本中wait命令详解
wait命令是Shell脚本中实现进程同步的重要工具,特别适用于:并行任务处理资源协调批量操作等待获取子进程执行结果合理使用wait可以大大提高脚本的效率和可靠性。
2025-11-22 13:11:21
207
转载 第 7 章 Debian 软件包管理系统基础
软件包通常包括了实现一组互相关联的命令或功能所需要的一切文件。Debian 软件包有两种类型:二进制包,包含了可执行文件、配置文件、man/info 页面、版权信息,以及其他文档。这些软件包使用一种 Debian 特有的存储格式进行分发(参见第 7.2 节 “Debian 二进制软件包的格式是什么?它们的扩展名通常是“.deb”。二进制包可以使用 Debian 的dpkg工具进行解包(也许会通过apt等前端进行调用);更多细节请阅读手册页。源码包,包含了一个.dsc。
2025-11-19 14:59:14
37
原创 mksquashfs与tar使用xz压缩算法差异解析
tar.xz 是在打包后对整个文件流进行压缩,而 mksquashfs 则是先将文件系统结构化,然后对一个个小数据块进行压缩。
2025-11-19 10:09:45
646
原创 GTask异步操作管理与使用指南
GTask 的核心优势在于它统一并简化了 GLib/GIO 中异步操作的处理模式。通过它,你可以更轻松地编写出清晰、可维护的异步代码,并高效地处理任务的取消和结果传递。
2025-11-15 19:01:31
661
转载 Linux性能调优:一文讲清内存问题的排查方法,建议收藏便于查阅
从前面几篇文章,我们已经谈了内存的原理、swap的使用、缓存的类型,还有如果内存发生泄漏应该使用什么工具来排查,现在已经对内存有了基础的认识。如果在工作学习中遇到了内存问题,应该怎么排查或者从哪里入手呢,这边文章就主要谈一下内存问题的排查思路。Linux性能调优:关于内存Linux性能调优:为什么swap升高了Linux性能调优:理解内存中的缓存Linux性能调优:如何快速定位处理内存泄漏?Linux性能调优:内存分析工具memleak-bpfcc和valgrind的详细用法。
2025-11-12 11:23:06
49
转载 Linux性能调优:深入理解文件系统和磁盘
在Linux性能调优这一个系列中,前几篇文章主要介绍了内存的相关知识以及如何调优,下面几篇主要谈一下磁盘IO性能的各个方面。
2025-11-12 10:54:51
37
转载 Linux Bash的Shell扩展机制
理解Shell扩展的顺序和引用规则,是编写正确、高效、安全的Shell 脚本的基石。扩展类型语法示例作用是否受引号影响大括号扩展生成字符串序列单/双引号均阻止波浪号扩展~, ~user扩展为用户家目录单/双引号均阻止参数/变量扩展{var}替换为变量值双引号允许,单引号阻止命令替换替换为命令输出双引号允许,单引号阻止算术扩展$((expr))替换为算术结果双引号允许,单引号阻止单词分割(基于 $IFS)将未引用的扩展结果分割单/双引号均阻止文件名扩展*,?
2025-11-11 18:21:13
47
转载 Linux 通过 shift 解析命令行参数
shift是Bash的内建命令,用于向左移动位置参数,重新分配$1$2$3... 等变量的值。它是处理命令行参数的核心工具。
2025-11-11 18:18:05
18
转载 Linux 理解 find . -exec ... {} \; 运行机制
当我们使用-exec手册中提到命令必须以;或结束。;需要转义(写成或),而则不需要转义。1. 使用 \;:每次找到一个匹配文件就执行一次命令。:将尽可能多的匹配文件作为参数一次性传递给命令,类似于xargs。这极大地提升了效率,因为减少了进程的启动次数。
2025-11-11 18:13:21
40
转载 Linux find 命令入门
find命令递归地遍历目录树,并对遍历到的每一个文件或目录执行给定的测试(Tests)和动作(Actions)。概括下:遍历目录树,对每一个目录或文件进行指定的条件测试,都为真(True)的情况下再执行相应动作。: 指定开始搜索的目录。可以是一个(如 /home),也可以是多个(如 /home /var/log)。注意:find 将会递归地遍历目录, 可以使用-maxdepth指定遍历深度。: 这是 find 命令的灵魂。可指定选项测试条件和动作。默认动作(action)是-print。
2025-11-11 18:02:39
35
转载 Linux 管道与命令行参数之间的桥梁 xargs
默认情况下,xargs 将换行符和空格作为分隔符,把标准输入分解成一个个命令行参数。/bin/echo one two three # 这一行输出的是构造的命令one two three # 这是命令的结果现在使用-d选项可以更改分隔符。/bin/echo a b c # 这一行输出的是构造的命令a b c # 这是命令的结果特别地,macOS 下的 xargs 没有此选项# macOS下的替代方案-nxargs。
2025-11-11 17:45:34
35
转载 Linux 理解 exec 3<&0 运行机制
这意味着如果你的当前 Shell 是一个登录会话,执行 exec ls 后,显示完 ls 的结果,你的终端窗口或会话会直接关闭,因为承载它的 Shell 进程已经变成了 ls 并且 ls 执行完毕了。当 exec 后面不跟任何命令,只跟文件重定向操作时,它的作用就是改变当前 Shell 进程的文件描述符。新命令的进程 PID 与原来的 Shell 相同。使用 exec 可以打开、关闭、复制这些文件描述符,并且这个效果是永久性的,会影响后续在该 Shell 或脚本中运行的所有命令。该命令有两种使用方式。
2025-11-11 15:40:35
203
原创 shell脚本中eval set -- “$fakechroot_opts“的意思
eval是一个Shell内置命令,其核心机制是双重扫描(double scan)。它首先将其参数拼接成一个字符串,然后让Shell对这个字符串进行第二次解析和执行。这意味着,如果参数字符串中包含变量(如$fakechroot_opts)、命令替换或特殊字符,eval会先对这些内容进行解析和替换,然后再将最终得到的字符串作为完整的Shell命令来执行。
2025-10-30 10:32:07
168
原创 dpkg-deb的作用和用法
dpkg-deb 是 Debian 及其衍生系统(如 Ubuntu)中用于管理 .deb 软件包文件的命令行工具,专注于软件包本身的处理而非系统安装。
2025-10-29 14:08:36
283
原创 Qt的.pro文件中INSTALLS的作用和用法
INSTALLS 机制是 Qt 项目中管理文件部署的有效工具。通过在 .pro 文件中清晰定义文件来源和目标路径,并配置好构建步骤,就能实现构建后文件的自动部署,极大提升开发和部署效率。
2025-10-28 16:16:31
1056
原创 QMAKE_POST_LINK的作用和用法
QMAKE_POST_LINK 是 qmake 构建系统中的一个特殊变量,用于在链接步骤完成后执行自定义命令。它允许开发者在可执行文件或库文件生成后立即执行一些后续操作。
2025-10-28 15:25:06
274
原创 vscode调试c++程序,为什么std::string无法显示值?
在 VS Code 中调试 C++ 程序时,std::string 无法正常显示值,通常不是因为缺少插件,而是调试器 (GDB 或 LLDB) 没有启用对 STL 数据结构的"友好打印" (pretty-printing) 功能。
2025-10-17 15:57:06
856
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅