跳转到内容

华硕官改/梅林固件常用命令完全指南(2026 年最新版)

本文整理了华硕路由器官改固件梅林固件中最常用的 SSH 命令,包含详细的使用实例、注意事项和个人实践经验,帮助你更好地管理和维护路由器。

💡 提示:本文已更新到 2026 年 4 月,适用于最新版本的梅林固件和官改固件。

📋 使用前准备

开启 SSH 功能

在执行任何命令之前,首先需要确保路由器的 SSH 功能已开启:

步骤:

1. 登录路由器管理界面(通常是 192.168.50.1 或 192.168.1.1)
2. 进入「系统管理」→「系统设置」
3. 找到「启用 SSH」选项
4. 选择「LAN only」(仅局域网)或「LAN and WAN」(局域网和广域网)
   ⚠️ 建议:出于安全考虑,选择「LAN only」
5. 端口号保持默认 22
6. 点击「应用本页面设置」

连接路由器

推荐工具:

  • Windows: PuTTY、Xshell、Termius
  • macOS: 终端(Terminal)、iTerm2
  • Linux: 终端(Terminal)
  • 跨平台: Termius、Tabby

连接方法:

bash
# macOS/Linux 终端直接连接
ssh admin@192.168.50.1

# Windows 使用 PuTTY
# Host Name: 192.168.50.1
# Port: 22
# Connection type: SSH

注意事项:

⚠️ 首次连接会提示指纹验证,输入 yes 确认
⚠️ 用户名通常是 admin
⚠️ 密码是路由器登录密码
⚠️ 建议保存会话,方便下次快速连接

个人建议

💬 经验分享:我强烈建议使用 Termius 这款跨平台 SSH 客户端,它支持:

  • 多设备同步(手机、平板、电脑)
  • 会话分组管理
  • 命令片段收藏
  • 自动补全和历史记录

对于经常需要管理多台路由器的用户来说,这个工具能大幅提升效率。

🔧 核心命令详解

1. 软件中心重置

命令:

sh
koolshare-reset

使用场景:

✅ 软件中心出现异常,无法正常安装插件
✅ 插件列表加载失败或显示空白
✅ 软件中心界面卡顿或无响应
✅ 升级固件后软件中心不兼容
✅ 想恢复软件中心到初始状态

执行过程:

1. 停止所有软件中心相关进程
2. 删除软件中心的配置文件
3. 重新初始化数据库
4. 重启软件中心服务
5. 恢复默认设置

实际输出示例:

Stopping koolshare software center...
Removing configuration files...
Resetting database...
Initializing software center...
Starting services...
Done! Please refresh your browser.

执行后的操作:

1. 等待 1-2 分钟让服务完全启动
2. 刷新浏览器中的软件中心页面
3. 重新配置软件中心源(如果需要)
4. 检查插件是否正常工作

⚠️ 注意事项:

❗ 此操作不会删除已安装的插件
❗ 但会重置软件中心的配置
❗ 自定义的软件源需要重新添加
❗ 建议在操作前备份重要配置

个人经验:

💬 我在升级固件后经常遇到软件中心无法加载的问题,使用这个命令基本都能解决。建议每隔 3-6 个月执行一次,可以保持软件中心的良好状态。


2. 清空 JFFS 空间

命令:

sh
kill -9 $(pidof skipd)
cd /jffs && rm -r .[a-zA-Z_]* *
reboot

什么是 JFFS?

JFFS (Journalling Flash File System) 是路由器的闪存文件系统,用于存储:
- 软件中心及插件
- 自定义脚本
- SSL 证书
- TrafficAnalyzer 数据库
- 自定义设备图标
- 用户配置文件
- 临时文件

使用场景:

✅ JFFS 空间不足,无法安装新插件
✅ 路由器运行缓慢,需要清理垃圾文件
✅ 想要彻底重置路由器到出厂状态
✅ 清除残留的配置文件
✅ 解决某些奇怪的系统问题

逐行解释:

bash
# 第一行:强制终止 skipd 进程(软件中心守护进程)
kill -9 $(pidof skipd)
# pidof skipd: 查找 skipd 进程的 PID
# kill -9: 强制终止该进程

