跳到主要内容

命令行界面

虽然 Unraid 中的大多数任务可以通过 WebGUI 完成,但某些操作——特别是与诊断、驱动器管理或脚本相关的操作——需要使用系统控制台或 SSH 终端。本页面提供特定于 Unraid 的命令行工具和示例,可以在不需要广泛的 Linux 知识的情况下使用。

Device 路径

许多磁盘级别的 Unraid 操作依赖于 Linux 设备名称,如 /dev/sdX。您可以在 WebGUI 选项卡中找到任何驱动器的设备标识符。寻找每个磁盘旁边的三字母标签 sdXnvmeX。在所有命令中使用适当的标识符,替换 sdX 为您的特定磁盘。

访问终端

Unraid 包含一个内置的网页终端,您可以直接从 WebGUI 访问。只需使用右上角的下拉菜单并选择 ">_"。这将以 root user 用户身份打开命令行会话,赋予您对系统的完全管理权限。

您也可以使用 %SSH|ssh%(安全壳)与 PuTTY 等客户端外部连接到 Unraid 服务器。

When 我应该使用终端吗?

如果您使用的是Windows,可能更喜欢使用PuTTY进行SSH访问,而不是内置终端。这个软件轻量级、免费,并允许您保存会话以便日后轻松访问。

  • 运行例如 smartctlxfs_repairtailtop 等诊断和命令行工具
  • 执行不需要用户界面的插件脚本或工具
  • 诊断与连接性、系统服务或 user shares 相关的问题

驱动器测试和监控

如果您使用的是Windows,可能更喜欢使用PuTTY进行SSH访问,而不是内置终端。这个软件轻量级、免费,并允许您保存会话以便日后轻松访问。

如何安装和使用 PuTTY - 单击以展开/折叠

查看驱动器信息:

hdparm -I /dev/sdX

这将显示型号、固件、缓存大小和支持的功能,帮助验证磁盘类型和控制器行为。

smartctl

此命令运行 SMART 诊断并监控驱动器健康。

查看 smartctl 选项 - 单击以展开/折叠

基本 SMART 报告:

smartctl -a /dev/sdX

如果此命令返回错误,请尝试指定设备类型:smartctl -a -d ata /dev/sdX(对于 NVMe 驱动器使用 -d nvme)。

启动 SMART 自检:

短测试(需数分钟)

smartctl -t short /dev/sdX

扩展测试(可能需数小时)

smartctl -t long /dev/sdX

SMART 报告 保存到文件:

smartctl -a /dev/sdX > /boot/smart_report.txt

这会将报告保存到您的 Unraid 闪存驱动器,以便稍后查看或在 论坛 上共享。

ps

使用此命令显示正在运行的进程及其详细信息。

查看 ps 选项 - 单击以展开/折叠

以前这脚本需要从 Unraid 论坛下载。DiskSpeed 现在提供了一个更完善的软件包:

社区应用程序应用程序选项卡)中搜索 "DiskSpeed" 来安装 DiskSpeed,或者访问 GitHub 仓库 以获取手动安装说明。


系统监控

WebGUI 不可用或需要更详细诊断时,使用这些命令监控内存、进程和系统性能。

系统监控

WebGUI 不可用或需要更详细诊断时,使用这些命令监控内存、进程和系统性能。

查看 df 用法 - 单击以展开/折叠
top
  • 实时显示每个进程的 CPU 和内存使用情况。

  • q 退出。

  • 使用方向键滚动,按 k 终止进程。

    提示

    可以考虑使用htop,它提供了更用户友好的界面和增强的控制功能。

free

此命令显示内存使用统计信息。

查看 free 用法 - 单击以展开/折叠
free -h

这将以人类可读的格式显示 RAM 使用情况。-h 标志表示大小将以 KB、MB 或 GB 而非字节显示。

了解输出

较低的“可用”内存读数不一定表示存在问题——Linux会积极地缓存数据以提高性能。

lsblk

以树形格式列出所有块设备。

查看 lsblk 用法 - 单击以展开/折叠

列出所有进程的详细信息:

ps aux
提示

考虑使用 htop 获取更友好的界面和增强的控制。

ps aux --sort=-%mem | head -20

按 CPU 使用排序:

ps aux --sort=-%cpu | head -20

