100个Linux救命命令速查手册:从删库到跑路?不存在的!
2025-08-18 09:13:28
RAIZ
在Linux运维和开发的征途上,谁没遇到过几个“心跳骤停”的瞬间?误删关键文件、服务莫名宕机、磁盘空间告罄、网络突然失联...“删库跑路”的段子背后,是对系统掌控力的考验。别慌!这份 “救命命令速查手册” 集结了100个关键时刻能拉你一把的Linux命令和技巧。它们不是日常花拳绣腿,而是真正能在系统“危难之际”帮你诊断、恢复、止损的利器。记住:沉着冷静 + 正确工具 = 化险为夷。跑路?不存在的!
一、 系统状态与进程急救
1. top
/htop
(增强版): 实时监控系统资源(CPU、内存、进程)的“总指挥台”。 快速定位哪个进程吃光了CPU或内存 (P
按CPU排序,M
按内存排序,htop
交互更友好)。救命第一眼!2. uptime
: 查看系统运行时间、负载平均值。 快速判断系统是否刚启动或已长时间高负载。3. free -h
/free -m
: 清晰查看内存(RAM)和交换空间(Swap)使用情况 (-h
人类可读格式)。 判断是否内存耗尽导致卡顿或OOM。4. df -h
/df -i
: 查看磁盘空间使用 (-h
) 和Inode使用 (-i
) 情况。 快速定位是空间不足(No space left on device
)还是inode耗尽(No space left on device
但df -h
显示有空间)导致问题。5. du -sh [目录]
/du -h --max-depth=1 [目录]
: 定位大文件/大目录。 当磁盘满时,快速找出“罪魁祸首”。6. ps aux
/ps -ef
: 查看系统所有进程快照。 结合grep
查找特定进程 (ps aux | grep nginx
)。7. pstree -p
: 以树状结构显示进程及其父子关系。 更直观理解进程关系。8. pidof [进程名]
/pgrep [进程名]
: 快速获取指定进程名的PID。9. kill [PID]
: 向指定PID进程发送TERM(15)信号,请求正常终止。 最常用。10. kill -9 [PID]
: 向指定PID进程发送KILL(9)信号,强制终止。 对付顽固不化、无响应的进程,慎用! 可能导致数据不一致。11. killall [进程名]
: 终止所有指定名称的进程。12. pkill [模式]
: 根据进程名或其他属性终止进程 (e.g.,pkill -f "python my_script.py"
)。13. nice
/renice
: 调整进程优先级 (nice
启动时,renice
运行时)。 在资源紧张时,降低非关键进程优先级保核心。14. systemctl status [服务名]
: (Systemd系统) 查看服务的详细状态、日志片段。 诊断服务失败的首步。15. systemctl start/stop/restart [服务名]
: (Systemd系统) 启动/停止/重启服务。16. systemctl enable/disable [服务名]
: (Systemd系统) 设置/取消服务开机自启。17. journalctl -u [服务名]
: (Systemd系统) 查看特定服务的完整日志。 故障排查金钥匙 (-f
实时跟踪,--since today
查看今天日志)。18. service [服务名] status/start/stop/restart
: (SysVinit系统) 服务管理命令。19. /etc/init.d/[服务名] status/start/stop/restart
: (SysVinit系统) 另一种服务管理方式。20. dmesg | tail
/dmesg -T
/dmesg -w
: 查看内核环形缓冲区消息。 诊断硬件问题(磁盘错误、网卡驱动加载失败)、OOM Killer杀进程记录等关键救命信息 (-T
显示时间戳,-w
实时监控)。21. sar
(sysstat包): 收集、报告系统活动历史数据(CPU, 内存, 磁盘, 网络等)。 分析过去某时段性能瓶颈的利器。需要预先安装配置。22. vmstat [间隔] [次数]
: 报告虚拟内存统计信息(进程、内存、分页、块IO、CPU等)。 快速了解系统整体负载和瓶颈点。23. iostat [间隔] [次数]
(sysstat包): 监控系统磁盘IO和CPU使用情况。 定位磁盘性能瓶颈。24. mpstat -P ALL [间隔] [次数]
(sysstat包): 报告每个CPU或所有CPU的统计信息。 看CPU负载是否均衡。25. lsof
: 列出当前系统打开的文件。 救命神技! 用途极广:
• lsof /path/to/file
:谁在使用这个文件/目录?(无法卸载/删除时)• lsof -i :[端口号]
:哪个进程在监听这个端口?• lsof -p [PID]
:查看特定进程打开的所有文件。• lsof +D /path/to/dir
:递归列出目录下被打开的文件。
二、 网络诊断与连通性恢复
26. ping [主机/IP]
: 测试与目标主机的网络连通性(ICMP协议)。 最基础网络检查。27. traceroute [主机/IP]
/tracepath [主机/IP]
: 追踪数据包到达目标主机经过的网络路径(路由)。 诊断网络中断位置。tracepath
无需root。28. mtr [主机/IP]
:ping
+traceroute
的实时组合工具。 持续监测路由和丢包情况,诊断网络抖动更佳。29. ip addr show
/ifconfig
(较旧): 查看网络接口配置(IP地址、MAC地址、状态)。 确认网卡是否UP、IP是否正确。30. ip route show
/route -n
: 查看系统路由表。 确认网关、路由规则是否正确。31. ss -tulnp
/netstat -tulnp
(较旧): 查看监听端口 (-l
)、TCP/UDP连接 (-t
/-u
)、进程PID/名称 (-p
)、不解析主机名 (-n
)。 救命高频! 快速定位端口占用 (ss -tulnp | grep :80
)。32. dig [域名]
/nslookup [域名]
: DNS 查询工具。 诊断域名解析问题 (+trace
可跟踪解析过程)。33. host [域名]
: 简单的 DNS 查询工具。34. whois [域名/IP]
: 查询域名或IP的注册信息。 有时用于排查网络问题归属。35. hostname
/hostnamectl
(Systemd): 查看或设置系统主机名。36. nmap [目标]
: 强大的网络扫描器。 用于安全审计或排查本机/网络开放端口 (nmap localhost
)。注意:扫描他人网络需授权!37. tcpdump -i [接口] [过滤表达式]
: 网络抓包分析利器。 诊断复杂网络问题(连接失败、丢包、协议错误)的终极手段。需要掌握过滤表达式(如tcpdump -i eth0 host 192.168.1.100 and port 80
)。38. wireshark
: 图形化网络协议分析器(通常需桌面环境)。tcpdump
抓包后常导入此处分析。39. nc (netcat)
: 网络的瑞士军刀。 可建立TCP/UDP连接、端口扫描(-z
)、传输文件、调试服务等。nc -zv [主机] [端口]
快速测试TCP端口是否开放。40. telnet [主机] [端口]
: 测试TCP端口连通性并进入简单交互(如果服务是文本协议)。 诊断服务是否监听及初步响应。41. ssh -v [用户]@[主机]
: 使用详细模式连接SSH。 当SSH连接失败时,-v
(甚至-vvv
) 提供详细的调试信息。42. scp [源] [目标]
: 安全的远程文件拷贝。 在需要快速传输关键文件(如备份、日志)时救命。43. rsync -avz [源] [目标]
: 高效的文件同步和传输工具。 比scp
更智能(增量、断点续传),常用于备份和迁移。-a
归档模式(保留属性),-v
详细,-z
压缩。
三、 文件与数据恢复曙光
44. rm
: 删除文件。 ⚠️ 头号危险命令! 永远记住:
• rm -i
:删除前询问确认(强烈推荐alias)。• 绝对避免 rm -rf /
或rm -rf *
(尤其在错误目录下)。• 使用 trash-cli
或自定义函数实现“回收站”功能。
45. mv
: 移动或重命名文件。 比rm
安全,可先mv
到临时目录观察。46. cp
: 复制文件。 重要操作前备份!备份!备份! (cp -a
保留所有属性)。47. lsattr [文件/目录]
: 查看文件/目录的扩展属性 (ext2/3/4文件系统)。48. chattr +i [文件]
: 设置文件为不可修改 (immutable)。 救命防护! 防止关键文件(如脚本、配置)被意外修改或删除。chattr -i
解除。+a
只追加(适合日志)。49. touch
: 创建空文件或更新文件时间戳。 有时用于触发操作或测试。50. mkdir
: 创建目录。mkdir -p
创建多级目录。51. find [路径] [选项] [动作]
: 强大的文件搜索工具。 救命用途:• find / -name core -exec rm -f {} \;
:查找并删除所有 core dump 文件(清理空间)。• find /var/log -type f -mtime +30 -delete
:删除 /var/log 下 30 天前的日志文件(谨慎使用!)。• find / -size +100M
:查找大于 100MB 的文件。• find / -user nobody
:查找属于 nobody 用户的文件。52. grep -r "pattern" [目录]
: 在目录中递归搜索包含特定模式(文本)的文件。 救命:在茫茫日志中定位错误信息 (grep -r error /var/log
)。-i
忽略大小写,-n
显示行号,-C 5
显示匹配行前后5行。53. zgrep
/zcat
/zless
: 处理 gzip 压缩文件 (*.gz
)。 无需解压即可搜索、查看内容 (zgrep error /var/log/syslog*.gz
)。54. tail -f [文件]
/tailf [文件]
: 实时跟踪文件尾部新增内容。 监控日志滚动的标准操作 (tail -f /var/log/nginx/access.log
)。55. less [文件]
: 强大的文件查看器。 支持大文件、搜索(/
)、跳转、跟随(F
键类似tail -f
)。比vi
查看日志更安全便捷。56. file [文件]
: 检测文件类型。 在恢复未知文件或处理损坏文件时有用。57. strings [文件]
: 提取文件中的可打印字符串。 用于分析二进制文件(如崩溃的 core dump、可疑文件)寻找线索。58. md5sum
/sha256sum [文件]
: 计算文件校验和。 验证文件完整性(下载、备份恢复后)。md5sum -c [checksum_file]
校验。59. tar
: 经典的归档工具。• tar -cvzf backup.tar.gz [文件/目录]
:创建压缩归档。• tar -xvzf backup.tar.gz
:解压归档。• tar -tvzf backup.tar.gz
:查看归档内容。备份和恢复基础。60. gzip
/gunzip
/zcat
: 压缩/解压.gz
文件。61. bzip2
/bunzip2
/bzcat
: 压缩比通常优于 gzip,但较慢。62. xz
/unxz
/xzcat
: 高压缩比工具。63. dd
: 块级复制和转换。 威力巨大,危险巨大! 救命用途:• dd if=/dev/sda of=disk.img bs=4M status=progress
:创建整个磁盘的镜像备份(极其重要!恢复前提!)。• dd if=disk.img of=/dev/sda
:慎用! 从镜像恢复整个磁盘(会覆盖目标盘所有数据!)。• dd if=/dev/zero of=/swapfile bs=1M count=2048
:快速创建 Swap 文件。• 数据恢复中有时用于直接读取磁盘扇区。操作前务必再三确认 if=
(输入) 和of=
(输出) 参数!64. testdisk
: 强大的分区表恢复工具。 能恢复丢失的分区、修复损坏的分区表(FAT, exFAT, NTFS, ext2/3/4...)。分区误删后的希望!65. photorec
(通常与 testdisk 一起): 文件内容恢复工具。 忽略文件系统,直接从磁盘介质扫描恢复特定类型文件(文档、图片、视频等)。分区损坏/格式化后的最后手段。66. extundelete
(针对 ext3/4): 尝试恢复 ext3/ext4 文件系统上被rm
删除的文件。 前提: 文件被删后,其数据块未被覆盖。立即停止写入该分区!挂载为只读或使用 Live CD/USB 操作最佳。67. debugfs
(针对 ext2/3/4): 强大的 ext 文件系统调试器。 高手用于手动恢复文件、修复超级块等。操作复杂风险高。68. ls -l
: 详细列出文件权限、所有者、组。 诊断权限问题的起点。69. chmod
: 修改文件权限。• 符号模式: chmod u+rwx, g+rx, o-rwx file
(用户加读写执行,组加减执行,其他人去掉读写执行)。• 数字模式: chmod 755 file
(rwxr-xr-x)。恢复关键文件权限常用。70. chown
: 修改文件所有者和/或所属组。chown user:group file
。71. chgrp
: 修改文件所属组。chgrp group file
。72. passwd [用户名]
: 修改用户密码。 忘记密码或重置密码的关键。73. sudo
: 以超级用户或其他用户权限执行命令。 配置不当是常见问题源 (/etc/sudoers
用visudo
编辑!)。74. su [用户名]
: 切换用户身份。su -
切换到 root 并加载环境。75. id [用户名]
: 查看用户 UID、GID 和所属组。76. who
/w
: 查看当前登录系统的用户及活动。77. last
/lastb
: 查看用户登录历史 (last
) 和失败的登录尝试 (lastb
)。 用于安全审计。78. usermod
: 修改用户账户属性。 如锁定解锁(-L
/-U
)、修改主目录(-d
)、修改登录Shell(-s
)等。79. groupmod
: 修改组属性。80. useradd
/adduser
(通常更友好): 添加新用户。81. userdel
/deluser
: 删除用户。-r
选项同时删除用户主目录和邮件池。82. groupadd
/addgroup
: 添加新组。83. groupdel
/delgroup
: 删除组。84. visudo
: 安全编辑/etc/sudoers
文件的唯一正确方式。 它提供语法检查,防止配置错误导致所有sudo
不可用(真·救命命令)。85. mount
: 显示已挂载的文件系统或挂载文件系统。86. umount
: 卸载文件系统。 无法卸载时,用lsof
或fuser -v [挂载点]
查看谁在用。87. fdisk -l
/parted -l
/lsblk
: 查看磁盘分区信息。lsblk
显示树状结构更清晰。88. blkid
: 查看块设备(磁盘、分区)的UUID、文件系统类型等属性。89. fsck
: 文件系统检查和修复工具。 ⚠️ 必须在未挂载或只读挂载状态下运行! 常用:• fsck /dev/sda1
:检查修复指定分区。• fsck -y /dev/sda1
:自动回答 “yes” 进行修复(谨慎! 最好先不加-y
看问题)。• 系统启动时自动 fsck
通常是文件系统损坏的标志。90. e2fsck
(针对 ext2/3/4): ext 文件系统专用的检查修复工具。 比fsck
功能更多。91. tune2fs
(针对 ext3/4): 调整 ext3/ext4 文件系统参数。 如设置强制fsck
间隔 (-c
)、设置卷标 (-L
)、查看超级块信息 (-l
)。92. mkfs
: 创建文件系统(格式化)。 ⚠️ 会销毁数据! 如mkfs.ext4 /dev/sdb1
。93. resize2fs
(针对 ext2/3/4): 在线调整 ext 文件系统大小(通常配合 LVM 使用)。94. badblocks
: 检查磁盘设备或文件中的坏块。badblocks -v /dev/sda
。发现坏块是磁盘即将故障的重要预警!95. smartctl
(smartmontools包): 监控硬盘 SMART 健康状态。 救命预警!smartctl -a /dev/sda
查看详细信息。关注Reallocated_Sector_Ct
,Current_Pending_Sector
,Uncorrectable_Sector_Ct
等关键属性值。定期运行 (smartctl -t short/long /dev/sda
) 进行自检。96. hdparm
: 获取/设置硬盘参数(高级)。 如测试读取速度 (hdparm -Tt /dev/sda
)、安全擦除(危险!)等。97. Ctrl + C
: 终止当前正在前台运行的命令。 最常用救急键。98. Ctrl + Z
: 挂起当前前台命令。 放入后台暂停,可用fg
恢复前台,bg
后台继续运行,jobs
查看后台作业。99. Ctrl + D
: 发送 EOF (End Of File),通常用于退出终端或结束输入。100. reset
: 当你的终端显示乱码(如 cat 了二进制文件)时,尝试重置终端状态。 比关掉重开更快。101. (Bonus) tmux
/screen
: 终端复用器。 长期运行的救星! 在远程会话中运行长时间任务,即使网络断开,任务仍在服务器后台执行,重连后可恢复会话。防止ssh
断开导致操作中断。1. 深厚的知识储备: 理解命令原理和适用场景。 2. 严谨的操作习惯: 备份!确认!再执行! 3. 完善的监控告警: 早发现,早处理。 4. 可靠的备份策略: 最后的防线。 5. 冷静清晰的头脑: 故障面前不慌乱。
四、 权限与用户管理纠错
五、 磁盘与文件系统修复
六、 登录与终端救赎
这100+个命令,是无数运维和开发者用“血泪”经验积累下来的宝贵财富。它们不是让你去冒险,而是在意外发生时,给你一个力挽狂澜的机会。真正的“救命”之道,在于:
掌握这些命令,反复练习,结合场景理解。当危机真正来临时,你就能从容应对,真正做到:从删库到跑路?不存在的!