# 第二行:进入 JFFS 目录并删除所有文件
cd /jffs && rm -r .[a-zA-Z_]* *
# cd /jffs: 切换到 JFFS 目录
# rm -r: 递归删除
# .[a-zA-Z_]*: 删除隐藏文件(以.开头的文件)
# *: 删除普通文件

# 第三行:重启路由器
reboot
# 使更改生效

执行前的检查:

bash
# 查看当前 JFFS 使用情况
df -h /jffs

# 查看 JFFS 目录下的文件
ls -la /jffs

# 查看占用空间较大的文件
du -sh /jffs/*

⚠️ 严重警告:

🔴 此操作会删除 JFFS 分区内的 ALL 文件!
🔴 包括但不限于:
   - 所有已安装的插件
   - 软件中心配置
   - 自定义脚本
   - SSL 证书
   - TrafficAnalyzer 历史数据
   - 自定义主题和图标
   - 所有个性化设置
   
💡 执行前务必备份重要数据!

备份建议:

bash
# 备份自定义脚本
cp /jffs/scripts/* /tmp/backup_scripts/

# 备份证书
cp /jffs/ssl/* /tmp/backup_ssl/

# 备份重要配置
tar czf /tmp/jffs_backup.tar.gz /jffs/configs/

执行后的恢复:

1. 路由器会自动重启(约 2-3 分钟)
2. 重新登录管理界面
3. 重新开启软件中心
4. 重新安装需要的插件
5. 恢复备份的配置文件
6. 重新配置个性化设置

个人经验:

💬 我通常每半年执行一次这个操作,可以清除长期积累的垃圾文件和缓存,让路由器保持流畅。但一定要提前做好备份!我曾经因为忘记备份证书,导致 HTTPS 服务中断了半天。

小贴士:如果你只是想释放空间,可以先尝试只删除日志和临时文件,不必完全清空。


3. 删除软件中心

命令:

sh
kill -9 $(pidof skipd)
cd /jffs && rm -rf .asusrouter .koolshare db ksdb config/* etc/profile
reboot

与清空 JFFS 的区别:

清空 JFFS:删除所有文件(包括非软件中心的文件)
删除软件中心:只删除软件中心相关文件,保留其他配置

使用场景:

✅ 从官改固件刷回原厂固件
✅ 只需要删除软件中心,保留其他配置
✅ 软件中心损坏严重,需要完全重装
✅ 准备更换到其他固件版本
✅ 卸载所有 koolshare 相关组件

删除的文件说明:

.asusrouter    - 华硕路由器标识文件
.koolshare     - koolshare 软件中心主目录
db             - 软件中心数据库
ksdb           - koolshare 数据库文件
config/*       - 软件中心配置文件
etc/profile    - 环境变量配置(可能包含软件中心路径)

保留的文件:

✅ 自定义脚本(/jffs/scripts/)
✅ SSL 证书
✅ 用户配置文件
✅ TrafficAnalyzer 数据
✅ 其他非软件中心的文件

执行流程:

1. 终止软件中心进程
2. 删除软件中心核心文件
3. 删除数据库文件
4. 删除配置文件
5. 重启路由器
6. 软件中心完全移除

特殊情况处理:

情况一:在官改固件下删除

如果是在官改固件下执行此命令:
- 路由器重启后,软件中心会重新初始化
- 恢复到最初状态
- 相当于"恢复出厂设置"

情况二:刷回原厂固件前

如果是为了刷回原厂固件:
- 必须先执行此命令
- 否则原厂固件可能无法启动
- 或者出现各种奇怪的问题

执行后的验证:

bash
# 检查软件中心目录是否还存在
ls -la /jffs/.koolshare
# 应该返回 "No such file or directory"

# 检查进程是否还在运行
ps | grep skipd
# 应该没有相关进程

# 检查 Web 界面
# 访问软件中心页面应该显示 404 或不存在

个人经验:

💬 我从官改固件切换回官方固件时,这个命令帮了大忙。如果不执行这一步,刷回官方固件后经常出现系统不稳定、频繁重启的问题。

重要提醒:执行此命令后,如果需要重新安装软件中心,建议从官方源下载最新版本,避免使用过旧的包。


4. 重启软件中心

命令:

sh
sh /koolshare/perp/perp.sh

什么是 perp.sh?

perp.sh 是软件中心的服务管理脚本,基于 perp 进程监督系统。
它可以:
- 启动所有软件中心服务
- 停止所有软件中心服务
- 重启单个服务
- 查看服务状态

使用场景:

✅ 软件中心相关进程意外退出
✅ 某个插件无法启动
✅ 软件中心界面无响应
✅ 修改配置后需要重启服务
✅ 调试插件问题时

更详细的使用方法:

查看所有服务状态:

bash
sh /koolshare/perp/perp.sh status

重启单个服务:

bash
# 例如重启 dnsmasq
sh /koolshare/perp/perp.sh restart dnsmasq

# 重启 httpd
sh /koolshare/perp/perp.sh restart httpd

停止所有服务:

bash
sh /koolshare/perp/perp.sh stop

启动所有服务:

bash
sh /koolshare/perp/perp.sh start

常见服务列表:

skipd      - 软件中心守护进程
dnsmasq    - DNS 和 DHCP 服务
httpd      - Web 服务器
ntpd       - 时间同步服务
crond      - 定时任务服务

故障排查流程:

bash
# 1. 查看哪些进程在运行
ps | grep -E "skipd|dnsmasq|httpd"

# 2. 查看系统日志
cat /tmp/syslog.log | grep koolshare

# 3. 查看特定服务的日志
cat /koolshare/logs/skipd.log

# 4. 重启软件中心
sh /koolshare/perp/perp.sh

# 5. 验证服务是否正常
ps | grep skipd

⚠️ 注意事项:

❗ 重启过程中软件中心会短暂不可用(约 10-30 秒)
❗ 正在进行的下载或更新可能会中断
❗ 建议在无人使用时执行
❗ 如果反复重启仍不正常,考虑使用 koolshare-reset

个人经验:

💬 这是我使用频率最高的命令之一。当发现某个插件突然不工作时,先试试重启软件中心,80% 的问题都能解决。比完全重置要快得多,而且不会影响已安装的插件。

小技巧:可以把这个命令添加到快捷方式或别名中:

bash
alias restart-sc='sh /koolshare/perp/perp.sh'

5. 查询坏块命令

命令:

sh
dmesg | grep "bad block"

什么是坏块?

坏块(Bad Block)是闪存芯片上的物理损坏区域,无法可靠地存储数据。
随着路由器使用时间增长,可能会出现坏块。

使用场景:

✅ 路由器频繁出现读写错误
✅ 固件升级失败
✅ 系统无故重启
✅ JFFS 文件系统损坏
✅ 怀疑闪存硬件有问题
✅ 购买二手路由器时检测

正常输出:

(无任何输出)
# 如果没有坏块,命令执行后不会显示任何内容

有坏块的输出示例:

[  123.456789] nand: bad block at 0x01234000
[  234.567890] nand: bad block at 0x05678000
[  345.678901] nand: bad block at 0x09abc000

更详细的检测方法:

方法一:查看完整的内核日志

bash
dmesg | grep -i "nand\|flash\|bad\|error"

方法二:检查文件系统完整性

bash
# 检查 JFFS 文件系统
mount | grep jffs

# 查看挂载点信息
df -h /jffs

方法三:使用 MTD 工具

bash
# 查看 MTD 分区信息
cat /proc/mtd

# 检查特定分区
mtdinfo /dev/mtdblockX

解读结果:

少量坏块(1-5 个):

✅ 属于正常现象
✅ 闪存芯片的自然老化
✅ 不影响正常使用
✅ 继续监控即可

较多坏块(5-20 个):

⚠️ 需要关注
⚠️ 闪存可能在加速老化
⚠️ 建议备份重要数据
⚠️ 考虑准备更换路由器

大量坏块(20+ 个):

🔴 严重警告
🔴 闪存芯片即将失效
🔴 随时可能完全损坏
🔴 立即备份数据并更换路由器

预防措施:

1. 避免频繁写入 JFFS
2. 定期清理不必要的文件
3. 不要长时间满负荷运行
4. 保持良好的散热环境
5. 使用稳定的电源供应
6. 避免突然断电

个人经验:

💬 我的 AC86U 使用了 4 年后检测到 3 个坏块,目前仍在正常使用。但我已经开始物色新路由器了。

建议:每半年检查一次坏块情况,特别是使用超过 3 年的路由器。如果发现坏块数量快速增长,就要做好更换准备了。

真实案例:有位群友的路由器突然出现大量坏块,导致固件损坏无法启动。幸好他提前备份了配置,换到新路由器后很快恢复了正常使用。


🛠️ 其他实用命令

查看系统信息

查看固件版本:

bash
nvram get firmver
nvram get buildno
nvram get extendno

查看硬件信息:

bash
# CPU 信息
cat /proc/cpuinfo

# 内存信息
free -m

# 存储空间
df -h

# 温度信息
cat /sys/class/thermal/thermal_zone*/temp

