当前位置:首页>Linux>这 9 个 Linux“暗黑技巧”,救过我不止一次

这 9 个 Linux“暗黑技巧”,救过我不止一次

  • 2026-08-26 01:41:08
这 9 个 Linux“暗黑技巧”,救过我不止一次

任何人都能在 Linux 上浏览文件。

但真正的系统工程师,
能在凌晨三点:

  • • 操纵进程内存
  • • 找回“已经被删除”的文件
  • • 在磁盘 100% 满载时,硬生生挤出空间

这些不是命令清单。
这是生存工具。

下面这 9 个高级 Linux 技巧,
会把你从“会用终端的人”,
推向“能救系统的人”。


1️⃣ 幽灵猎杀:找出“已删除却还在占空间”的文件(lsof)

场景:
df -h 显示磁盘 100% 满了,
你刚刚删了好几个 G 的日志。

空间却一点没回来。

原因很简单:
某个进程(比如 Nginx、Postgres)
还在写那个你已经删除的文件。

inode 还被占着,空间不会释放。
这就是“僵尸文件”。

解决方式:

lsof +L1

你会看到:

  • • 标记为 (deleted)
  • • 但仍然被某个 PID 占用的文件

必须重启或 reload 对应进程,
空间才会真正释放。


2️⃣ 时间倒流:把正在跑的进程塞进 screen/tmux(reptyr)

场景:
你跑了一个脚本,已经跑了 4 小时。
然后你发现:

“糟了,我没进 screen / tmux。”

你必须断开 SSH。
一断开,进程就会死。

解决方式:
用 reptyr偷走这个进程,
把它重新挂到一个 screen/tmux 里。

# 1. 挂起进程
Ctrl+Z

# 2. 后台运行

bg


# 3. 从当前 shell 脱离

disown
 <PID>

# 4. 新开 screen / tmux,把进程拉进来

reptyr <PID>

这是那种
只要救成功一次,你就会永远记住的工具。


3️⃣ X 光机:不靠日志调试进程(strace)

场景:
进程卡住了。

  • • 没 CPU
  • • 没日志
  • • 看起来什么都没发生

你不知道它在干嘛。

别猜。直接看内核。

strace -p <PID>

你会实时看到:

  • • open()
  • • read()
  • • connect()
  • • poll()

这不是调试工具。
这是终极审讯手段。


4️⃣ 配置间谍:读取正在运行进程的环境变量(/proc)

场景:
开发说:

“我这边是好的。”

生产却连不上数据库。

你怀疑:
环境变量错了。

不用重启,不用猜。

cat /proc/<PID>/environ | tr '\0' '\n'

你会看到:

  • • DB 密码
  • • API Key
  • • 启动时注入的所有变量

这是直接从进程内存里读真相。


5️⃣ 紧急按钮:瞬间给 Root 腾出磁盘空间(tune2fs)

场景:
生产宕机。
磁盘 100% 满。
你连 Tab 补全都用不了。

Linux 默认会为 root 保留 5% 磁盘空间。
这是救命绳。

你可以在紧急时刻把它释放出来:

tune2fs -m 0 /dev/sdX

立刻获得几个 G 的空间。

⚠️ 记住:
清理完之后,一定要把它设回 5%。


6️⃣ SSH 涡轮模式:连接复用(ControlMaster)

场景:

  • • Ansible 很慢
  • • 多个 SSH 标签页
  • • 每次都在做密钥交换

解决方式:
启用 SSH 连接复用。

# ~/.ssh/config
Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h-%p
    ControlPersist 600

第一次连接负责认证。
之后的连接,直接走已有通道。

你会明显感觉到:
SSH “突然变快了”。


7️⃣ 秒级修错:^old^new

场景:

systemctl restart nginxx

你打错了一个字母。

别 ↑,别重敲。

^nginxx^nginx

Bash 会自动执行:

systemctl restart nginx

这是手速和自尊的双重拯救。


8️⃣ 现代网络分析:ss(netstat 已死)

场景:
你还在用 netstat。

问题是:

  • • 它慢
  • • 它输出被截断
  • • 它已经被弃用

正确工具是:

ss -tulpn

参数含义:

  • • -t TCP
  • • -u UDP
  • • -l 监听
  • • -p 进程
  • • -n 数字显示

直接从内核拿数据,快得离谱。


9️⃣ 肌肉记忆级技巧:sudo !! 和 !$

  • • sudo !!
    刚敲完命令才发现忘了 sudo。
    sudo !!
  • • !$
    使用上一个命令的最后一个参数。
    mkdir -p /var/www/html/project/v2
    cd
     !$

这些不是技巧。
这是长期使用 Linux 后自然长出来的反射动作。


结语

这些东西不是为了炫耀。

它们存在的意义是:
当标准工具失效时,你还有路可走。

当你真正掌握这些之后,
终端不再是一块黑屏。

它会变成——
你思维的延伸。

你最常用的是哪一个?
或者,有没有哪次生产事故,是它救了你?

评论区见。

最新文章

随机文章