存储工具

这些命令有助于检查磁盘使用情况、分区信息和识别存储设备。

存储工具

这些命令有助于检查磁盘使用情况、分区信息和识别存储设备。

查看 blkid 用法 - 单击以展开/折叠
df -h

此命令显示所有已挂载文件系统的已用和可用空间。它便于检查 Unraid 中的 /var/log(使用基于 RAM 的日志记录)。更多关于系统日志记录的信息。

blockdev -getsz

帮助确定替换驱动器在重建前是否有足够的空间。

查看 blockdev 用法 - 单击以展开/折叠
fdisk -l /dev/sdX

此命令显示分区布局、大小和磁盘几何信息。它在排查磁盘大小不匹配的问题时尤其有用,特别是当替换磁盘时。

ss

显示套接字统计和网络连接。这是netstat的现代替代品。

查看 ss 选项 - 单击以展开/折叠
lsblk

此命令显示所有已挂载文件系统的已用和可用空间。它便于检查 Unraid 中的 /var/log(使用基于 RAM 的日志记录)。更多关于系统日志记录的信息。

blockdev -getsz

帮助确定替换驱动器在重建前是否有足够的空间。

查看 fdisk 用法 - 单击以展开/折叠

语法:

blockdev --getsz /dev/sdX

返回设备上 512 byte 扇区的原始数量 - 方便在重建前确认替换驱动器的大小。

ping

测试网络连接。

查看 ping 用法 - 单击以展开/折叠

语法:

blkid /dev/sdX1

输出文件系统类型和标签。用于验证 Unraid 闪存是否标记为 UNRAID,可替代已弃用的 vol_id 命令。


网络诊断

用于排除网络连接和接口配置问题的工具。

网络诊断

用于排除网络连接和接口配置问题的工具。

查看 ping 用法 - 单击以展开/折叠

通过发送有限数量的包来测试连接:

ss -tuln
  • -t:TCP 套接字

  • -u:UDP 套接字

  • -l:仅显示监听套接字

  • -n:显示端口号而不是服务名称

    显示已建立的连接:

    ss -tup

    此命令显示活动连接及其过程信息。

ethtool

用于查询和调整网络接口卡 (NIC) 参数的实用工具,例如链接速度、卸载功能和统计数据。

查看 ethtool 用法 - 单击以展开/折叠

基本驱动程序和固件信息:

ip addr show

以颜色显示网络接口:

ip -c addr show

要检查接口的当前链接速度和设置,请运行:

ip route show

ping

测试网络连接。

查看 ss 选项 - 单击以展开/折叠

显示所有监听端口:

ping -c 4 google.com

此命令向目标发送四个数据包后停止,适合进行基础的连接测试而不会产生连续输出。

ethtool

用于查询和调整网络接口卡 (NIC) 参数的实用工具,例如链接速度、卸载功能和统计数据。

查看 ip 选项 - 单击以展开/折叠

显示所有网络接口:

使用此命令获取网络接口驱动程序和固件信息:

ethtool -i eth0

显示当前链接速度和设置:

显示路由表:

ethtool eth0

显示扩展接口统计:

对于界面的扩展统计,请使用以下命令:

ethtool -S eth0

这些命令可以帮助您确认千兆、2.5 GbE 或 10 GbE 连接的协商速度,诊断与电缆相关的问题,或识别可能由于卸载不匹配而产生的丢包。


实时监控日志文件。

CPU 架构概况:

lscpu

此命令显示有关核心、线程、虚拟化支持和缓存详细信息。

功能检测:

grep -E 'lm|vmx|svm' /proc/cpuinfo
  • lm:表示支持 64 位
  • vmx:Intel VT-x 虚拟化
  • svm:AMD-V 虚拟化

系统维护

系统关闭、日志监控和服务管理的命令。

系统维护

系统关闭、日志监控和服务管理的命令。

查看尾命令用法 - 点击展开/折叠
tail -f /var/log/syslog

该命令显示系统日志的实时更新。要退出,请使用 Ctrl+C

显示特定行数:

tail -n 50 /var/log/syslog

关机

安全关闭系统。

查看关机用法 - 点击展开/折叠
powerdown

此命令利用 Unraid 内置的关机过程来停止 array 并安全地关闭系统。它优于手动关闭方法。