查看网络状态:

bash
# 网络连接
netstat -tuln

# 接口状态
ifconfig

# 路由表
route -n

# DNS 配置
cat /etc/resolv.conf

管理插件

查看已安装插件:

bash
ls /koolshare/init.d/
ls /koolshare/scripts/

禁用插件:

bash
# 给插件脚本添加 .disable 后缀
mv /koolshare/init.d/S99plugin.sh /koolshare/init.d/S99plugin.sh.disable

启用插件:

bash
# 移除 .disable 后缀
mv /koolshare/init.d/S99plugin.sh.disable /koolshare/init.d/S99plugin.sh

日志查看

系统日志:

bash
# 实时查看系统日志
tail -f /tmp/syslog.log

# 查看最近的错误
grep -i error /tmp/syslog.log | tail -20

# 查看启动日志
dmesg | tail -50

插件日志:

bash
# 查看特定插件日志
cat /koolshare/logs/plugin_name.log

# 实时监控日志
tail -f /koolshare/logs/plugin_name.log

性能监控

CPU 使用率:

bash
top
# 按 q 退出

内存使用:

bash
free -m

网络连接数:

bash
conntrack -C

带宽占用:

bash
# 安装 iptraf 后使用
iptraf-ng

💡 高级技巧与最佳实践

