🚀公众号后台复【布道者】查看最新AI技术学习路线🚀Linux 高频常识陷阱
世界上有很多默认你 “应该早就知道”的 “常识陷阱”。
下面这 30 条就是 Linux 中 最高频的20% 的常识陷阱:
一、SSH / 远程(最高频)
- 远程运行
sudo 必须用 ssh -t,否则根据报错只能用sudo -S输入明文密码 - SSH 密钥不生效,99% 是权限问题(
~/.ssh 必须 700,密钥 600) - SSH 连接很慢,是因为 DNS 反向解析,关闭
UseDNS no 秒连 scp 不识别 ~、别名、bashrc 环境,路径必须写绝对路径
二、sudo / 权限
sudo 会重置环境变量,所以有些命令普通用户能用,sudo 反而找不到- 普通用户能写的文件/目录,
sudo 反而不能(SELinux / 属主 / 上下文) - 脚本里不能交互式输密码,要么免密、要么
ssh -t、要么 expect
三、文件 / 路径 / 通配符
- 运行当前目录脚本必须
./script,直接写文件名找不到 rm -rf /* 和 rm -rf ./* 差一个点,就是删系统 vs 删当前目录- 文件名带空格、特殊符号必须加引号或转义,否则命令直接乱套
四、文本 / 编码 / 换行
- Windows 编辑过的脚本在 Linux 报错
command not found,是 ^M 换行符问题 - 复制粘贴带来看不见的空白字符(零宽空格等),导致语法神秘报错
- 肉眼看着一样的字符,
grep 匹配不上,往往是不可见 Unicode
五、进程 / 后台 / 输出
- 终端一关进程就没,必须用
nohup / screen / tmux 脱离会话 - 命令输出大量内容到终端会巨慢,重定向到文件立刻变快
- 只加
& 后台不够,输入还绑在终端,容易暂停,要用 &>/dev/null &
六、网络 / 端口 / 防火墙
- 服务启动了但外部连不上,大概率是防火墙没放行端口或云平台安全组没开
- 服务监听
127.0.0.1,外部永远访问不了,必须改成 0.0.0.0 - 本机
curl 正常,浏览器/别的机器不行,是 DNS、代理或 hosts 问题
七、系统 / 磁盘 / 资源
- 磁盘显示满了,但
du 找不到大文件,是删除文件被进程占用未释放 - Linux 内存占满不一定是泄漏,大部分是 cache/buffer 正常占用
crontab 不加载用户环境,手动能跑的命令,定时任务经常失败
八、命令行行为
- Linux 严格大小写敏感,文件名、命令、配置项都区分
九、包管理 / 软件安装
- 安装完工具提示“command not found”,是
PATH 未刷新,需重新登录 - 很多常用软件不在默认源里,需要先装 EPEL 等扩展仓库
为什么会有这些常识陷阱
- 报错信息不会告诉你真正原因,只会告诉你关于它自身的现象
- 根据 UNIX 哲学,工具不会教你怎么用它,只会告诉你它“不开心”
- 老手所谓的“常识”,全是踩过的坑,但他们忘记了踩坑这件事
- 90% 的难题不是技术,是“没人告诉你,你就永远不会知道”