Linux 系统
共 111 篇文章
GNU sort -g 在小数逗号环境中把科学计数值排错
点小数的科学计数值与 LC_NUMERIC 的小数逗号规则不一致时,sort -g 可能只读到整数前缀。用命令级 C locale 排序,并核对列号和浮点精度边界。
cut 按空格取第二列时,连续空格让结果变成空行
cut 以单个空格分隔时,相邻空格之间的空字段也占列号。对空格和 Tab 对齐的文本使用 awk 默认分割,并检查缺失列和原样输出行的差异。
Linux 用 cp 覆盖运行中的程序时报 Text file busy
Linux 用 cp 覆盖运行中的程序报 Text file busy 时,检查实际执行映像;安排正常停机安装,或按同挂载点原子替换流程发布,再核对运行版本。
脚本写了 #!/bin/bash,运行仍报 Bad substitution:检查是否用 sh 启动
Bash脚本首行正确仍报Bad substitution时,检查是否由sh读取,修正真实任务入口并保留合适执行权限。
ln -s 已创建链接,打开却报 No such file or directory:相对路径基于链接目录
ln -s 跨目录创建后目标不存在,按链接父目录解释相对路径;GNU -r 自动生成时保留路径规范化和不覆盖已有文件条件。
find 两个名称加 -print 后漏结果:OR 分支没有共享输出动作
find 的隐式 AND 优先于 OR,左侧匹配后可能跳过右侧 -print。为名称条件分组,让类型约束与输出动作覆盖两个分支,并区分显式动作和默认打印。
systemd 把日志格式中的 %u、%t 改成了用户名和运行目录
systemd unit 的 Environment 和 ExecStart 会处理百分号 specifier;需要交给应用的字面百分号写成双百分号,并分别验证加载配置与应用输出。
systemd 隐藏了服务用户的家目录:用 ProtectHome=tmpfs 配置窄范围访问
服务账户能在终端访问自己的家目录,systemd 却启动失败时,检查 ProtectHome 的挂载视图,再用 tmpfs 与窄范围只读绑定配置所需路径。
systemd ExecStart 写了管道和 tee,日志文件却没有创建
ExecStart 直接写 | tee 不会启动 shell 管道。根据日志去向改用 journal 或有版本条件的 append 输出,核对用户服务范围、权限、覆盖文件和重启后的记录。
sudo -u postgres psql 报 command not found,切换用户登录后却能运行
sudo切换postgres身份找不到psql,检查secure_path与客户端完整路径,避免用sudo echo判断或取消全局路径策略。
grep -I 仍提示 Binary file matches:检查编码与 NUL 判断
GNU grep 使用 -I 仍提示 Binary file matches 时,区分 NUL 与 locale 编码判断,按字节搜索或受控文本输出,保留原始数据。