1. 创建命令别名

编辑 /jffs/configs/profile.add 文件,添加常用命令的别名:

bash
# 软件中心相关
alias sc-reset='koolshare-reset'
alias sc-restart='sh /koolshare/perp/perp.sh'
alias sc-status='sh /koolshare/perp/perp.sh status'

# 系统信息
alias sysinfo='echo "=== 系统信息 ===" && nvram get firmver && free -m && df -h'

# 日志查看
alias log-sys='tail -f /tmp/syslog.log'
alias log-dmesg='dmesg | tail -50'

# 网络状态
alias netstat-custom='netstat -tuln | grep LISTEN'

保存后执行:

bash
source /jffs/configs/profile.add

2. 自动化备份脚本

创建定期备份脚本 /jffs/scripts/backup_config.sh

bash
#!/bin/bash

BACKUP_DIR="/tmp/backups"
DATE=$(date +%Y%m%d_%H%M%S)

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份配置文件
tar czf $BACKUP_DIR/config_$DATE.tar.gz /jffs/configs/

# 备份脚本
tar czf $BACKUP_DIR/scripts_$DATE.tar.gz /jffs/scripts/

# 备份证书
if [ -d /jffs/ssl ]; then
    tar czf $BACKUP_DIR/ssl_$DATE.tar.gz /jffs/ssl/
fi

# 删除 30 天前的备份
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete

echo "Backup completed: $DATE"

设置权限:

bash
chmod +x /jffs/scripts/backup_config.sh

添加到定时任务:

bash
# 每周日凌晨 3 点执行
cru a weekly_backup "0 3 * * 0 /jffs/scripts/backup_config.sh"

3. 安全加固建议

