Linux 系统
共 111 篇文章
Bash 开启 pipefail 后,head 取首行使脚本以 141 退出
下游取首行提前关闭管道,上游继续写入可能收到 SIGPIPE;核对各段状态,有限输入改为完整消费,并保留真实错误与取消边界。
systemd 服务写入 /tmp 的文件在终端找不到
应用能读回自己写入 /tmp 的文件,服务器终端却找不到,可能是 systemd 的 PrivateTmp 隔离了临时目录。通过实际进程的目录视图定位文件,再把需要保留的结果迁移到专用状态目录。
sudo 重定向写文件报 Permission denied
sudo 命令后用 > 写入受保护文件仍报 Permission denied,是因为当前 shell 先打开重定向目标。区分 shell、sudo 和 tee 的错误,并按覆盖、追加或编辑配置选择写入方式。
SSH 远程命令报 sudo: no tty present:远端没有终端可供输入密码
SSH登录成功但远端sudo无法提示密码,按人工交互与无人值守区分终端分配、非交互失败和有限授权。
sort file > file 后文件变空:重定向先截断了输入
sort file > file 导致输入变空时,先保留现场和备份;改用独立输出,或在普通 GNU sort 模式使用 -o,并核对原地写入风险。
Linux umount 报 target is busy:当前终端还在挂载目录里
Linux 卸载报 target is busy,关闭原终端才成功时,检查 shell 工作目录及其他占用。区分普通卸载、lazy 分离和加密映射关闭,保留正常收尾与恢复边界。
rsync 报 file has vanished:退出码 24 与动态源文件
rsync 返回 24 并提示 file has vanished 时,确认动态源文件是否属于必须保留的数据;分开保存退出状态与日志,避免过滤管道掩盖其他错误。
systemd 覆盖 ExecStart 后报多条启动命令:drop-in 要先清空旧列表
systemd override 新增 ExecStart 会与原命令累积。用空赋值重置启动列表,检查加载状态并在维护窗口应用与恢复。
rsync --delete 发布时保留目标独有的 .well-known 目录
rsync 删除目标多余文件时,可用排除规则保留独立目录;若带 delete-excluded,需显式区分接收端保护与发送端隐藏,先预演再执行。
Bash 已开启 expand_aliases,同一行调用别名仍报 command not found
Bash 在读取命令时展开别名,同一行执行的 alias 定义来不及影响后续调用。通过独立输入行或函数修复,并区分复合命令与新 shell 的边界。
mkdir -p -m 700 后父目录权限仍是 755
mkdir 的 -m 只影响明确指定的新目录,自动补建父目录按 umask 处理。区分已有路径,使用受限掩码建立新目录树,并定向调整已审查目录。
systemctl enable 提示没有 installation config,服务仍未开机启用
无 Install 规则的静态单元可能由依赖或 timer、socket 激活。先确认启动入口;自己维护的开机服务再补 WantedBy 并显式启用,分别验证安装与运行状态。
rsync --files-from 报路径不存在:清单路径又被拼到源目录下
rsync 的 files-from 清单以源目录为根;修正重复前缀,先预演名单,再单独判断符号链接与递归范围,避免误覆盖。
Bash 写了 2>&1 仍漏掉错误日志:重定向顺序相反
Bash 从左向右处理重定向。2>&1 放在输出文件重定向之前,会让错误保留在旧目的地;用两路输出探针核对,并区分覆盖与追加。
logrotate 配了 size 仍不轮转:先核对程序何时运行
日志超出 size 阈值仍未轮转时,先核对 logrotate 的调用时间与配置入口,区分 size、maxsize、minsize,再调整现有调度并检查归档与活动日志。
SSH 报 .pub 文件权限过宽
SSH 报 .pub 文件 Permissions 0644 are too open 时,先确认公钥是否被当作本地私钥读取。核对 IdentityFile、真实私钥权限和 agent 身份,避免只改公钥权限后继续遇到认证失败。
find -mtime +1 漏掉一天前的文件:时间先按完整天数取整
GNU find 的 -mtime +1 匹配至少 48 小时前修改的文件。按完整时间段、明确截止点或日历日选择条件,先核对边界名单,再接回归档或清理任务。
GNU tar 追加 tar.gz 文件时报 Cannot update compressed archives
GNU tar 不能对压缩归档直接执行追加或更新。将完整输入合并为一次创建,或先收集未压缩归档再压缩,避免重复 -c 覆盖和误删源文件。
硬链接备份的 du 大小忽大忽小:先确定是否在同一次扫描中统计
多份硬链接备份一起运行 du 时,后面的目录可能很小;单独统计却变大。核对一次扫描的去重范围,区分集合总量、单份内容和重复计名。


