命令行界面
虽然 Unraid 中的大多数任务可以通过 WebGUI 完成,但某些操作——特别是与诊断、驱动器管理或脚本相关的操作——需要使用系统控制台或 SSH 终端。本页面提供特定于 Unraid 的命令行工具和示例,可以在不需要广泛的 Linux 知识的情况下使用。
许多磁盘级别的 Unraid 操作依赖于 Linux 设备名称,如 /dev/sdX。您可以在 WebGUI 的 主 选项卡中找到任何驱动器的设备标识符。寻找每个磁盘旁边的三字母标签 sdX 或 nvmeX。在所有命令中使用适当的标识符,替换 sdX 为您的特定磁盘。
访问终端
Unraid 包含一个内置的网页终端,您可以直接从 WebGUI 访问。只需使用右上角的下拉菜单并选择 ">_"。这将以 root user 用户身份打开命令行会话,赋予您对系统的完全管理权限。
您也可以使用 %SSH|ssh%(安全壳)与 PuTTY 等客户端外部连接到 Unraid 服务器。
如果您使用的是Windows,可能更喜欢使用PuTTY进行SSH访问,而不是内置终端。这个软件轻量级、免费,并允许您保存会话以便日后轻松访问。
- 运行例如
smartctl、xfs_repair、tail或top等诊断和命令行工具 - 执行不需要用户界面的插件脚本或工具
- 诊断与连接性、系统服务或 user shares 相关的问题
驱动器测试和监控
如果您使用的是Windows,可能更喜欢使用PuTTY进行SSH访问,而不是内置终端。这个软件轻量级、免费,并允许您保存会话以便日后轻松访问。
如何安装和使用 PuTTY - 单击以展开/折叠
查看驱动器信息:
hdparm -I /dev/sdX
这将显示型号、固件、缓存大小和支持的功能,帮助验证磁盘类型和控制器行为。
smartctl
此命令运行 SMART 诊断并监控驱动器健康。
查看 smartctl 选项 - 单击以展开/折叠
ps
使用此命令显示正在运行的进程及其详细信息。
查看 ps 选项 - 单击以展开/折叠
系统监控
在 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 信息
- 内存信息
- 存储信息
CPU 架构概况:
lscpu
此命令显示有关核心、线程、虚拟化支持和缓存详细信息。
功能检测:
grep -E 'lm|vmx|svm' /proc/cpuinfo
lm:表示支持 64 位vmx:Intel VT-x 虚拟化svm:AMD-V 虚拟化
内存使用概述:
free -h
详细内存分解:
cat /proc/meminfo | head -20
按序列号/型号列出驱动器:
ls -l /dev/disk/by-id/ | grep -v part
检查文件系统标签:
ls -l /dev/disk/by-label/
系统维护
系统关闭、日志监控和服务管理的命令。
系统维护
系统关闭、日志监控和服务管理的命令。
查看尾命令用法 - 点击展开/折叠
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),它是一个基于文本的双窗格文件管理器,可以通过网络终端访问。
-
打开网络终端。您可以从 Unraid WebGUI 的右上方菜单中找到此选项。
-
启动午夜指挥官:
mc此界面提供在本地共享和挂载的网络路径之间拖放导航。
-
挂载网络共享(如果尚未挂载):
# 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- 用适当的值替换
workstation、share和youruser。 iocharset=utf8选项有助于保持国际文件名。
安全提示: 不要在命令行上传递密码(如
password=...)。 命令参数可以记录在 shell 历史中,并且可通过进程列表让其他本地用户看到; 更推荐使用交互式提示或使用chmod 600保护的凭证文件。 - 用适当的值替换
-
使用 MC 窗格在
/work(网络共享)和任何/mnt/user/或/mnt/diskX共享之间传输文件。 -
之后清理工作:
umount /work
rmdir /work
Midnight Commander 完全在内置系统中运行,无需额外安装。适合大多数传输需求,包括涉及 Unicode 文件名的情况,并在源和目标支持时保留文件属性。
使用 Krusader
如果您更喜欢图形用户界面,您可以使用 Docker 容器如 Krusader 作为第三方解决方案。
- 安装 Krusader:
- 导航到 应用 选项卡(社区应用程序)。
- 搜索并安装 Krusader Docker 容器。
- 启动容器,并从 Docker 标签访问其 WebUI。
- 在 Krusader 内连接到远程共享,并使用拖放或复制粘贴在网络共享和您的 Unraid array 之间传输文件。
其他流行的文件管理器容器包括 Double Commander 和 CloudCommander,通过社区应用程序提供。
命令行方法
对于高级用户或使用自动化的用户,您还可以使用命令行传输方法。
查看命令行传输指令 - 点击展开/折叠
-
打开终端(网络终端或 SSH 作为
root)。 -
创建并挂载一个网络共享:
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
安全提示: 不要在命令行中传递密码。建议使用交互式提示符或权限严格的凭据文件代替。
-
复制文件:
-
您可以使用
cp:cp -r /work/* /mnt/disk1 -
或者,使用
rsync以获取详细进度:rsync -av --progress /work/ /mnt/disk1/
-
-
卸载并删除临时目录:
umount /work
rmdir /work
在传输带有特殊或国际字符的文件时,请始终使用iocharset=utf8选项挂载共享。否则可能导致其他平台上的文件名不正确或文件不可读。
此外,如果您通过终端以 root 身份复制文件,它们可能会具有限制性的权限。如果出现这种情况,请使用 WebGUI 中的 新权限 工具或在涉及 Docker 的共享中使用 Docker 安全新权限 来重置权限,确保所有用户都有网络访问权限。