先用 git filter-repo 重写提交,但要先轮换泄露的密钥——filter-branch 已弃用,仅重写历史并不能撤销泄露。
博客
CliAI 博客
关于 CliAI 生态的最新动态、深度文章与教程。
-
2026-06-01
从 git 历史中删除密码
-
2026-05-29
SSH 退出后让命令继续在后台运行
nohup 适合提前计划好的情况,disown 补救已经启动却忘了 nohup 的进程,tmux、setsid 和 systemd-run 按需覆盖其余场景。
-
2026-05-27
kill -9 不管用?进程为什么还杀不死
kill -9 对僵尸进程、D 状态进程和被 supervisor 重启的进程都没用。三种情况怎么区分,怎么真正杀掉进程。
-
2026-05-25
用 jq 在命令行过滤 JSON
jq '.field' 取出一个值;-r 去掉引号,select() 按条件过滤,@csv 把 API 响应变成表格行。
-
2026-05-22
哪个文件夹在吃掉磁盘空间?用 du 按大小排序
du -h --max-depth=1 | sort -rh,然后逐层深入。再加上 -x 参数,避免 du 把其他文件系统也算进你的结果里。
-
2026-05-20
df 说磁盘满了,du 说没满,谁对?
都对。空间被那些已删除但仍被进程打开的文件占着,或者耗尽的是 inode 而不是字节。四条命令分清是哪一种。
-
2026-05-18
自然语言转 shell 命令:到底是怎么工作的
用一句话描述任务,拿回准确的命令,读一遍再执行。这类工具能做什么、在哪里会翻车,以及它和 AI 编码智能体的区别。
-
2026-05-15
sed -i 在 Mac 上用不了?BSD 与 GNU 的差异
报错 invalid command code 说明 macOS 自带的是 BSD 工具而非 GNU。六处会让 Linux 脚本在 Mac 上崩掉的参数差异,以及各自的修法。
-
2026-05-13
Docker吃光了你的磁盘:如何把空间要回来
先用 docker system df 查看,再决定是否 prune。每种 prune 到底删除了什么、为什么卷默认会被保留,以及如何避免删掉你还需要的镜像。
-
2026-05-10
撤销上一次 git 提交但保留改动
如果还没 push,用 git reset --soft HEAD~1;如果已经 push,用 git revert。soft、mixed、hard 的区别,以及选错时 reflog 如何帮你找回。
-
2026-05-08
找出内存持续增长的进程
内存泄漏不是占用高,而是内存永远降不下来。用 pidstat 随时间采样 RSS,用 pmap 确认,区分泄漏和缓存。
-
2026-05-06
用 awk 打印 CSV 的某一列(以及何时不该用)
awk -F, '{print $2}' 通常好用,但如果某个字段的引号里藏着逗号,后面所有列就会错位,合计也会悄悄算错。