文件传输操作

这些方法帮助您使用命令行工具和内置工具,将文件从外部网络共享(Windows 或 Linux SMB/CIFS 共享)传输到您的 Unraid 服务器。

使用 Midnight Commander (内置)

Unraid 包括 午夜指挥官 (mc),它是一个基于文本的双窗格文件管理器,可以通过网络终端访问。

  1. 打开网络终端。您可以从 Unraid WebGUI 的右上方菜单中找到此选项。

  2. 启动午夜指挥官:

    mc

    此界面提供在本地共享和挂载的网络路径之间拖放导航。

  3. 挂载网络共享(如果尚未挂载):

    # Create a temporary mount point
    mkdir /work
    # 1) Interactive prompt (recommended for one-off mounts)
    mount -t cifs //workstation/share /work -o username=youruser,iocharset=utf8
    # You will be prompted for the password interactively.
    # 2) Use a credentials file (recommended for scripts/automation)
    # Create /root/.cifscredentials with the following content:
    # username=youruser
    # password=yourpassword
    # Then protect the file and mount using:
    chmod 600 /root/.cifscredentials
    mount -t cifs //workstation/share /work -o credentials=/root/.cifscredentials,iocharset=utf8
    • 用适当的值替换 workstationshareyouruser
    • iocharset=utf8 选项有助于保持国际文件名。

    安全提示: 不要在命令行上传递密码(如 password=...)。 命令参数可以记录在 shell 历史中,并且可通过进程列表让其他本地用户看到; 更推荐使用交互式提示或使用 chmod 600 保护的凭证文件。

  4. 使用 MC 窗格在 /work(网络共享)和任何 /mnt/user//mnt/diskX 共享之间传输文件。

  5. 之后清理工作:

    umount /work
    rmdir /work

Midnight Commander 完全在内置系统中运行,无需额外安装。适合大多数传输需求,包括涉及 Unicode 文件名的情况,并在源和目标支持时保留文件属性。

使用 Krusader

如果您更喜欢图形用户界面,您可以使用 Docker 容器如 Krusader 作为第三方解决方案。

  1. 安装 Krusader:
    • 导航到 应用 选项卡(社区应用程序)。
    • 搜索并安装 Krusader Docker 容器。
  2. 启动容器,并从 Docker 标签访问其 WebUI。
  3. 在 Krusader 内连接到远程共享,并使用拖放或复制粘贴在网络共享和您的 Unraid array 之间传输文件。
信息

其他流行的文件管理器容器包括 Double CommanderCloudCommander,通过社区应用程序提供。

命令行方法

对于高级用户或使用自动化的用户,您还可以使用命令行传输方法。

查看命令行传输指令 - 点击展开/折叠
  1. 打开终端(网络终端或 SSH 作为 root)。

  2. 创建并挂载一个网络共享:

mkdir /work
# 1) Interactive prompt (recommended for one-off mounts)
mount -t cifs //workstation/share /work -o username=youruser,iocharset=utf8
# You will be prompted for the password interactively.
# 2) Use a credentials file (recommended for scripts/automation)
# Create /root/.cifscredentials with the following content:
# username=youruser
# password=yourpassword
# Then protect the file and mount using:
chmod 600 /root/.cifscredentials
mount -t cifs //workstation/share /work -o credentials=/root/.cifscredentials,iocharset=utf8

安全提示: 不要在命令行中传递密码。建议使用交互式提示符或权限严格的凭据文件代替。

  1. 复制文件:

    • 您可以使用 cp

      cp -r /work/* /mnt/disk1
    • 或者,使用 rsync 以获取详细进度:

      rsync -av --progress /work/ /mnt/disk1/
  2. 卸载并删除临时目录:

    umount /work
    rmdir /work
注意

在传输带有特殊或国际字符的文件时,请始终使用iocharset=utf8选项挂载共享。否则可能导致其他平台上的文件名不正确或文件不可读。

此外,如果您通过终端以 root 身份复制文件,它们可能会具有限制性的权限。如果出现这种情况,请使用 WebGUI 中的 新权限 工具或在涉及 Docker 的共享中使用 Docker 安全新权限 来重置权限,确保所有用户都有网络访问权限。