
These TrueNAS useful commands cover the day-to-day administration tasks every self-hoster needs, from checking pool health to managing datasets from the command line.
For the full command reference, check the official TrueNAS documentation.
TrueNAS Useful Commands (Updated for 2025)
TrueNAS is a powerful operating system for managing network-attached storage (NAS), built on the ZFS file system. Also, for efficient administration and system monitoring via the command-line interface (CLI), it helps to know a core set of commands. These commands let you manage storage pools, disks, and overall system performance.
Important: Using CLI commands can be risky. Therefore, you are fully responsible for your actions. Always double-check commands before execution to avoid unintended consequences.
ZFS Management
Firstly, run the command zpool status -v to check the status of all pools. This will display the current status of the ZFS pool, including any errors or warnings.
Additionally, to monitor input/output (I/O) operations per second in real time, use zpool iostat 1. This updates every second, providing insights into disk activity.
To list all snapshots, run zfs list -t snapshot. You can filter the results using grep if needed.
For detailed statistics on Adaptive Replacement Cache (ARC), use arc_summary.py or arcstat.py.
To check the ashift value for a specific ZFS pool, use zdb -C your_pool_name | grep ashift. This is particularly important for optimizing performance on SSDs and disks with non-standard sector sizes.
SMART Monitoring
For example, to display help information for smartctl, use smartctl -h.
To show all SMART attributes for a specific disk, use smartctl -a /dev/daX, replacing daX with the actual device name.
If you need a concise list of attributes without additional vendor information, use smartctl -A /dev/daX.
Similarly, to view the results of recent SMART tests, use smartctl -l selftest /dev/daX.
For historical temperature readings of the disk, run smartctl -l scttemp /dev/daX.
To start a long SMART test, use smartctl -t long /dev/daX. For a short test, replace long with short instead.
Disk Management
To check GPT identifiers and device names, use glabel status.
Likewise, to monitor I/O activity on a specific disk with 1-second intervals, use gstat -f daX -I 1000ms.
For general I/O statistics on a disk, run iostat daX.
HBA Card Information
Also, to check the firmware and driver version of HBA cards using the mps driver, run dmesg | grep mps.
UPS Monitoring
To display all attributes of an uninterruptible power supply (UPS), use upsc ups. Replace ups with the actual UPS name if different.
Miscellaneous System Commands
To load the IPMI module, run kldload ipmi.ko.
Then, use ipmitool sensor to view all IPMI sensor values.
To display CPU load, RAM usage, and disk I/O statistics, use systat -vm.
For BIOS hardware information, use dmidecode | more.
To check system logs, use cat /var/log/messages | more.
For a full system debug report, run freenas-debug -h more /var/tmp/fndebug.
To list all connected devices, use camcontrol devlist.
Likewise, to view connected USB devices, use usbconfig.
Performance Testing and Stress Tests
To test write speed, use dd if=/dev/zero of=/mnt/tank/tmp.zero bs=2048k count=50k. Ensure that shares and compression are disabled before running this test.
To test read speed, use dd if=/mnt/tank/tmp.zero of=/dev/null bs=2048k count=50k. Afterward, delete the tmp.zero file.
To test disk seek and transfer times, use diskinfo -t daX, replacing daX with the appropriate device name.
To stress test the CPU with four threads, run for i in 1 2 3 4; do while : ; do : ; done & done.
Conclusion
The TrueNAS command-line interface provides powerful tools for system administration, monitoring, and troubleshooting. In addition, knowing these commands will help you efficiently manage ZFS storage, monitor disk health, test performance, and diagnose issues.
Always double-check your commands and create backups before making critical changes to your system.
More From REVOLD Blog
- Mastering DDoS Attack Mitigation: 50 Essential Commands for Prevention and Defense (Part 3)
- How to Install Jitsi Meet on Ubuntu/Debian with Automatic Let’s Encrypt SSL
- How to install Cockpit for Linux
- ? NetAlertX: The Ultimate Network Scanning and Alert System
- Fixing YouTube Slowdowns at the Router Level
- TorCrawl.py Overview: Anonymous Web Scraping Using Tor
- New FishXProxy Phishing Kit Lowers Barriers for Cybercriminals
- Hosting All Your AI Locally: Unlock the Full Potential of AI on Your PC or Server
- Mastering DDoS Attack Mitigation: A Comprehensive Guide (Part 2)
- Mastering DDoS Attack Mitigation: A Comprehensive Guide (Part 1)
- 20 Essential Python Concepts to Help You Become a More Effective Developer
- How to Configure SPF, DKIM, and DMARC on an iRedMail Server (CentOS 10 or 11)
- How to Install Python Pip on Ubuntu 22.04
- Passthrough Physical Disk to Virtual Machine (VM)
- How to install and configure Grafana on CentOS 9 or 10 or 11′
- How to install Haproxy and Traefik on Proxmox VM with CentOS 9, 10, 11
- Proxmox Maintenance Script: Automate Updates and Reboots
- How to Install and Configure iRedMail on CentOS 9, 10, or 11
Information reviewed and updated: August 28, 2026.
Published by: REVOLD BLOG – blog.revold.us
Powered by AIR RISE INC & REVOLD AI
Sponsored: CORPIUS
Author: Roman Kravchina


