跳到主要内容

命令行界面

While most tasks in Unraid can be performed through the WebGUI, certain operations - especially those related to diagnostics, drive management, or scripting - require using the system console or SSH terminal. This page offers Unraid-specific command-line tools and examples that can be used without needing extensive Linux knowledge.

Device 路径

Many disk-level Unraid operations depend on Linux device names, like /dev/sdX. You can find the device identifier for any drive in the Main tab of the WebGUI. Look for the three-letter label sdX or nvmeX next to each disk. Use the appropriate identifier in all commands, replacing sdX with your specific disk.

访问终端

Unraid includes a built-in web terminal that you can access directly from the WebGUI. Simply use the top-right dropdown menu and select ">_". This opens a command-line session as the root user, giving you full administrative access to your system.

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

When 我应该使用终端吗?

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

  • 运行例如 smartctlxfs_repairtailtop 等诊断和命令行工具
  • 执行不需要用户界面的插件脚本或工具
  • Troubleshooting issues related to connectivity, system services, or 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 不可用或需要更详细诊断时,使用这些命令监控内存、进程和系统性能。

df

此命令显示文件系统磁盘空间使用情况。

查看 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

识别文件系统标签。

查看 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

测试网络连接。

查看 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选项挂载共享。否则可能导致其他平台上的文件名不正确或文件不可读。

Also, if you copy files as root via terminal, they may have restrictive permissions. If this occurs, use the New Permissions tool from the Tools menu in the WebGUI or the Docker Safe New Perms if you're dealing with Docker-involved shares to reset permissions, ensuring all users have network access.