#Linux
共 121 篇文章
journalctl vacuum 后仍超过容量:清理只作用于归档日志
journalctl 清理后总占用仍超过 vacuum-size 时,区分活动与归档日志,核对范围,再按保留策略轮转清理和配置长期预算。
Bash 用 [ ! -a 文件 ] 判断不存在却总进入真分支
Bash 的三参数 test 优先把 -a 解析为逻辑与,使非空文件名不再接受存在性测试。改用 -e,并区分悬空链接和路径访问失败。
sed -i 后符号链接变成普通文件:原地编辑会替换路径
GNU sed -i 把符号链接换成普通文件时,核对链接与最终目标,按 --follow-symlinks 处理,并分别保留链接关系和目标内容备份。
rsync 经 SSH 报 protocol version mismatch:远端启动脚本输出污染协议
远端 Bash 启动脚本打印欢迎语时,rsync 的 SSH 协议流可能混入额外字节。用无输出命令定位,再把交互提示限制到交互 shell,保留远程任务需要的环境。
Linux SSH 报 Bad owner or permissions on ~/.ssh/config
Linux OpenSSH 报 Bad owner or permissions on ~/.ssh/config 时,检查本地配置的所有者和组写权限。针对实际文件修正,保留配置内容,并区分配置读取通过与远程认证成功。
Linux 文件监听报 ENOSPC
Linux 开发服务或编辑器报文件监听 ENOSPC。定位同一用户占用的 inotify 监听项,缩小监听范围,再按需调整上限;说明远端、容器构建、旧版 Backstage 的适用条件及回退。
systemd 读取 EnvironmentFile 后,路径仍包含 ${BASE} 字面量
EnvironmentFile中的路径含变量名时,区分systemd与shell解析。静态值写完整,动态组合集中到受控启动脚本。
tar 写了 --exclude 仍报 file changed as we read it:排除选项放在了输入后面
归档输出放在输入目录内,排除选项又放在输入参数后,GNU tar 会读到正在变化的归档目录。调整选项顺序与输出位置,并区分真实业务写入。
du -h 的结果用 sort -n 排序,52K 却排在 2G 后面
du -h 输出 K/M/G 后接 sort -n 排序错位,按 GNU human 排序或固定字节单位处理,保留统计范围、精度及读取错误。
Bash 路径变量含 ~/ 时,ls 报 No such file or directory
双引号里的波浪号保持字面值,变量展开不会重新解释路径语法。用 HOME 构造主目录路径,并保留参数引用和运行身份边界。
xargs -I 后 du 找不到已有文件:文件名前面的空格被丢掉
带前导空格的文件经 xargs -I 后报 No such file or directory 时,检查名称是否在输入解析阶段被改写,再用 NUL 分隔和 GNU du 单次统计保留路径及总计。
Bash 总是执行已删除的旧路径:清除当前 shell 命令缓存
工具迁移后 Bash 仍执行已删除的旧路径时,检查同一 shell 的 hash 记录和 PATH,定点或整体清除缓存,再排除别名、函数及加载器错误。
Linux chown 改了符号链接目标,链接所有者仍未变化
GNU chown 非递归操作默认修改符号链接目标。用 stat 分别确认两者属性,使用 chown -h 修改链接,并单独处理此前误改目标的恢复。
awk 设置 OFS 后,print $0 仍保留原来的分隔符
GNU awk 的 OFS 不会主动改写整条输入记录。区分 print $0 与多个字段输出,通过字段赋值触发重建,并核对空字段、排版丢失和下游分隔规则。
Bash printf 打印 -- 时只显示 usage
Bash printf 把首个 -- 作为选项结束标记,后面缺少格式便显示用法。用固定的 %s 格式传递文本,并区分选项分隔、格式解析和是否追加换行。
Bash 脚本给 UID 赋值时报 readonly variable
Bash 的 UID 是只读用户 ID 变量。导入脚本应把业务账户字段改成独立变量名,同步修改引用,并检查实际执行入口。
Docker API 内存用量比 docker stats 显示值高
Linux Docker CLI 会扣除特定文件缓存项,API保留原始总量。按客户端版本与 cgroup 对齐公式,保留单位、采样时间和告警阈值边界。
crontab 日期命令报 unexpected EOF
带 date 日期格式的命令在终端正常,放进 crontab 却报 unexpected EOF。未转义的百分号可能让 cron 提前截断命令;逐个转义,或把日期与日志重定向一起移入脚本。
开机后 apt update 报锁被占用:确认后台更新是否仍在运行
Ubuntu 开机后 apt update 报锁被占用时,核对持有进程、自动更新服务和日志,正常等待或受控恢复,再处理维护窗口与调度,不删除锁文件。