限制 SSH 访问:

✅ 仅允许 LAN 访问
✅ 使用强密码
✅ 定期更换密码
✅ 不用时关闭 SSH

定期更新:

✅ 固件保持最新
✅ 插件及时更新
✅ 关注安全公告

监控异常:

✅ 定期检查日志
✅ 监控 CPU/内存使用
✅ 注意异常网络连接

4. 故障排查清单

遇到问题时的排查顺序:

1️⃣ 重启软件中心
   sh /koolshare/perp/perp.sh

2️⃣ 检查日志
   tail -f /tmp/syslog.log

3️⃣ 查看进程状态
   ps | grep -E "skipd|dnsmasq"

4️⃣ 检查磁盘空间
   df -h /jffs

5️⃣ 重置软件中心
   koolshare-reset

6️⃣ 检查坏块
   dmesg | grep "bad block"

7️⃣ 最后手段:清空 JFFS
   (记得先备份!)

📝 常见问题 FAQ

Q1: 执行命令后路由器无法访问怎么办?

A:

1. 等待 3-5 分钟,让路由器完成重启
2. 检查网线连接
3. 尝试硬重启(按住 Reset 键 10 秒)
4. 使用 ASUS Firmware Restoration 工具恢复

Q2: 如何撤销误操作的命令?

A:

大部分删除操作无法直接撤销!
这就是为什么强调要先备份。

如果刚执行了清空 JFFS:
- 只能重新配置路由器
- 从备份恢复配置
- 重新安装插件

Q3: 命令执行报错怎么办?

A:

1. 检查命令拼写是否正确
2. 确认是否有执行权限
3. 查看错误信息
4. 搜索错误关键词
5. 检查固件版本兼容性

Q4: 多久执行一次维护命令?

A:

推荐频率:
- 重启软件中心:遇到问题时
- 检查坏块:每 6 个月
- 清空 JFFS:每 6-12 个月(或感觉变慢时)
- 备份配置:每周自动备份
- 更新固件:有新版本时

Q5: 这些命令适用于所有华硕路由器吗?

A:

✅ 适用于:
- 所有梅林固件机型
- 所有官改固件机型

❌ 不适用于:
- 官方原版固件(没有软件中心)
- 其他品牌路由器
- 部分新型号可能路径不同

🎯 总结与建议

命令速查表

命令用途风险等级使用频率
koolshare-reset重置软件中心🟡 中偶尔
清空 JFFS完全清理🔴 高很少
删除软件中心移除软件中心🟡 中很少
perp.sh重启软件中心🟢 低经常
查询坏块硬件检测🟢 低定期

个人建议

💬 使用多年梅林固件的经验总结:

  1. 预防胜于治疗

    • 定期备份配置
    • 保持固件更新
    • 监控系统状态
  2. 谨慎操作

    • 执行删除类命令前三思
    • 不确定时先查询文档
    • 先在测试环境验证
  3. 善用工具

    • 使用好的 SSH 客户端
    • 建立命令库和脚本库
    • 利用自动化减少重复劳动
  4. 持续学习

    • 关注社区动态
    • 学习新技术
    • 分享经验和心得
  5. 安全第一

    • 不在公网开放 SSH
    • 使用复杂密码
    • 定期检查安全日志

推荐学习资源

官方资源:

📚 梅林固件官网
   https://www.asuswrt-merlin.net/

📚 KoolShare 论坛
   https://koolshare.cn/

📚 GitHub 项目
   https://github.com/koolshare/

社区资源:

💬 Chiphell 论坛
💬 恩山无线论坛
💬 Reddit r/MerlinFW
💬 Telegram 群组

相关教程:

📖 [华硕固件平台介绍](/asus/firmware-platform-introduction.md)
📖 [刷机前置条件](/asus/flashing-prerequisites.md)
📖 [Clash for Merlin](/asus/merlin-clash.md)

希望这份详细的命令指南能帮助你更好地管理和维护华硕路由器!如有任何问题,欢迎在社区交流讨论。


免责声明

本文仅供技术交流和学习参考,请遵守当地法律法规,合理合法使用网络服务。