首页
热点话题
全栈
开发工具
经典语录
前端技术
后端技术
智能体
搜索
登录
搜索
一笑痕
人生若只如初见,
是可喜亦或者是可悲?
累计撰写
259
篇文章
累计收到
7
条评论
首页
热点话题
全栈
开发工具
经典语录
前端技术
后端技术
智能体
包含标签 【命令行】 的文章
2026-10-27
git stash --keep-index 留下暂存区,也藏起暂存改动
暂存了一部分修改后,执行 git stash push --keep-index 会让哪些内容留在工作区?在两个临时仓库里对照默认 stash 与该选项,区分工作区保留状态和 stash 实际保存的内容。
2026年-10月-27日
37 阅读
0 评论
开发工具
2026-10-24
macOS 与 GNU 的 stat 参数不通用
macOS 自带的 BSD stat 与 GNU stat 接受不同的格式选项。用临时文件实测后,说明 -f 与 -c 各自的含义,以及脚本如何避免把一边的语法带到另一边。
2026年-10月-24日
45 阅读
0 评论
开发工具
2026-10-22
Makefile 里已有 build 文件,为什么配方没跑
make 用目标文件的存在状态和时间戳判断是否需要执行配方。目标若只是动作名,却碰巧和磁盘文件同名,配方可能被跳过;本机 GNU Make 实测了普通目标与 .PHONY 的区别。
2026年-10月-22日
49 阅读
0 评论
开发工具
2026-10-13
源目录末尾少一个斜杠,rsync 就多建一层目录
同一个源目录,命令里只改一处写法,同步到目标里的目录树就不是同一棵。尾部斜杠、--delete 开关、-a 与 -r、--exclude 的匹配口径,逐处跑一遍,find 的原样输出贴在下面。
2026年-10月-13日
62 阅读
0 评论
开发工具
2026-10-11
文件名带空格,xargs 把它拆成了两个
一个清理脚本在别的目录少删了几个文件,目录里多了带空格的名字。把 macOS 自带 xargs 的 man 页逐条对着实测看:默认分隔符是空格和换行,-0 要配 find -print0,-I 每行起一次命令,-r 在本机是什么都不做的兼容开关。
2026年-10月-11日
54 阅读
0 评论
开发工具
2026-10-8
xz -1 比 gzip -9 又快又小,档位高不一定划算
同一份 19.4 MiB 英文词表,把 gzip、bzip2、xz、zstd 的十档各压三遍再各解三遍,记下压缩后字节与两段耗时。xz 高档压到 6.8% 要 4 秒,gzip 的 -9 比 -6 慢五倍体积只少 2738 字节,bzip2 解压慢一个量级。
2026年-10月-8日
63 阅读
0 评论
开发工具
2026-10-7
管道里的 while 循环,为什么改不动外面的变量
逐行计数用管道接 while,循环里每行都加了一,循环外读到的却是 0。原因是管道两端各起一个进程,循环在第一段之外的子 shell 里跑。附重定向、进程替换、zsh 三种写法的实测对比,以及 $$ 为什么判断不了这件事。
2026年-10月-7日
63 阅读
0 评论
开发工具
2026-9-27
同一棵树,grep -r 命中 3 行,rg -L 命中 7 行
一份配置文件通过软链挂进目录树,grep -r 在里面搜不到它。macOS 自带的 BSD grep 拿 -r 和 -R 当同一个开关,要跟随符号链接得补一个 -S,而且必须是 -rS 连用,单给 -S 是 0 行。find 与 ripgrep 的默认值也在同一件事上,手册原文一并摆出来。
2026年-9月-27日
85 阅读
0 评论
开发工具
2026-9-24
grep 没匹配到内容时退出码是 1,脚本 set -e 会直接中断
grep 无匹配返回 1,文件不存在返回 2,两者可区分。但 1 在 set -e 下会终止脚本,管道下游还会把真实退出码改成 0,要拿回来得靠 PIPESTATUS。
2026年-9月-24日
103 阅读
0 评论
开发工具
2026-9-21
别把 sed -i 的后缀省掉,文件名会被当脚本读
跨平台脚本里的 sed -i 在 macOS 上直接报错退出,文件没改动。从报错原文、man 页的 SYNOPSIS 到可移植的封装函数,四步实测都在本机跑过,GNU 侧的差异标注了未实测。
2026年-9月-21日
105 阅读
0 评论
开发工具
2026-9-20
怪文件名面前,只有两种批量写法一个不漏
造 11 个名字里带空格、引号、反斜杠、通配符、制表符和换行的文件,用五种常见写法去批量处理,只有 find -print0 配 xargs -0 和 find -exec 加号这两种一个不漏,管道接 xargs 那种遇到一个不配对的引号会整批放弃。
2026年-9月-20日
101 阅读
0 评论
开发工具
2026-9-17
jq 里用 // 兜空值,false 会被吃掉
语法没错、退出码正常、结果却不对的 jq 写法最容易留在脚本里。五个反例都在本机 jq-1.7.1 上跑过:空值兜底会吃掉 false、--arg 传进来的永远是字符串、大整数参与运算才掉精度、. 遇 null 直接中断、-e 的退出码会静默打断 shell 脚本。
2026年-9月-17日
105 阅读
0 评论
开发工具
2026-9-16
压得最小的是 bzip2,解压慢 18 倍
一份 12 MiB 访问日志和一份 4 MiB JSON 记录,把 gzip 与 bzip2 加 xz、zstd、brotli 的 14 个档位各跑一遍,记下体积、压缩耗时、解压耗时这三列数字怎么选。
2026年-9月-16日
109 阅读
0 评论
开发工具
2026-9-15
rg 搜不到不是文件的问题,先问是哪条规则挡的
同一棵目录,rg 只看到 3 个文件,grep -r 看到 7 个。差的是哪一层规则、每个开关各自放行什么,以及 .gitignore 在没有 git 仓库的目录里为什么形同虚设。
2026年-9月-15日
121 阅读
0 评论
开发工具